-next queue and EDID stuff
Adam Jackson
ajax at redhat.com
Wed Aug 29 14:38:42 PDT 2012
On 8/29/12 3:53 PM, Ian Pilcher wrote:
> Thinking a bit more about this, I'm starting to rethink my assertion
> that the Intel driver is at fault here. On one hand, it doesn't make
> any sense to send audio InfoFrames to a non-HDMI display. (BTW, I'm
> assuming that a display with a DisplayPort port will show up as HDMI.)
Nope.
If you connect to the DP port on a monitor, it will claim to be DP: the
EDID block version will be 1.4, and the digital display feature byte
will indicate that it's DP:
http://cgit.freedesktop.org/xorg/app/edid-decode/tree/edid-decode.c#n1145
If you connect to the HDMI port on a monitor, it will claim to be HDMI:
the EDID block version will be 1.3 or higher, there will be a CEA
extension block, and there will be a vendor-specific data block within
that extension with a vendor OUI matching that of the HDMI consortium:
http://cgit.freedesktop.org/xorg/app/edid-decode/tree/edid-decode.c#n640
> On the other hand, it can be argued that the DRM layer is giving
> conflicting information to the driver -- drm_detect_hdmi_monitor is
> returning FALSE, but drm_detect_monitor_audio is returning TRUE. AFAIK,
> this doesn't make any sense either.
This might be the actual issue. drm_detect_monitor_audio() can return
true for several reasons, but it does _not_ make any claim that the
monitor is HDMI, only that it has a CEA extension block. Which is
certainly ugly, but that's how CEA defined their botch of an extension
block.
So to me, that says that drivers need to ask _both_ whether the monitor
supports audio and whether it's HDMI before sending HDMI-specific audio
signalling.
- ajax
More information about the dri-devel
mailing list