mbox series

[v7,00/22] drm/edid: info & modes parsing and drm_edid refactors

Message ID cover.1672826282.git.jani.nikula@intel.com (mailing list archive)
Headers show
Series drm/edid: info & modes parsing and drm_edid refactors | expand

Message

Jani Nikula Jan. 4, 2023, 10:05 a.m. UTC
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(-)