> 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

Reply via email to