xserver: Branch 'master' - 2 commits
Dave Airlie
airlied at kemper.freedesktop.org
Sun Dec 6 17:21:00 PST 2015
hw/xfree86/drivers/modesetting/driver.c | 55 +++++++++++++++-----------------
hw/xfree86/drivers/modesetting/driver.h | 3 -
2 files changed, 26 insertions(+), 32 deletions(-)
New commits:
commit 548a3d5fd69bb059bbaf26ededdc94c212712cd7
Author: Dave Airlie <airlied at gmail.com>
Date: Mon Nov 16 09:05:27 2015 +1000
modesetting: create entities for pci and old probe. (v2)
This moves the code from the platform case into
a common function, and calls that from the
other two.
v2: Emil convinced me we don't need to lookup pEnt
here, so let's not bother.
Reported-by: Mark Kettenis <mark.kettenis at xs4all.nl>
Reviewed-by: Mark Kettenis <kettenis at openbsd.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>
diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
index 00f966c..e53d3d4 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -330,6 +330,25 @@ ms_setup_scrn_hooks(ScrnInfoPtr scrn)
scrn->ValidMode = ValidMode;
}
+static void
+ms_setup_entity(ScrnInfoPtr scrn, int entity_num)
+{
+ DevUnion *pPriv;
+
+ xf86SetEntitySharable(entity_num);
+
+ if (ms_entity_index == -1)
+ ms_entity_index = xf86AllocateEntityPrivateIndex();
+
+ pPriv = xf86GetEntityPrivate(entity_num,
+ ms_entity_index);
+
+ xf86SetEntityInstanceForScreen(scrn, entity_num, xf86GetNumEntityInstances(entity_num) - 1);
+
+ if (!pPriv->ptr)
+ pPriv->ptr = xnfcalloc(sizeof(modesettingEntRec), 1);
+}
+
#if XSERVER_LIBPCIACCESS
static Bool
ms_pci_probe(DriverPtr driver,
@@ -353,6 +372,8 @@ ms_pci_probe(DriverPtr driver,
dev->bus, dev->domain, dev->dev, dev->func);
xf86DrvMsg(scrn->scrnIndex, X_INFO,
"using %s\n", devpath ? devpath : "default device");
+
+ ms_setup_entity(scrn, entity_num);
}
else
scrn = NULL;
@@ -385,25 +406,7 @@ ms_platform_probe(DriverPtr driver,
xf86DrvMsg(scrn->scrnIndex, X_INFO,
"using drv %s\n", path ? path : "default device");
- {
- DevUnion *pPriv;
- EntityInfoPtr pEnt;
-
- xf86SetEntitySharable(entity_num);
-
- if (ms_entity_index == -1)
- ms_entity_index = xf86AllocateEntityPrivateIndex();
-
- pEnt = xf86GetEntityInfo(entity_num);
- pPriv = xf86GetEntityPrivate(pEnt->index,
- ms_entity_index);
-
- xf86SetEntityInstanceForScreen(scrn, pEnt->index, xf86GetNumEntityInstances(pEnt->index) - 1);
-
- if (!pPriv->ptr)
- pPriv->ptr = xnfcalloc(sizeof(modesettingEntRec), 1);
- }
-
+ ms_setup_entity(scrn, entity_num);
}
return scrn != NULL;
@@ -432,13 +435,12 @@ Probe(DriverPtr drv, int flags)
}
for (i = 0; i < numDevSections; i++) {
-
+ int entity_num;
dev = xf86FindOptionValue(devSections[i]->options, "kmsdev");
if (probe_hw(dev, NULL)) {
- int entity;
- entity = xf86ClaimFbSlot(drv, 0, devSections[i], TRUE);
- scrn = xf86ConfigFbEntity(scrn, 0, entity, NULL, NULL, NULL, NULL);
+ entity_num = xf86ClaimFbSlot(drv, 0, devSections[i], TRUE);
+ scrn = xf86ConfigFbEntity(scrn, 0, entity_num, NULL, NULL, NULL, NULL);
}
if (scrn) {
@@ -448,6 +450,7 @@ Probe(DriverPtr drv, int flags)
xf86DrvMsg(scrn->scrnIndex, X_INFO,
"using %s\n", dev ? dev : "default device");
+ ms_setup_entity(scrn, entity_num);
}
}
commit 771016f0705909c908917b4ccaeafc950ba93c05
Author: Dave Airlie <airlied at gmail.com>
Date: Mon Nov 16 09:05:26 2015 +1000
modesetting: drop platform_dev pointer.
This isn't used anywhere, so no point storing it until we need it.
Reviewed-by: Mark Kettenis <kettenis at openbsd.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>
diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
index 80abcdf..00f966c 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -388,7 +388,6 @@ ms_platform_probe(DriverPtr driver,
{
DevUnion *pPriv;
EntityInfoPtr pEnt;
- modesettingEntPtr pMSEnt;
xf86SetEntitySharable(entity_num);
@@ -401,13 +400,8 @@ ms_platform_probe(DriverPtr driver,
xf86SetEntityInstanceForScreen(scrn, pEnt->index, xf86GetNumEntityInstances(pEnt->index) - 1);
- if (!pPriv->ptr) {
+ if (!pPriv->ptr)
pPriv->ptr = xnfcalloc(sizeof(modesettingEntRec), 1);
- pMSEnt = pPriv->ptr;
- } else {
- pMSEnt = pPriv->ptr;
- }
- pMSEnt->platform_dev = dev;
}
}
diff --git a/hw/xfree86/drivers/modesetting/driver.h b/hw/xfree86/drivers/modesetting/driver.h
index 14137c1..5e1c5d9 100644
--- a/hw/xfree86/drivers/modesetting/driver.h
+++ b/hw/xfree86/drivers/modesetting/driver.h
@@ -61,9 +61,6 @@ typedef struct
unsigned long fd_wakeup_registered; /* server generation for which fd has been registered for wakeup handling */
int fd_wakeup_ref;
unsigned int assigned_crtcs;
-#ifdef XSERVER_PLATFORM_BUS
- struct xf86_platform_device *platform_dev;
-#endif
} modesettingEntRec, *modesettingEntPtr;
typedef void (*ms_drm_handler_proc)(uint64_t frame,
More information about the xorg-commit
mailing list