config: fix GPUDevice fail when AutoAddGPU off + BusID
This fix is for the following xorg.conf can work:
Section "ServerFlags"
Option "AutoAddGPU" "off"
EndSection
Section "Device"
Identifier "Amd"
Driver "ati"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Intel"
Driver "modesetting"
BusID "pci:0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Intel"
GPUDevice "Amd"
EndSection
Without AutoAddGPU off, modesetting DDX will also be loaded
for GPUDevice.
Signed-off-by: Qiang Yu <Qiang.Yu@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
ca8d88e503
commit
ea91db4b83
|
|
@ -426,6 +426,19 @@ probeSingleDevice(struct xf86_platform_device *dev, DriverPtr drvp, GDevPtr gdev
|
||||||
return foundScreen;
|
return foundScreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
isGPUDevice(GDevPtr gdev)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < gdev->myScreenSection->num_gpu_devices; i++) {
|
||||||
|
if (gdev == gdev->myScreenSection->gpu_devices[i])
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
xf86platformProbeDev(DriverPtr drvp)
|
xf86platformProbeDev(DriverPtr drvp)
|
||||||
{
|
{
|
||||||
|
|
@ -458,9 +471,8 @@ xf86platformProbeDev(DriverPtr drvp)
|
||||||
if (j == xf86_num_platform_devices)
|
if (j == xf86_num_platform_devices)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
foundScreen = probeSingleDevice(&xf86_platform_devices[j], drvp, devList[i], 0);
|
foundScreen = probeSingleDevice(&xf86_platform_devices[j], drvp, devList[i],
|
||||||
if (!foundScreen)
|
isGPUDevice(devList[i]) ? PLATFORM_PROBE_GPU_SCREEN : 0);
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if autoaddgpu devices is enabled then go find any unclaimed platform
|
/* if autoaddgpu devices is enabled then go find any unclaimed platform
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue