[PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings

Das, Nirmoy nirmoy.das at amd.com
Fri Sep 3 08:09:52 UTC 2021


On 9/3/2021 8:36 AM, Sharma, Shashank wrote:
>
>
> On 9/2/2021 5:14 PM, Nirmoy Das wrote:
>> Use debugfs_create_file_size API for creating ring debugfs
>> file, also cleanup surrounding code.
>>
>> Signed-off-by: Nirmoy Das <nirmoy.das at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c |  4 +---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c    | 16 +++++-----------
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h    |  8 +-------
>>   3 files changed, 7 insertions(+), 21 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
>> index 077f9baf74fe..dee56ab19a8f 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
>> @@ -1734,9 +1734,7 @@ int amdgpu_debugfs_init(struct amdgpu_device 
>> *adev)
>>           if (!ring)
>>               continue;
>>   -        if (amdgpu_debugfs_ring_init(adev, ring)) {
>> -            DRM_ERROR("Failed to register debugfs file for rings !\n");
>> -        }
>> +        amdgpu_debugfs_ring_init(adev, ring);
>>       }
>>         amdgpu_ras_debugfs_create_all(adev);
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
>> index f40753e1a60d..968521d80514 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
>> @@ -415,26 +415,20 @@ static const struct file_operations 
>> amdgpu_debugfs_ring_fops = {
>>     #endif
>>   -int amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
>> +void amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
>>                    struct amdgpu_ring *ring)
>>   {
>>   #if defined(CONFIG_DEBUG_FS)
>>       struct drm_minor *minor = adev_to_drm(adev)->primary;
>> -    struct dentry *ent, *root = minor->debugfs_root;
>> +    struct dentry *root = minor->debugfs_root;
>>       char name[32];
>>         sprintf(name, "amdgpu_ring_%s", ring->name);
>>   -    ent = debugfs_create_file(name,
>> -                  S_IFREG | S_IRUGO, root,
>> -                  ring, &amdgpu_debugfs_ring_fops);
>> -    if (IS_ERR(ent))
>> -        return -ENOMEM;
>
> Why are we doing this ? Why to make it void from int ?


We tend to ignore debugfs return values as those are not serious errors. 
This to sync with rest of our

debugfs calls.


Regards,

Nirmoy

>
> - Shashank
>
>
>> -
>> -    i_size_write(ent->d_inode, ring->ring_size + 12);
>> -    ring->ent = ent;
>> +    debugfs_create_file_size(name, S_IFREG | S_IRUGO, root, ring,
>> +                 &amdgpu_debugfs_ring_fops,
>> +                 ring->ring_size + 12);
>>   #endif
>> -    return 0;
>>   }
>>     /**
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
>> index 88d80eb3fea1..c29fbce0a5b4 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
>> @@ -253,10 +253,6 @@ struct amdgpu_ring {
>>       bool            has_compute_vm_bug;
>>       bool            no_scheduler;
>>       int            hw_prio;
>> -
>> -#if defined(CONFIG_DEBUG_FS)
>> -    struct dentry *ent;
>> -#endif
>>   };
>>     #define amdgpu_ring_parse_cs(r, p, ib) ((r)->funcs->parse_cs((p), 
>> (ib)))
>> @@ -356,8 +352,6 @@ static inline void 
>> amdgpu_ring_write_multiple(struct amdgpu_ring *ring,
>>     int amdgpu_ring_test_helper(struct amdgpu_ring *ring);
>>   -int amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
>> +void amdgpu_debugfs_ring_init(struct amdgpu_device *adev,
>>                    struct amdgpu_ring *ring);
>> -void amdgpu_debugfs_ring_fini(struct amdgpu_ring *ring);
>> -
>>   #endif
>>


More information about the amd-gfx mailing list