From 06d4ea68085558b94d8e9c937091e7b7fcc5d95a Mon Sep 17 00:00:00 2001 From: marha Date: Thu, 20 Sep 2012 08:18:11 +0200 Subject: libxcb xserver pixman mesa git update 20 sep 2012 libxcb: 08cc068ead7b8e678cdb119b38ada5261d5cc3ea xserver: 70e5766874a919039678bb2ed75f2ccea0cb4345 pixman: 3124a51abb89475b8c5045bc96e04c5852694a16 mesa: bd8fb9e80562fbe0ff76cae50fc411635096f3a9 --- xorg-server/hw/xfree86/common/xf86Bus.c | 4 ++++ xorg-server/hw/xfree86/common/xf86platformBus.c | 6 +++++- xorg-server/hw/xfree86/modes/xf86Crtc.c | 3 ++- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'xorg-server/hw/xfree86') diff --git a/xorg-server/hw/xfree86/common/xf86Bus.c b/xorg-server/hw/xfree86/common/xf86Bus.c index 6de8409fc..4ffbf7e46 100644 --- a/xorg-server/hw/xfree86/common/xf86Bus.c +++ b/xorg-server/hw/xfree86/common/xf86Bus.c @@ -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(); diff --git a/xorg-server/hw/xfree86/common/xf86platformBus.c b/xorg-server/hw/xfree86/common/xf86platformBus.c index 24b947326..0525e39bc 100644 --- a/xorg-server/hw/xfree86/common/xf86platformBus.c +++ b/xorg-server/hw/xfree86/common/xf86platformBus.c @@ -213,11 +213,12 @@ xf86platformProbe(void) int i; Bool pci = TRUE; + config_odev_probe(xf86PlatformDeviceProbe); + if (!xf86scanpci()) { pci = FALSE; } - config_odev_probe(&xf86PlatformDeviceProbe); for (i = 0; i < xf86_num_platform_devices; i++) { char *busid = xf86_get_platform_attrib(i, ODEV_ATTRIB_BUSID); @@ -358,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; diff --git a/xorg-server/hw/xfree86/modes/xf86Crtc.c b/xorg-server/hw/xfree86/modes/xf86Crtc.c index e3eaf5f4c..177f7ac11 100644 --- a/xorg-server/hw/xfree86/modes/xf86Crtc.c +++ b/xorg-server/hw/xfree86/modes/xf86Crtc.c @@ -66,6 +66,7 @@ xf86CrtcConfigInit(ScrnInfoPtr scrn, const xf86CrtcConfigFuncsRec * funcs) config = xnfcalloc(1, sizeof(xf86CrtcConfigRec)); config->funcs = funcs; + config->compat_output = -1; scrn->privates[xf86CrtcConfigPrivateIndex].ptr = config; } @@ -1841,7 +1842,7 @@ SetCompatOutput(xf86CrtcConfigPtr config) if (compat >= 0) { config->compat_output = compat; } - else { + else if (config->compat_output >= 0 && config->compat_output < config->num_output) { /* Don't change the compat output when no valid outputs found */ output = config->output[config->compat_output]; } -- cgit v1.2.3