On Mon, Mar 6, 2017 at 5:02 AM, Michel Dänzer <michel at daenzer.net> wrote: > From: Hans De Goede <hdegoede at redhat.com> > > This fixes the xserver only seeing AMD/ATI devices supported by the amdgpu > driver, as by the time xf86-video-ati gets a chance to probe them, the > fd has been closed. > > This fixes e.g. Xorg not seeing the dGPU on a Lenovo Thinkpad E465 laptop > with a CARRIZO iGPU and a HAINAN dGPU. > > Signed-off-by: Hans de Goede <hdegoede at redhat.com> > > v2: Rebased on top of new patch 1. > Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> Series is: Reviewed-by: Alex Deucher at amd.com> > --- > src/amdgpu_probe.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/src/amdgpu_probe.c b/src/amdgpu_probe.c > index fc93ac6a2..fb62cb811 100644 > --- a/src/amdgpu_probe.c > +++ b/src/amdgpu_probe.c > @@ -166,7 +166,7 @@ static Bool amdgpu_open_drm_master(ScrnInfoPtr pScrn, AMDGPUEntPtr pAMDGPUEnt, > if (err != 0) { > xf86DrvMsg(pScrn->scrnIndex, X_ERROR, > "[drm] failed to set drm interface version.\n"); > - drmClose(pAMDGPUEnt->fd); > + amdgpu_kernel_close_fd(pAMDGPUEnt); > return FALSE; > } > > @@ -254,7 +254,7 @@ static Bool amdgpu_get_scrninfo(int entity_num, struct pci_device *pci_dev) > return TRUE; > > error_amdgpu: > - drmClose(pAMDGPUEnt->fd); > + amdgpu_kernel_close_fd(pAMDGPUEnt); > error_fd: > free(pPriv->ptr); > error: > @@ -349,6 +349,7 @@ amdgpu_platform_probe(DriverPtr pDriver, > > pPriv->ptr = xnfcalloc(sizeof(AMDGPUEntRec), 1); > pAMDGPUEnt = pPriv->ptr; > + pAMDGPUEnt->platform_dev = dev; > pAMDGPUEnt->fd = amdgpu_kernel_open_fd(pScrn, busid, dev); > if (pAMDGPUEnt->fd < 0) > goto error_fd; > @@ -367,7 +368,6 @@ amdgpu_platform_probe(DriverPtr pDriver, > pAMDGPUEnt = pPriv->ptr; > pAMDGPUEnt->fd_ref++; > } > - pAMDGPUEnt->platform_dev = dev; > > xf86SetEntityInstanceForScreen(pScrn, pEnt->index, > xf86GetNumEntityInstances(pEnt-> > @@ -379,7 +379,7 @@ amdgpu_platform_probe(DriverPtr pDriver, > return TRUE; > > error_amdgpu: > - drmClose(pAMDGPUEnt->fd); > + amdgpu_kernel_close_fd(pAMDGPUEnt); > error_fd: > free(pPriv->ptr); > error: > -- > 2.11.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx