[PATCH v7 1/5] drm: move the debugfs accel driver code to drm layer
Khatri, Sunil
sukhatri at amd.com
Tue Jul 1 06:19:27 UTC 2025
On 7/1/2025 12:04 AM, Christian König wrote:
>
> On 30.06.25 16:36, Sunil Khatri wrote:
>> Move the debugfs accel driver code to the drm layer
>> and it is an intermediate step to move all debugfs
>> related handling into drm_debugfs.c
>>
>> Signed-off-by: Sunil Khatri <sunil.khatri at amd.com>
>> Reviewed-by: Christian König <christian.koenig at amd.com>
>> ---
>> drivers/accel/drm_accel.c | 16 ----------------
>> drivers/gpu/drm/drm_drv.c | 6 +++++-
>> include/drm/drm_accel.h | 5 -----
>> 3 files changed, 5 insertions(+), 22 deletions(-)
>>
>> diff --git a/drivers/accel/drm_accel.c b/drivers/accel/drm_accel.c
>> index aa826033b0ce..ca3357acd127 100644
>> --- a/drivers/accel/drm_accel.c
>> +++ b/drivers/accel/drm_accel.c
>> @@ -20,8 +20,6 @@
>>
>> DEFINE_XARRAY_ALLOC(accel_minors_xa);
>>
>> -static struct dentry *accel_debugfs_root;
>> -
>> static const struct device_type accel_sysfs_device_minor = {
>> .name = "accel_minor"
>> };
>> @@ -73,17 +71,6 @@ static const struct drm_info_list accel_debugfs_list[] = {
>> };
>> #define ACCEL_DEBUGFS_ENTRIES ARRAY_SIZE(accel_debugfs_list)
>>
>> -/**
>> - * accel_debugfs_init() - Initialize debugfs for device
>> - * @dev: Pointer to the device instance.
>> - *
>> - * This function creates a root directory for the device in debugfs.
>> - */
>> -void accel_debugfs_init(struct drm_device *dev)
>> -{
>> - drm_debugfs_dev_init(dev, accel_debugfs_root);
>> -}
>> -
> As pointed out by somebody on the mailing list this doesn't remove the accel_debugfs_init() dummy which is used when CONFIG_DRM_ACCEL isn't enabled.
Sure.
>
>> /**
>> * accel_debugfs_register() - Register debugfs for device
>> * @dev: Pointer to the device instance.
>> @@ -194,7 +181,6 @@ static const struct file_operations accel_stub_fops = {
>> void accel_core_exit(void)
>> {
>> unregister_chrdev(ACCEL_MAJOR, "accel");
>> - debugfs_remove(accel_debugfs_root);
>> accel_sysfs_destroy();
>> WARN_ON(!xa_empty(&accel_minors_xa));
>> }
>> @@ -209,8 +195,6 @@ int __init accel_core_init(void)
>> goto error;
>> }
>>
>> - accel_debugfs_root = debugfs_create_dir("accel", NULL);
>> -
>> ret = register_chrdev(ACCEL_MAJOR, "accel", &accel_stub_fops);
>> if (ret < 0)
>> DRM_ERROR("Cannot register ACCEL major: %d\n", ret);
>> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
>> index 17fc5dc708f4..5d57b622f9aa 100644
>> --- a/drivers/gpu/drm/drm_drv.c
>> +++ b/drivers/gpu/drm/drm_drv.c
>> @@ -70,6 +70,7 @@ DEFINE_XARRAY_ALLOC(drm_minors_xa);
>> static bool drm_core_init_complete;
>>
>> static struct dentry *drm_debugfs_root;
>> +static struct dentry *accel_debugfs_root;
>>
>> DEFINE_STATIC_SRCU(drm_unplug_srcu);
>>
>> @@ -752,7 +753,7 @@ static int drm_dev_init(struct drm_device *dev,
>> }
>>
>> if (drm_core_check_feature(dev, DRIVER_COMPUTE_ACCEL))
>> - accel_debugfs_init(dev);
>> + drm_debugfs_dev_init(dev, accel_debugfs_root);
>> else
>> drm_debugfs_dev_init(dev, drm_debugfs_root);
>>
>> @@ -1166,6 +1167,7 @@ static void drm_core_exit(void)
>> {
>> drm_privacy_screen_lookup_exit();
>> drm_panic_exit();
>> + debugfs_remove(accel_debugfs_root);
>> accel_core_exit();
>> unregister_chrdev(DRM_MAJOR, "drm");
>> debugfs_remove(drm_debugfs_root);
>> @@ -1193,6 +1195,8 @@ static int __init drm_core_init(void)
>> if (ret < 0)
>> goto error;
>>
>> + accel_debugfs_root = debugfs_create_dir("accel", NULL);
>> +
> We should potentially make that depend on CONFIG_DRM_ACCEL.
>
> Probably best to merge the first and second patch, this also avoids the question why we have the first patch.
Sure done in V8
regards
Sunil Khatri
>
> Regards,
> Christian.
>
>> ret = accel_core_init();
>> if (ret < 0)
>> goto error;
>> diff --git a/include/drm/drm_accel.h b/include/drm/drm_accel.h
>> index 038ccb02f9a3..20a665ec6f16 100644
>> --- a/include/drm/drm_accel.h
>> +++ b/include/drm/drm_accel.h
>> @@ -58,7 +58,6 @@ void accel_core_exit(void);
>> int accel_core_init(void);
>> void accel_set_device_instance_params(struct device *kdev, int index);
>> int accel_open(struct inode *inode, struct file *filp);
>> -void accel_debugfs_init(struct drm_device *dev);
>> void accel_debugfs_register(struct drm_device *dev);
>>
>> #else
>> @@ -77,10 +76,6 @@ static inline void accel_set_device_instance_params(struct device *kdev, int ind
>> {
>> }
>>
>> -static inline void accel_debugfs_init(struct drm_device *dev)
>> -{
>> -}
>> -
>> static inline void accel_debugfs_register(struct drm_device *dev)
>> {
>> }
More information about the dri-devel
mailing list