20.09.2014 06:06, David Henningsson wrote:
From the audio driver's point of view, if you have 1 audio pin, then that's one display. Presence detect, as well as ELD information, should reflect the status of that one display.
How to multiplex that against several audio capable monitors is tricky, but it's something you have to solve on the video driver side. I'm not sure how other video drivers have solved that, or if AMD/ATI is the only manufacturer who has cards with this hw design (i e fewer audio pins than audio capable outputs).
A similar problem exists for Intel on Haswell, and here is how they solved it.
They have three HDMI outputs, but only two audio pins. Audio can be routed to any two of the three connected monitors. This is done by opening the following PCMs: hdmi:0,0, hdmi:0,1 and hdmi:0,2, with 1:1 correspondence to the physical outputs. I.e. the driver pretends that there are three subdevices. However, only two of them (any two) can be opened simultaneously. The third one gives -EBUSY on attempts to open it.