All of lore.kernel.org
 help / color / mirror / Atom feed
* [Nouveau] [PATCH v1 00/13] drm/edid: expand on struct drm_edid usage
@ 2022-05-24 10:39 ` Jani Nikula
  0 siblings, 0 replies; 58+ messages in thread
From: Jani Nikula @ 2022-05-24 10:39 UTC (permalink / raw)
  To: dri-devel, intel-gfx
  Cc: amd-gfx, Daniel Vetter, Neil Armstrong, jani.nikula, Robert Foss,
	Xinhui Pan, Maarten Lankhorst, Maxime Ripard, Adam Jackson,
	Ben Skeggs, Andrzej Hajda, Alex Deucher, Dave Airlie, nouveau,
	Harry Wentland, Christian König, ville.syrjala,
	Laurent Pinchart

Hey all, I'm adding a bunch of people to the cover letter, sorry for the
noise.

I've been putting a lot of effort lately into cleaning up our EDID
parsing. It's been long overdue. Here, we finally leverage all that prep
work to implement the HDMI Forum HF-EEODB extension. In short, HF-EEODB
lets an EDID extension override the number of extensions indicated in
the base block. That has a lot of implications when it comes to EDID
parsing and memory allocation that is currently spread around the
subsystem.

I've added the opaque struct drm_edid in commit e4ccf9a777d3 ("drm/edid:
add struct drm_edid container"). The commit message is worth a
read. Here, I'm expanding struct drm_edid to the interfaces for EDID
reading and parsing. They all get an overhaul, along with the probe
helper .get_modes() hook.

In my mind, there is really no alternative to centralizing the EDID
parsing, and hiding the details in drm_edid.c.

I'm also adding a TODO entry; there's still a bunch of work to be done
across the subsystem.


BR,
Jani.


Cc: Adam Jackson <ajax@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Xinhui Pan <Xinhui.Pan@amd.com>
Cc: amd-gfx@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org

Jani Nikula (13):
  drm/edid: add block count and data helper functions for drm_edid
  drm/edid: keep track of alloc size in drm_do_get_edid()
  drm/edid: add new interfaces around struct drm_edid
  drm/edid: add drm_edid_connector_update()
  drm/probe-helper: abstract .get_modes() connector helper call
  drm/probe-helper: make .get_modes() optional, add default action
  drm/probe-helper: add .get_edid() callback
  drm/edid: add drm_edid_raw() to access the raw EDID data
  drm/i915/edid: convert DP, HDMI and LVDS to drm_edid
  drm/edid: do invalid block filtering in-place
  drm/edid: add HF-EEODB support to EDID read and allocation
  drm/edid: take HF-EEODB extension count into account
  drm/todo: add entry for converting the subsystem to struct drm_edid

 Documentation/gpu/todo.rst                    |  25 +
 drivers/gpu/drm/drm_connector.c               |   2 +
 drivers/gpu/drm/drm_edid.c                    | 538 ++++++++++++++++--
 drivers/gpu/drm/drm_probe_helper.c            |  48 +-
 .../gpu/drm/i915/display/intel_connector.c    |   4 +-
 .../drm/i915/display/intel_display_types.h    |   4 +-
 drivers/gpu/drm/i915/display/intel_dp.c       |  72 +--
 drivers/gpu/drm/i915/display/intel_hdmi.c     |  26 +-
 drivers/gpu/drm/i915/display/intel_lvds.c     |  35 +-
 include/drm/drm_edid.h                        |  12 +
 include/drm/drm_modeset_helper_vtables.h      |  19 +
 11 files changed, 650 insertions(+), 135 deletions(-)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2022-06-07 19:52 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-24 10:39 [Nouveau] [PATCH v1 00/13] drm/edid: expand on struct drm_edid usage Jani Nikula
2022-05-24 10:39 ` Jani Nikula
2022-05-24 10:39 ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` Jani Nikula
2022-05-24 10:39 ` [PATCH v1 01/13] drm/edid: add block count and data helper functions for drm_edid Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 13:29   ` Andrzej Hajda
2022-05-24 13:41     ` Jani Nikula
2022-06-02 16:54   ` Ville Syrjälä
2022-06-02 16:54     ` [Intel-gfx] " Ville Syrjälä
2022-06-02 17:08     ` Jani Nikula
2022-06-02 17:08       ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 02/13] drm/edid: keep track of alloc size in drm_do_get_edid() Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 03/13] drm/edid: add new interfaces around struct drm_edid Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 04/13] drm/edid: add drm_edid_connector_update() Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-06-02 17:09   ` Ville Syrjälä
2022-06-02 17:09     ` [Intel-gfx] " Ville Syrjälä
2022-05-24 10:39 ` [PATCH v1 05/13] drm/probe-helper: abstract .get_modes() connector helper call Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 06/13] drm/probe-helper: make .get_modes() optional, add default action Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-06-02 17:14   ` Ville Syrjälä
2022-06-02 17:14     ` [Intel-gfx] " Ville Syrjälä
2022-06-07 11:14     ` Jani Nikula
2022-06-07 11:14       ` [Intel-gfx] " Jani Nikula
2022-06-07 19:43       ` Ville Syrjälä
2022-06-07 19:43         ` [Intel-gfx] " Ville Syrjälä
2022-05-24 10:39 ` [PATCH v1 07/13] drm/probe-helper: add .get_edid() callback Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 08/13] drm/edid: add drm_edid_raw() to access the raw EDID data Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 09/13] drm/i915/edid: convert DP, HDMI and LVDS to drm_edid Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 10/13] drm/edid: do invalid block filtering in-place Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 11/13] drm/edid: add HF-EEODB support to EDID read and allocation Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-06-03 17:13   ` Ville Syrjälä
2022-06-03 17:13     ` [Intel-gfx] " Ville Syrjälä
2022-06-07 11:26     ` Jani Nikula
2022-06-07 11:26       ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 12/13] drm/edid: take HF-EEODB extension count into account Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 10:39 ` [PATCH v1 13/13] drm/todo: add entry for converting the subsystem to struct drm_edid Jani Nikula
2022-05-24 10:39   ` [Intel-gfx] " Jani Nikula
2022-05-24 11:02 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: expand on struct drm_edid usage Patchwork
2022-05-24 11:02 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-05-24 11:34 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-05-24 11:37   ` Jani Nikula
2022-05-24 11:41     ` Sarvela, Tomi P
2022-05-25  8:48       ` Jani Nikula
2022-05-24 15:58 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/edid: expand on struct drm_edid usage (rev2) Patchwork
2022-05-24 15:58 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-05-24 19:58 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-05-24 22:25 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.