xf86: fix multi-seat video device support. (v2)
If we are not seat 0 the following apply: don't probe any bus other than platform don't probe any drivers other than platform assume the first platform device we match on the bus is the primary GPU. This just adds checks in the correct places to ensure this, and with this X can now start on a secondary seat for an output device. v2: fix Seat0 macros Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
37d956e3ac
commit
70e5766874
|
@ -81,6 +81,8 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only)
|
|||
if (drv->platformProbe != NULL) {
|
||||
foundScreen = xf86platformProbeDev(drv);
|
||||
}
|
||||
if (ServerIsNotSeat0())
|
||||
return foundScreen;
|
||||
#endif
|
||||
|
||||
#ifdef XSERVER_LIBPCIACCESS
|
||||
|
@ -214,6 +216,8 @@ xf86BusProbe(void)
|
|||
{
|
||||
#ifdef XSERVER_PLATFORM_BUS
|
||||
xf86platformProbe();
|
||||
if (ServerIsNotSeat0())
|
||||
return;
|
||||
#endif
|
||||
#ifdef XSERVER_LIBPCIACCESS
|
||||
xf86PciProbe();
|
||||
|
|
|
@ -359,6 +359,9 @@ xf86platformProbeDev(DriverPtr drvp)
|
|||
break;
|
||||
}
|
||||
else {
|
||||
/* for non-seat0 servers assume first device is the master */
|
||||
if (ServerIsNotSeat0())
|
||||
break;
|
||||
if (xf86_platform_devices[j].pdev) {
|
||||
if (xf86IsPrimaryPlatform(&xf86_platform_devices[j]))
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue
Block a user