diff options
author | Ilija Hadzic <ihadzic@research.bell-labs.com> | 2012-09-24 17:19:09 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2012-11-03 19:02:21 -0400 |
commit | 20bfc652ce40008ea561db2984bccf137409c7fd (patch) | |
tree | 5195120984b12a96a3a23730b41826eb293964c3 /src/radeon_probe.c | |
parent | b2807b53083af5db0b85645666b0127be16623c7 (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/radeon_probe.c')
-rw-r--r-- | src/radeon_probe.c | 2 |
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)) |