[PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings
Das, Nirmoy
nirmoy.das at amd.com
Fri Sep 3 15:51:41 UTC 2021
On 9/3/2021 5:26 PM, Sharma, Shashank wrote:
>
>
> 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 ?
Yes, we are currently throwing an error msg and ignoring it. I don't
have a strong opinion regarding this, I will send a v2 restoring
previous behavior.
Thanks,
Nirmoy
>
> - 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