On Tue, Mar 22, 2022 at 11:40:29PM +0200, Jani Nikula wrote: > 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. ;) Despite that it's now Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Left a few minor comments here and there. > > 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@xxxxxxxxx > > > Cc: Shawn C Lee <shawn.c.lee@xxxxxxxxx> > Cc: Cooper Chiou <cooper.chiou@xxxxxxxxx> > Cc: william.tseng@xxxxxxxxx > Cc: ankit.k.nautiyal@xxxxxxxxx > Cc: ville.syrjala@xxxxxxxxxxxxxxx > Cc: Drew Davenport <ddavenport@xxxxxxxxxxxx> > > 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 -- Ville Syrjälä Intel