[RFC 00/19] drm/edid: overhaul CEA data block iteration

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Mar 23 16:38:25 UTC 2022


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 at linux.intel.com>

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@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

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list