[PATCH v4 0/7] Introduce debugfs device-centered functions

Maíra Canal mcanal at igalia.com
Fri Dec 23 18:12:50 UTC 2022


On 12/22/22 14:20, Daniel Vetter wrote:
> On Mon, Dec 19, 2022 at 11:49:47AM -0100, Melissa Wen wrote:
>> On 12/19, Maíra Canal wrote:
>>> This series introduces the initial structure to make DRM debugfs more
>>> device-centered and it is the first step to drop the
>>> drm_driver->debugfs_init hooks in the future [1].
>>>
>>> Currently, DRM debugfs files are created using drm_debugfs_create_files()
>>> on request. The first patch of this series makes it possible for DRM devices
>>> for creating debugfs files during drm_dev_register(). For it, it introduces
>>> two new functions that can be used by the drivers: drm_debugfs_add_files()
>>> and drm_debugfs_add_file(). The requests are added to a list and are created
>>> all at once during drm_dev_register(). Moreover, the first patch was based on
>>> this RFC series [2].
>>>
>>> The main difference between the RFC series and the current series is the
>>> creation of a new fops structure to accommodate the new structs and, also,
>>> the creation of a new drm_debugfs_open. Moreover, the new series uses
>>> device-managed allocation, returns memory allocation errors, and converts
>>> more drivers to the new structure.
>>>
>>> Moreover, since v3, the ability to create debugfs files at late_register hooks was
>>> added. In previous versions, modeset components weren't able to create debugfs
>>> files at late_register hooks as the registration of drm_minor happens before the
>>> registration of the modeset abstractions. So, the third patch fixes this problem
>>> by adding a drm_debugfs_late_register() function. Thanks to Melissa Wen for
>>> catching this problem!
>>>
>>> Apart from the third patch, the series looks similiar from its last version.
>>>
>>> [1] https://cgit.freedesktop.org/drm/drm/tree/Documentation/gpu/todo.rst#n506
>>> [2] https://lore.kernel.org/dri-devel/20200513114130.28641-2-wambui.karugax@gmail.com/
>>>
>>> Best Regards,
>>> - Maíra Canal
>>>
>>> ---
>>>
>>> v1 -> v2: https://lore.kernel.org/dri-devel/20221122190314.185015-1-mcanal@igalia.com/T/#t
>>>
>>> - Fix compilation errors in the second patch (kernel test robot).
>>> - Drop debugfs_init hook from vkms (Maíra Canal).
>>> - Remove return values and error handling to debugfs related
>>> functions (Jani Nikula).
>>> - Remove entry from list after the file is created, so that drm_debugfs_init
>>> can be called more than once (Maíra Canal).
>>>
>>> v2 -> v3: https://lore.kernel.org/dri-devel/20221123220725.1272155-1-mcanal@igalia.com/
>>>
>>> - Rebase on top of drm-misc-next
>>>
>>> v3 -> v4: https://lore.kernel.org/dri-devel/20221207132325.140393-1-mcanal@igalia.com/
>>>
>>> - Add Maxime's Reviewed-by tags
>>> - Add the ability to create debugfs files at late_register hooks (Melissa Wen).
>>
>> Hi Maíra,
>>
>> Thanks for addressing all comments.
>>
>> Maybe Danvet has some inputs for the late_register approach.
> 
> I think as a stop-gap (really need to get this stuff landed so people can
> start to use it) this is ok, but long term I think the right fix is to
> roll out the same pre-register infrastructure for connector and crtc too.
> That way drivers don't need to split their setup code into init and
> register anymore, which is the point of this entire rework.
> 
> If you want, you can adjust the todo accordingly, but we do already have
> the paragraph about connector/crtc.
> 
> But we can do that later on, because this is definitely a great way
> forward. Thanks a lot for pushing this forward!
> 
>> Anyway, LGTM and the entire series is:
>>
>> Reviewed-by: Melissa Wen <mwen at igalia.com>
> 
> On the series: Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch>

Applied this series to drm-misc-next.

Best Regards,
- Maíra Canal

>>
>>>
>>> ---
>>>
>>> Maíra Canal (7):
>>>    drm/debugfs: create device-centered debugfs functions
>>>    drm: use new debugfs device-centered functions on DRM core files
>>>    drm/debugfs: create debugfs late register functions
>>>    drm/vc4: use new debugfs device-centered functions
>>>    drm/v3d: use new debugfs device-centered functions
>>>    drm/vkms: use new debugfs device-centered functions
>>>    drm/todo: update the debugfs clean up task
>>>
>>>   Documentation/gpu/todo.rst            |   9 +--
>>>   drivers/gpu/drm/drm_atomic.c          |  11 ++-
>>>   drivers/gpu/drm/drm_client.c          |  11 ++-
>>>   drivers/gpu/drm/drm_debugfs.c         | 102 +++++++++++++++++++++++---
>>>   drivers/gpu/drm/drm_drv.c             |   3 +
>>>   drivers/gpu/drm/drm_framebuffer.c     |  11 ++-
>>>   drivers/gpu/drm/drm_gem_vram_helper.c |  11 ++-
>>>   drivers/gpu/drm/drm_internal.h        |   5 ++
>>>   drivers/gpu/drm/drm_mode_config.c     |   2 +
>>>   drivers/gpu/drm/v3d/v3d_debugfs.c     |  22 +++---
>>>   drivers/gpu/drm/vc4/vc4_bo.c          |  10 +--
>>>   drivers/gpu/drm/vc4/vc4_crtc.c        |   7 +-
>>>   drivers/gpu/drm/vc4/vc4_debugfs.c     |  36 ++-------
>>>   drivers/gpu/drm/vc4/vc4_dpi.c         |   5 +-
>>>   drivers/gpu/drm/vc4/vc4_drv.c         |   1 -
>>>   drivers/gpu/drm/vc4/vc4_drv.h         |  32 ++------
>>>   drivers/gpu/drm/vc4/vc4_dsi.c         |   6 +-
>>>   drivers/gpu/drm/vc4/vc4_hdmi.c        |  12 +--
>>>   drivers/gpu/drm/vc4/vc4_hvs.c         |  24 ++----
>>>   drivers/gpu/drm/vc4/vc4_v3d.c         |  14 +---
>>>   drivers/gpu/drm/vc4/vc4_vec.c         |   6 +-
>>>   drivers/gpu/drm/vkms/vkms_drv.c       |  17 ++---
>>>   include/drm/drm_debugfs.h             |  41 +++++++++++
>>>   include/drm/drm_device.h              |  15 ++++
>>>   24 files changed, 233 insertions(+), 180 deletions(-)
>>>
>>> -- 
>>> 2.38.1
>>>
> 
> 
> 


More information about the dri-devel mailing list