> From: Dave Airlie <[email protected]> > Date: Tue, 17 Nov 2015 10:23:37 +1000 > > From: Dave Airlie <[email protected]> > > Totally untested, cross fingers hope it works.
Seems that does the trick. > Signed-off-by: Dave Airlie <[email protected]> > --- > hw/xfree86/drivers/modesetting/driver.c | 25 +++++++++++++++++++++---- > 1 file changed, 21 insertions(+), 4 deletions(-) > > diff --git a/hw/xfree86/drivers/modesetting/driver.c > b/hw/xfree86/drivers/modesetting/driver.c > index 2ca65fb..49a2925 100644 > --- a/hw/xfree86/drivers/modesetting/driver.c > +++ b/hw/xfree86/drivers/modesetting/driver.c > @@ -454,13 +454,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) { > @@ -470,6 +469,24 @@ Probe(DriverPtr drv, int flags) > > xf86DrvMsg(scrn->scrnIndex, X_INFO, > "using %s\n", dev ? dev : "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); > + } > } > } > > -- > 2.4.3 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
