Hello all,

As I've continued to understand more of drm_edid as a newbie, I noticed
that in drm_parse_cea_ext, the CTA_DB_SPEAKER tag is unhandled in the
chain of CEA data block parsing. (This is drm_edid.c)

I see that in a few other functions, CTA_DB_SPEAKER is handled, like in
drm_edid_to_eld and drm_edid_to_speaker_allocation. However, the latter
is apparently used for legacy interfaces, and the former is just
defining a pointer in the ELD to the data block.

drm_edid_to_speaker_allocation is in amdgpu and radeon drivers.
In amdgpu_dm_helpers.c, that function is used in the
dm_helpers_parse_edid_caps helper to parse edid capabilities.

The reason I'm mentioning all of this is because, unless I'm looking
at the wrong information, the SADB contains info about where the
speakers are in the device, which seem to be unparsed. Is it worth
trying to implement support for parsing this?

Alternatively, perhaps in drm_parse_cea_ext we also set the display
info's "has_audio" field to "true" on CTA_DB_SPEAKER, like it currently
does for CTA_DB_AUDIO.

I know eventually, after drm_parse_cea_ext, drm_edid_to_eld is called,
but for the sake of "completeness" we may be missing it :)


Thanks,
Josh

Reply via email to