[RFC 00/19] drm/edid: overhaul CEA data block iteration
Jani Nikula
jani.nikula at intel.com
Tue Mar 22 21:40:29 UTC 2022
Add iterators for EDID blocks and CEA data blocks, to iterate through
all data blocks across all CEA extensions and CTA blocks in DisplayID
data blocks. Fix all code assuming only one CEA extension. Fix code
assuming CTA blocks contain everything that CEA extensions do. Sprinkle
a bunch of cleanups on top.
This is completely UNTESTED, didn't even smoke test it. It builds. ;)
This superseeds parts of [1] and [2].
BR,
Jani.
[1] https://patchwork.freedesktop.org/series/101241/
[2] https://patchwork.freedesktop.org/patch/msgid/20220321044330.27723-1-cooper.chiou@intel.com
Cc: Shawn C Lee <shawn.c.lee at intel.com>
Cc: Cooper Chiou <cooper.chiou at intel.com>
Cc: william.tseng at intel.com
Cc: ankit.k.nautiyal at intel.com
Cc: ville.syrjala at linux.intel.com
Cc: Drew Davenport <ddavenport at chromium.org>
Jani Nikula (19):
drm/edid: add drm_edid_extension_block_count() and drm_edid_size()
drm: use drm_edid_extension_block_count() and drm_edid_size()
drm/edid: clean up CEA data block tag definitions
drm/edid: add iterator for EDID base and extension blocks
drm/edid: add iterator for CEA data blocks
drm/edid: clean up cea_db_is_*() functions
drm/edid: convert add_cea_modes() to use cea db iter
drm/edid: convert drm_edid_to_speaker_allocation() to use cea db iter
drm/edid: convert drm_edid_to_sad() to use cea db iter
drm/edid: convert drm_detect_hdmi_monitor() to use cea db iter
drm/edid: convert drm_detect_monitor_audio() to use cea db iter
drm/edid: convert drm_parse_cea_ext() to use cea db iter
drm/edid: convert drm_edid_to_eld() to use cea db iter
drm/edid: sunset the old unused cea data block iterators
drm/edid: restore some type safety to cea_db_*() functions
drm/edid: detect basic audio only on CEA extension
drm/edid: detect color formats and CEA revision only on CEA extension
drm/edid: skip CEA extension scan in drm_edid_to_eld() just for CEA
rev
drm/edid: sunset drm_find_cea_extension()
drivers/gpu/drm/drm_connector.c | 2 +-
drivers/gpu/drm/drm_debugfs.c | 3 +-
drivers/gpu/drm/drm_edid.c | 781 ++++++++++++++++++--------------
include/drm/drm_edid.h | 2 +
4 files changed, 455 insertions(+), 333 deletions(-)
--
2.30.2
More information about the dri-devel
mailing list