Another step deeper into the EDID rabbit hole. v7 of [1], with a bunch of stuff added regarding display info and modes parsing. Primarily separating them to two distinct steps. To do that cleanly, we need a bunch of refactors. This should clean up any inconsistent states with add modes modifying the display info. And generally make the code neater. There are also a couple of bug fixes first. BR, Jani. [1] https://patchwork.freedesktop.org/series/112014/ Jani Nikula (22): drm/edid: fix AVI infoframe aspect ratio handling drm/edid: fix parsing of 3D modes from HDMI VSDB drm/edid: parse VICs from CTA VDB early drm/edid: Use the pre-parsed VICs drm/edid: use VIC in AVI infoframe if sink lists it in CTA VDB drm/edid: rename struct drm_display_info *display to *info drm/edid: refactor CTA Y420CMDB parsing drm/edid: split CTA Y420VDB info and mode parsing drm/edid: fix and clarify HDMI VSDB audio latency parsing drm/edid: add helper for HDMI VSDB audio latency field length drm/edid: split HDMI VSDB info and mode parsing drm/edid: store quirks in display info drm/edid: stop passing quirks around drm/edid: merge ELD handling to update_display_info() drm/edid: move EDID BPC quirk application to update_display_info() drm/edid: refactor _drm_edid_connector_update() and rename drm/edid: add separate drm_edid_connector_add_modes() drm/edid: remove redundant _drm_connector_update_edid_property() drm/i915/edid: convert DP, HDMI and LVDS to drm_edid drm/i915/bios: convert intel_bios_init_panel() to drm_edid drm/i915/opregion: convert intel_opregion_get_edid() to struct drm_edid drm/i915/panel: move panel fixed EDID to struct intel_panel drivers/gpu/drm/drm_connector.c | 1 + drivers/gpu/drm/drm_edid.c | 554 ++++++++++-------- drivers/gpu/drm/drm_probe_helper.c | 4 +- drivers/gpu/drm/i915/display/icl_dsi.c | 2 +- drivers/gpu/drm/i915/display/intel_bios.c | 23 +- drivers/gpu/drm/i915/display/intel_bios.h | 4 +- .../gpu/drm/i915/display/intel_connector.c | 5 +- .../drm/i915/display/intel_display_types.h | 8 +- drivers/gpu/drm/i915/display/intel_dp.c | 91 +-- drivers/gpu/drm/i915/display/intel_dvo.c | 2 +- drivers/gpu/drm/i915/display/intel_hdmi.c | 28 +- drivers/gpu/drm/i915/display/intel_lvds.c | 51 +- drivers/gpu/drm/i915/display/intel_opregion.c | 29 +- drivers/gpu/drm/i915/display/intel_opregion.h | 4 +- drivers/gpu/drm/i915/display/intel_panel.c | 10 +- drivers/gpu/drm/i915/display/intel_panel.h | 4 +- drivers/gpu/drm/i915/display/intel_sdvo.c | 2 +- drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +- include/drm/drm_connector.h | 18 +- include/drm/drm_edid.h | 2 + 20 files changed, 488 insertions(+), 356 deletions(-) -- 2.34.1