diff options
author | Mario Kleiner <mario.kleiner.de@gmail.com> | 2015-06-10 20:55:08 +0200 |
---|---|---|
committer | Michel Dänzer <michel.daenzer@amd.com> | 2015-06-11 12:22:16 +0900 |
commit | afab7839fc15722dbaa7203d00fe7f6ce5336b9d (patch) | |
tree | 92eb5131eee7106cb9ea70d284b54e7b031ae9a9 /src/radeon_probe.h | |
parent | d7c82731a8bf3d381bc571b94d80d9bb2dd6e40d (diff) |
Allow/Fix use of multiple ZaphodHead outputs per x-screen. (v2)
Defining multiple ZaphodHead outputs per x-screen in a
multiple x-screen's per gpu configuration caused all
outputs except one per x-screen to go dark, because
there was a fixed mapping x-screen number -> crtc number,
limiting the number of crtc's per x-screen to one.
On a ZaphodHead's setup, be more clever and assign
as many crtc's to a given x-screen as there are
ZaphodHeads defined for that screen, assuming
there are enough unused crtc's available.
Tested on a triple display setup with different combos
of one, two or three ZaphodHeads per one, two or three
x-screens.
This is a port of similar code from xf86-video-nouveau.
v2: Implement suggestions by Michel Dänzer: Less verbose
debug output, more clear warning message on crtc allocation
failure. Move clearing of per gpu assigned_crtc mask to
CloseScreen, indeed testing shows no need for the more
complex new server generation check from v1.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
(v1) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Diffstat (limited to 'src/radeon_probe.h')
-rw-r--r-- | src/radeon_probe.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/radeon_probe.h b/src/radeon_probe.h index 3fe4644c..958cb23b 100644 --- a/src/radeon_probe.h +++ b/src/radeon_probe.h @@ -142,6 +142,7 @@ typedef struct int fd_ref; unsigned long fd_wakeup_registered; /* server generation for which fd has been registered for wakeup handling */ int fd_wakeup_ref; + unsigned int assigned_crtcs; #ifdef XSERVER_PLATFORM_BUS struct xf86_platform_device *platform_dev; #endif |