summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIlija Hadzic <ihadzic@research.bell-labs.com>2012-09-24 17:19:09 -0400
committerAlex Deucher <alexdeucher@gmail.com>2012-11-03 19:02:21 -0400
commit20bfc652ce40008ea561db2984bccf137409c7fd (patch)
tree5195120984b12a96a3a23730b41826eb293964c3 /src
parentb2807b53083af5db0b85645666b0127be16623c7 (diff)
radeon/radeon_platform_probe: fix Zaphod mode breakage
Using radeon_platform_probe function breaks the Zaphod mode because it attempts to call xf86AddEntityToScreen multiple times, but nobody calls xf86SetEntityShared prior to that. Consequently, calls for all but first device instance fail. Prior to introduction of platform bus, the logic was that the Probe function would make the entity sharable, which would cause Xserver to later make it shared prior to adding it to screen. With the platform bus loading, add to screen happens in the probe function so we have to make it shared there. v2: do not make the entity shared if it was not previously marked sharable. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=56680 https://bugs.freedesktop.org/show_bug.cgi?id=56663 Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Diffstat (limited to 'src')
-rw-r--r--src/radeon_probe.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/radeon_probe.c b/src/radeon_probe.c
index b1471af0..25333570 100644
--- a/src/radeon_probe.c
+++ b/src/radeon_probe.c
@@ -278,6 +278,8 @@ radeon_platform_probe(DriverPtr pDriver,
scr_flags = XF86_ALLOCATE_GPU_SCREEN;
pScrn = xf86AllocateScreen(pDriver, scr_flags);
+ if (xf86IsEntitySharable(entity_num))
+ xf86SetEntityShared(entity_num);
xf86AddEntityToScreen(pScrn, entity_num);
if (!radeon_kernel_mode_enabled(pScrn, dev->pdev))