mbox series

[v2,0/7] drm/amd: Switch over to struct drm_edid

Message ID 20241112-amdgpu-drm_edid-v2-0-1399dc0f0469@weissschuh.net (mailing list archive)
Headers show
Series drm/amd: Switch over to struct drm_edid | expand

Message

Thomas Weißschuh Nov. 12, 2024, 6:34 p.m. UTC
The AMD DRM drivers use 'struct edid', raw pointers and even custom
structs to represent EDID data.
Uniformly switch to the safe and recommended "struct drm_edid".

Some uses of "struct edid" are left because some ad-hoc parsing is still
being done inside the drivers.

Patches 1 and 2 delete some dead code.
The remaining patches perform the actual conversion in steps.

If some patches are already acceptable as they are, I'd be happy for
those to be picked up from the series.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v2:
- Remove a wrong kfree(struct drm_edid);
- Drop patch "drm/edid: constify argument of drm_edid_is_valid()"
- Add missing call to drm_edid_connector_update()
- Drop drm_edid_equal()
- Add patch to remove edid_extract_panel_id()
- Link to v1: https://lore.kernel.org/r/20240818-amdgpu-drm_edid-v1-0-aea66c1f7cf4@weissschuh.net

---
Thomas Weißschuh (7):
      drm/amd/display: Remove spurious declaration of dm_helpers_get_sbios_edid()
      drm/amd/display: Remove EDID members of ddc_service
      drm/amd/display: Use struct edid in dc_link_add_remote_sink()
      drm/amdgpu: Switch amdgpu_connector to struct drm_edid
      drm/amd/display: Switch dc_sink to struct drm_edid
      drm/amd/display: Drop opencoded edid panel id extraction
      drm/amd/display: Switch dc_link_add_remote_sink() to struct drm_edid

 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c     | 55 +++++++++++-----------
 drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h           |  3 +-
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c             |  4 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c             |  4 +-
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c              |  4 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c              |  4 +-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c  | 20 ++------
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c  | 36 +++++---------
 .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c    |  6 +--
 .../gpu/drm/amd/display/dc/core/dc_link_exports.c  |  5 +-
 drivers/gpu/drm/amd/display/dc/dc.h                |  8 ++--
 drivers/gpu/drm/amd/display/dc/dc_ddc_types.h      |  7 ---
 drivers/gpu/drm/amd/display/dc/dc_types.h          |  5 --
 drivers/gpu/drm/amd/display/dc/dm_helpers.h        |  4 +-
 drivers/gpu/drm/amd/display/dc/inc/link.h          |  3 +-
 .../gpu/drm/amd/display/dc/link/link_detection.c   | 49 ++++++++++---------
 .../gpu/drm/amd/display/dc/link/link_detection.h   |  3 +-
 17 files changed, 92 insertions(+), 128 deletions(-)
---
base-commit: 377dda2cff59825079aee3906aa4904779747b0b
change-id: 20240615-amdgpu-drm_edid-32d969dfb899

Best regards,