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

Sharma, Shashank shashank.sharma at amd.com
Fri Sep 3 15:26:41 UTC 2021



On 9/3/2021 1:39 PM, Das, Nirmoy wrote:
> 
> 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
> 


I am not suere if completely removing the provision of return value is a 
good way of doing it, we can always ignore it at the caller side, isn't 
it ?

- Shashank

>>
>> - 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