mbox series

[00/13] drm/debugfs: Create a debugfs infrastructure for kms objects

Message ID 20230111173748.752659-1-mcanal@igalia.com (mailing list archive)
Headers show
Series drm/debugfs: Create a debugfs infrastructure for kms objects | expand

Message

Maíra Canal Jan. 11, 2023, 5:37 p.m. UTC
This series introduces the initial structure to improve the support of kms
objects by the DRM debugfs [1].

Currently, we can create debugfs files at late-register hooks with the function
drm_debugfs_add_file() through the functionality implemented by the function
drm_debugfs_late_register(), which creates the debugfs files after the
registration of the kms objects. But, this was a stop-gap 
while we didn't have proper debugfs infrastructure for the kms objects.

Therefore, this series will add a debugfs infrastructure to the connector,
crtc, and encoder objects similar to the device-centered debugfs helpers [2].

Patches 1 and 2 will create macros to avoid copypasting the core management of
the linked list. Patches 3 through 5 will introduce the structure for the
connector, encoder, and crtc respectively. Patches 6 through 11 will convert
the old structure to the new structure for 2 drivers: vc4 and sti. Finally,
patch 12 will delete the unnecessary drm_debugfs_late_register() function.

[1] https://cgit.freedesktop.org/drm/drm/tree/Documentation/gpu/todo.rst#n506/
[2] https://cgit.freedesktop.org/drm/drm-misc/commit/?id=1c9cacbea880513a896aee65a5c58007bcb55653

Best Regards,
- Maíra Canal

Maíra Canal (13):
  drm/debugfs: Create helper to add debugfs files to device's list
  drm/debugfs: Create helper to create debugfs files from list
  drm/debugfs: Create a debugfs infrastructure for connectors
  drm/debugfs: Create a debugfs infrastructure for encoders
  drm/debugfs: Create a debugfs infrastructure for CRTC
  drm/vc4: Split variable instantiation of vc4_debugfs_regset32()
  drm/vc4: Use the encoders' debugfs infrastructure
  drm/vc4: Use the crtc's debugfs infrastructure
  drm/sti: Use the crtc's debugfs infrastructure
  drm/sti: Use the connectors' debugfs infrastructure
  drm/sti: Use the encoders' debugfs infrastructure
  drm/debugfs: Remove the debugfs late register function
  drm/todo: Update the debugfs clean up task

 Documentation/gpu/todo.rst           |  14 ++-
 drivers/gpu/drm/drm_connector.c      |   5 +
 drivers/gpu/drm/drm_crtc.c           |   5 +
 drivers/gpu/drm/drm_debugfs.c        | 141 +++++++++++++++++++++++----
 drivers/gpu/drm/drm_encoder.c        |   6 ++
 drivers/gpu/drm/drm_internal.h       |  16 ++-
 drivers/gpu/drm/drm_mode_config.c    |   2 -
 drivers/gpu/drm/sti/sti_compositor.c |   6 +-
 drivers/gpu/drm/sti/sti_compositor.h |   2 +-
 drivers/gpu/drm/sti/sti_crtc.c       |   2 +-
 drivers/gpu/drm/sti/sti_dvo.c        |  21 +---
 drivers/gpu/drm/sti/sti_hda.c        |  21 +---
 drivers/gpu/drm/sti/sti_hdmi.c       |  21 +---
 drivers/gpu/drm/sti/sti_mixer.c      |  31 +-----
 drivers/gpu/drm/sti/sti_mixer.h      |   2 +-
 drivers/gpu/drm/sti/sti_tvout.c      |  21 +---
 drivers/gpu/drm/sti/sti_vid.c        |  19 +---
 drivers/gpu/drm/sti/sti_vid.h        |   2 +-
 drivers/gpu/drm/vc4/vc4_crtc.c       |   5 +-
 drivers/gpu/drm/vc4/vc4_debugfs.c    |  55 +++++++++--
 drivers/gpu/drm/vc4/vc4_dpi.c        |   3 +-
 drivers/gpu/drm/vc4/vc4_drv.h        |  16 +++
 drivers/gpu/drm/vc4/vc4_dsi.c        |   3 +-
 drivers/gpu/drm/vc4/vc4_hdmi.c       |   5 +-
 drivers/gpu/drm/vc4/vc4_vec.c        |   3 +-
 include/drm/drm_connector.h          |  15 +++
 include/drm/drm_crtc.h               |  15 +++
 include/drm/drm_debugfs.h            |  77 +++++++++++++++
 include/drm/drm_encoder.h            |  15 +++
 29 files changed, 384 insertions(+), 165 deletions(-)