summaryrefslogtreecommitdiff
path: root/src/radeon_probe.h
diff options
context:
space:
mode:
authorMario Kleiner <mario.kleiner.de@gmail.com>2015-06-10 20:55:08 +0200
committerMichel Dänzer <michel.daenzer@amd.com>2015-06-11 12:22:16 +0900
commitafab7839fc15722dbaa7203d00fe7f6ce5336b9d (patch)
tree92eb5131eee7106cb9ea70d284b54e7b031ae9a9 /src/radeon_probe.h
parentd7c82731a8bf3d381bc571b94d80d9bb2dd6e40d (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.h1
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