* [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs @ 2021-09-02 11:44 Nirmoy Das 2021-09-02 11:44 ` [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings Nirmoy Das ` (2 more replies) 0 siblings, 3 replies; 16+ messages in thread From: Nirmoy Das @ 2021-09-02 11:44 UTC (permalink / raw) To: amd-gfx; +Cc: Christian.Koenig, Nirmoy Das debugfs APIs returns encoded error so use IS_ERR for checking return value. References: https://gitlab.freedesktop.org/drm/amd/-/issues/1686 Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 ++---- drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c index d256215ab2c7..077f9baf74fe 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c @@ -1696,18 +1696,16 @@ int amdgpu_debugfs_init(struct amdgpu_device *adev) struct dentry *ent; int r, i; - - ent = debugfs_create_file("amdgpu_preempt_ib", 0600, root, adev, &fops_ib_preempt); - if (!ent) { + if (IS_ERR(ent)) { DRM_ERROR("unable to create amdgpu_preempt_ib debugsfs file\n"); return -EIO; } ent = debugfs_create_file("amdgpu_force_sclk", 0200, root, adev, &fops_sclk_set); - if (!ent) { + if (IS_ERR(ent)) { DRM_ERROR("unable to create amdgpu_set_sclk debugsfs file\n"); return -EIO; } diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index 7b634a1517f9..f40753e1a60d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c @@ -428,7 +428,7 @@ int amdgpu_debugfs_ring_init(struct amdgpu_device *adev, ent = debugfs_create_file(name, S_IFREG | S_IRUGO, root, ring, &amdgpu_debugfs_ring_fops); - if (!ent) + if (IS_ERR(ent)) return -ENOMEM; i_size_write(ent->d_inode, ring->ring_size + 12); -- 2.32.0 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-02 11:44 [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs Nirmoy Das @ 2021-09-02 11:44 ` Nirmoy Das 2021-09-03 6:36 ` Sharma, Shashank 2021-09-02 15:23 ` [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs Sharma, Shashank 2021-09-03 7:53 ` Christian König 2 siblings, 1 reply; 16+ messages in thread From: Nirmoy Das @ 2021-09-02 11:44 UTC (permalink / raw) To: amd-gfx; +Cc: Christian.Koenig, Nirmoy Das Use debugfs_create_file_size API for creating ring debugfs file, also cleanup surrounding code. Signed-off-by: Nirmoy Das <nirmoy.das@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; - - 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 -- 2.32.0 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-02 11:44 ` [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings Nirmoy Das @ 2021-09-03 6:36 ` Sharma, Shashank 2021-09-03 8:09 ` Das, Nirmoy 0 siblings, 1 reply; 16+ messages in thread From: Sharma, Shashank @ 2021-09-03 6:36 UTC (permalink / raw) To: Nirmoy Das, amd-gfx; +Cc: Christian.Koenig 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@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 ? - 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 > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-03 6:36 ` Sharma, Shashank @ 2021-09-03 8:09 ` Das, Nirmoy 2021-09-03 15:26 ` Sharma, Shashank 0 siblings, 1 reply; 16+ messages in thread From: Das, Nirmoy @ 2021-09-03 8:09 UTC (permalink / raw) To: Sharma, Shashank, amd-gfx; +Cc: Christian.Koenig 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@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 >> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-03 8:09 ` Das, Nirmoy @ 2021-09-03 15:26 ` Sharma, Shashank 2021-09-03 15:51 ` Das, Nirmoy 0 siblings, 1 reply; 16+ messages in thread From: Sharma, Shashank @ 2021-09-03 15:26 UTC (permalink / raw) To: Das, Nirmoy, amd-gfx; +Cc: Christian.Koenig 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@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 >>> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-03 15:26 ` Sharma, Shashank @ 2021-09-03 15:51 ` Das, Nirmoy 2021-09-03 16:14 ` Das, Nirmoy 0 siblings, 1 reply; 16+ messages in thread From: Das, Nirmoy @ 2021-09-03 15:51 UTC (permalink / raw) To: Sharma, Shashank, amd-gfx; +Cc: Christian.Koenig 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@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 >>>> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-03 15:51 ` Das, Nirmoy @ 2021-09-03 16:14 ` Das, Nirmoy 2021-09-05 8:03 ` Sharma, Shashank 0 siblings, 1 reply; 16+ messages in thread From: Das, Nirmoy @ 2021-09-03 16:14 UTC (permalink / raw) To: Sharma, Shashank, amd-gfx; +Cc: Christian.Koenig Hi Shashank, On 9/3/2021 5:51 PM, Das, Nirmoy wrote: > > 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@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 ? I just realized while making the change debugfs_create_file_size() is void return, so we don't have anything useful to return in amdgpu_debugfs_ring_init() Regards, Nirmoy > > > 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 >>>>> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-03 16:14 ` Das, Nirmoy @ 2021-09-05 8:03 ` Sharma, Shashank 2021-09-05 11:31 ` Das, Nirmoy 0 siblings, 1 reply; 16+ messages in thread From: Sharma, Shashank @ 2021-09-05 8:03 UTC (permalink / raw) To: Das, Nirmoy, amd-gfx; +Cc: Christian.Koenig On 9/3/2021 9:44 PM, Das, Nirmoy wrote: > Hi Shashank, > > On 9/3/2021 5:51 PM, Das, Nirmoy wrote: >> >> 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@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 ? > > > > I just realized while making the change debugfs_create_file_size() is > void return, so we don't have anything useful to return in > amdgpu_debugfs_ring_init() > > Ah, it makes better sense now. Probably just a mention in the body of the message that we are moving from debugfs_create_file() to debugfs_create_file_size(), will make this change of return type more logical. - Shashank > Regards, > > Nirmoy > > >> >> >> 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 >>>>>> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-05 8:03 ` Sharma, Shashank @ 2021-09-05 11:31 ` Das, Nirmoy 2021-09-06 16:45 ` Sharma, Shashank 0 siblings, 1 reply; 16+ messages in thread From: Das, Nirmoy @ 2021-09-05 11:31 UTC (permalink / raw) To: Sharma, Shashank, amd-gfx; +Cc: Christian.Koenig On 9/5/2021 10:03 AM, Sharma, Shashank wrote: > > > On 9/3/2021 9:44 PM, Das, Nirmoy wrote: >> Hi Shashank, >> >> On 9/3/2021 5:51 PM, Das, Nirmoy wrote: >>> >>> 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@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 ? >> >> >> >> I just realized while making the change debugfs_create_file_size() is >> void return, so we don't have anything useful to return in >> amdgpu_debugfs_ring_init() >> >> > > Ah, it makes better sense now. Probably just a mention in the body of > the message that we are moving from debugfs_create_file() to > debugfs_create_file_size(), will make this change of return type more > logical. Yes, I have that "Use debugfs_create_file_size API for creating ring debugfs file,..." Nirmoy > > - Shashank > >> Regards, >> >> Nirmoy >> >> >>> >>> >>> 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 >>>>>>> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-05 11:31 ` Das, Nirmoy @ 2021-09-06 16:45 ` Sharma, Shashank 2021-09-08 8:54 ` Das, Nirmoy 0 siblings, 1 reply; 16+ messages in thread From: Sharma, Shashank @ 2021-09-06 16:45 UTC (permalink / raw) To: Das, Nirmoy, amd-gfx; +Cc: Christian.Koenig On 9/5/2021 5:01 PM, Das, Nirmoy wrote: > > On 9/5/2021 10:03 AM, Sharma, Shashank wrote: >> >> >> On 9/3/2021 9:44 PM, Das, Nirmoy wrote: >>> Hi Shashank, >>> >>> On 9/3/2021 5:51 PM, Das, Nirmoy wrote: >>>> >>>> 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@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 ? >>> >>> >>> >>> I just realized while making the change debugfs_create_file_size() is >>> void return, so we don't have anything useful to return in >>> amdgpu_debugfs_ring_init() >>> >>> >> >> Ah, it makes better sense now. Probably just a mention in the body of >> the message that we are moving from debugfs_create_file() to >> debugfs_create_file_size(), will make this change of return type more >> logical. > > > Yes, I have that "Use debugfs_create_file_size API for creating ring > debugfs file,..." > > My bad, I was too focused (and a bit confused due to uasge of clean-up) around the code change. Suggestion for message: Use debugfs_create_file_size API for creating ring debugfs, and as its a NULL returning API, change the return type for amdgpu_debugfs_ring_init API as well. With (or even without) this change, please feel free to use: Reviewed-by: Shashank Sharma <shashank.sharma@amd.com> - Shashank > Nirmoy > >> >> - Shashank >> >>> Regards, >>> >>> Nirmoy >>> >>> >>>> >>>> >>>> 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 >>>>>>>> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings 2021-09-06 16:45 ` Sharma, Shashank @ 2021-09-08 8:54 ` Das, Nirmoy 0 siblings, 0 replies; 16+ messages in thread From: Das, Nirmoy @ 2021-09-08 8:54 UTC (permalink / raw) To: Sharma, Shashank, amd-gfx; +Cc: Christian.Koenig On 9/6/2021 6:45 PM, Sharma, Shashank wrote: > > > On 9/5/2021 5:01 PM, Das, Nirmoy wrote: >> >> On 9/5/2021 10:03 AM, Sharma, Shashank wrote: >>> >>> >>> On 9/3/2021 9:44 PM, Das, Nirmoy wrote: >>>> Hi Shashank, >>>> >>>> On 9/3/2021 5:51 PM, Das, Nirmoy wrote: >>>>> >>>>> 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@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 ? >>>> >>>> >>>> >>>> I just realized while making the change debugfs_create_file_size() >>>> is void return, so we don't have anything useful to return in >>>> amdgpu_debugfs_ring_init() >>>> >>>> >>> >>> Ah, it makes better sense now. Probably just a mention in the body >>> of the message that we are moving from debugfs_create_file() to >>> debugfs_create_file_size(), will make this change of return type >>> more logical. >> >> >> Yes, I have that "Use debugfs_create_file_size API for creating ring >> debugfs file,..." >> >> > > My bad, I was too focused (and a bit confused due to uasge of > clean-up) around the code change. > > Suggestion for message: Use debugfs_create_file_size API for creating > ring debugfs, and as its a NULL returning API, change the return type > for amdgpu_debugfs_ring_init API as well. Thanks Shashank, I pushed the change with your suggested commit message. Nirmoy > > With (or even without) this change, please feel free to use: > > Reviewed-by: Shashank Sharma <shashank.sharma@amd.com> > > - Shashank > >> Nirmoy >> >>> >>> - Shashank >>> >>>> Regards, >>>> >>>> Nirmoy >>>> >>>> >>>>> >>>>> >>>>> 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 >>>>>>>>> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs 2021-09-02 11:44 [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs Nirmoy Das 2021-09-02 11:44 ` [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings Nirmoy Das @ 2021-09-02 15:23 ` Sharma, Shashank 2021-09-03 7:53 ` Christian König 2 siblings, 0 replies; 16+ messages in thread From: Sharma, Shashank @ 2021-09-02 15:23 UTC (permalink / raw) To: Nirmoy Das, amd-gfx; +Cc: Christian.Koenig On 9/2/2021 5:14 PM, Nirmoy Das wrote: > debugfs APIs returns encoded error so use > IS_ERR for checking return value. > > References: https://gitlab.freedesktop.org/drm/amd/-/issues/1686 > Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 ++---- > drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 2 +- > 2 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > index d256215ab2c7..077f9baf74fe 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > @@ -1696,18 +1696,16 @@ int amdgpu_debugfs_init(struct amdgpu_device *adev) > struct dentry *ent; > int r, i; > > - > - > ent = debugfs_create_file("amdgpu_preempt_ib", 0600, root, adev, > &fops_ib_preempt); > - if (!ent) { > + if (IS_ERR(ent)) { > DRM_ERROR("unable to create amdgpu_preempt_ib debugsfs file\n"); > return -EIO; > } > > ent = debugfs_create_file("amdgpu_force_sclk", 0200, root, adev, > &fops_sclk_set); > - if (!ent) { > + if (IS_ERR(ent)) { > DRM_ERROR("unable to create amdgpu_set_sclk debugsfs file\n"); > return -EIO; > } > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c > index 7b634a1517f9..f40753e1a60d 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c > @@ -428,7 +428,7 @@ int amdgpu_debugfs_ring_init(struct amdgpu_device *adev, > ent = debugfs_create_file(name, > S_IFREG | S_IRUGO, root, > ring, &amdgpu_debugfs_ring_fops); > - if (!ent) > + if (IS_ERR(ent)) > return -ENOMEM; > > i_size_write(ent->d_inode, ring->ring_size + 12); > ACK: Shashank Sharma <shashank.sharma@amd.com> Regards Shashank ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs 2021-09-02 11:44 [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs Nirmoy Das 2021-09-02 11:44 ` [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings Nirmoy Das 2021-09-02 15:23 ` [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs Sharma, Shashank @ 2021-09-03 7:53 ` Christian König 2021-09-03 8:13 ` Das, Nirmoy 2 siblings, 1 reply; 16+ messages in thread From: Christian König @ 2021-09-03 7:53 UTC (permalink / raw) To: Nirmoy Das, amd-gfx Am 02.09.21 um 13:44 schrieb Nirmoy Das: > debugfs APIs returns encoded error so use > IS_ERR for checking return value. > > References: https://gitlab.freedesktop.org/drm/amd/-/issues/1686 > Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 ++---- > drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 2 +- > 2 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > index d256215ab2c7..077f9baf74fe 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > @@ -1696,18 +1696,16 @@ int amdgpu_debugfs_init(struct amdgpu_device *adev) > struct dentry *ent; > int r, i; > > - > - > ent = debugfs_create_file("amdgpu_preempt_ib", 0600, root, adev, > &fops_ib_preempt); > - if (!ent) { > + if (IS_ERR(ent)) { > DRM_ERROR("unable to create amdgpu_preempt_ib debugsfs file\n"); > return -EIO; > } > > ent = debugfs_create_file("amdgpu_force_sclk", 0200, root, adev, > &fops_sclk_set); > - if (!ent) { > + if (IS_ERR(ent)) { > DRM_ERROR("unable to create amdgpu_set_sclk debugsfs file\n"); > return -EIO; > } > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c > index 7b634a1517f9..f40753e1a60d 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c > @@ -428,7 +428,7 @@ int amdgpu_debugfs_ring_init(struct amdgpu_device *adev, > ent = debugfs_create_file(name, > S_IFREG | S_IRUGO, root, > ring, &amdgpu_debugfs_ring_fops); > - if (!ent) > + if (IS_ERR(ent)) > return -ENOMEM; > > i_size_write(ent->d_inode, ring->ring_size + 12); ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs 2021-09-03 7:53 ` Christian König @ 2021-09-03 8:13 ` Das, Nirmoy 2021-09-03 8:17 ` Christian König 0 siblings, 1 reply; 16+ messages in thread From: Das, Nirmoy @ 2021-09-03 8:13 UTC (permalink / raw) To: Christian König, amd-gfx; +Cc: Sharma, Shashank Hi Christian and Shashank, Please review the v2 : https://patchwork.freedesktop.org/patch/452175/ In v2, I am returning "PTR_ERR(ent)" instead of -EIO which I think makes more sense. Regards, Nirmoy On 9/3/2021 9:53 AM, Christian König wrote: > Am 02.09.21 um 13:44 schrieb Nirmoy Das: >> debugfs APIs returns encoded error so use >> IS_ERR for checking return value. >> >> References: https://gitlab.freedesktop.org/drm/amd/-/issues/1686 >> Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> > > Reviewed-by: Christian König <christian.koenig@amd.com> > >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 ++---- >> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 2 +- >> 2 files changed, 3 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >> index d256215ab2c7..077f9baf74fe 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >> @@ -1696,18 +1696,16 @@ int amdgpu_debugfs_init(struct amdgpu_device >> *adev) >> struct dentry *ent; >> int r, i; >> - >> - >> ent = debugfs_create_file("amdgpu_preempt_ib", 0600, root, adev, >> &fops_ib_preempt); >> - if (!ent) { >> + if (IS_ERR(ent)) { >> DRM_ERROR("unable to create amdgpu_preempt_ib debugsfs >> file\n"); >> return -EIO; >> } >> ent = debugfs_create_file("amdgpu_force_sclk", 0200, root, adev, >> &fops_sclk_set); >> - if (!ent) { >> + if (IS_ERR(ent)) { >> DRM_ERROR("unable to create amdgpu_set_sclk debugsfs file\n"); >> return -EIO; >> } >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >> index 7b634a1517f9..f40753e1a60d 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >> @@ -428,7 +428,7 @@ int amdgpu_debugfs_ring_init(struct amdgpu_device >> *adev, >> ent = debugfs_create_file(name, >> S_IFREG | S_IRUGO, root, >> ring, &amdgpu_debugfs_ring_fops); >> - if (!ent) >> + if (IS_ERR(ent)) >> return -ENOMEM; >> i_size_write(ent->d_inode, ring->ring_size + 12); > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs 2021-09-03 8:13 ` Das, Nirmoy @ 2021-09-03 8:17 ` Christian König 2021-09-03 15:28 ` Sharma, Shashank 0 siblings, 1 reply; 16+ messages in thread From: Christian König @ 2021-09-03 8:17 UTC (permalink / raw) To: Das, Nirmoy, amd-gfx; +Cc: Sharma, Shashank Yeah, sounds logical to me as well. Feel free to stick my rb on that as well. Christian. Am 03.09.21 um 10:13 schrieb Das, Nirmoy: > Hi Christian and Shashank, > > > Please review the v2 : https://patchwork.freedesktop.org/patch/452175/ > > In v2, I am returning "PTR_ERR(ent)" instead of -EIO which I think > makes more sense. > > Regards, > Nirmoy > > On 9/3/2021 9:53 AM, Christian König wrote: >> Am 02.09.21 um 13:44 schrieb Nirmoy Das: >>> debugfs APIs returns encoded error so use >>> IS_ERR for checking return value. >>> >>> References: https://gitlab.freedesktop.org/drm/amd/-/issues/1686 >>> Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> >> >> Reviewed-by: Christian König <christian.koenig@amd.com> >> >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 ++---- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 2 +- >>> 2 files changed, 3 insertions(+), 5 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >>> index d256215ab2c7..077f9baf74fe 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >>> @@ -1696,18 +1696,16 @@ int amdgpu_debugfs_init(struct amdgpu_device >>> *adev) >>> struct dentry *ent; >>> int r, i; >>> - >>> - >>> ent = debugfs_create_file("amdgpu_preempt_ib", 0600, root, adev, >>> &fops_ib_preempt); >>> - if (!ent) { >>> + if (IS_ERR(ent)) { >>> DRM_ERROR("unable to create amdgpu_preempt_ib debugsfs >>> file\n"); >>> return -EIO; >>> } >>> ent = debugfs_create_file("amdgpu_force_sclk", 0200, root, >>> adev, >>> &fops_sclk_set); >>> - if (!ent) { >>> + if (IS_ERR(ent)) { >>> DRM_ERROR("unable to create amdgpu_set_sclk debugsfs >>> file\n"); >>> return -EIO; >>> } >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >>> index 7b634a1517f9..f40753e1a60d 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >>> @@ -428,7 +428,7 @@ int amdgpu_debugfs_ring_init(struct >>> amdgpu_device *adev, >>> ent = debugfs_create_file(name, >>> S_IFREG | S_IRUGO, root, >>> ring, &amdgpu_debugfs_ring_fops); >>> - if (!ent) >>> + if (IS_ERR(ent)) >>> return -ENOMEM; >>> i_size_write(ent->d_inode, ring->ring_size + 12); >> ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs 2021-09-03 8:17 ` Christian König @ 2021-09-03 15:28 ` Sharma, Shashank 0 siblings, 0 replies; 16+ messages in thread From: Sharma, Shashank @ 2021-09-03 15:28 UTC (permalink / raw) To: Christian König, Das, Nirmoy, amd-gfx On 9/3/2021 1:47 PM, Christian König wrote: > Yeah, sounds logical to me as well. Feel free to stick my rb on that as > well. > > Christian. > > Am 03.09.21 um 10:13 schrieb Das, Nirmoy: >> Hi Christian and Shashank, >> >> >> Please review the v2 : https://patchwork.freedesktop.org/patch/452175/ >> >> In v2, I am returning "PTR_ERR(ent)" instead of -EIO which I think >> makes more sense. Agree, LGTM as well, Reviewed-By: Shashank Sharma <shashank.sharma@amd.com> Regards Shashank >> >> Regards, >> Nirmoy >> >> On 9/3/2021 9:53 AM, Christian König wrote: >>> Am 02.09.21 um 13:44 schrieb Nirmoy Das: >>>> debugfs APIs returns encoded error so use >>>> IS_ERR for checking return value. >>>> >>>> References: https://gitlab.freedesktop.org/drm/amd/-/issues/1686 >>>> Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> >>> >>> Reviewed-by: Christian König <christian.koenig@amd.com> >>> >>>> --- >>>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 ++---- >>>> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 2 +- >>>> 2 files changed, 3 insertions(+), 5 deletions(-) >>>> >>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >>>> index d256215ab2c7..077f9baf74fe 100644 >>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c >>>> @@ -1696,18 +1696,16 @@ int amdgpu_debugfs_init(struct amdgpu_device >>>> *adev) >>>> struct dentry *ent; >>>> int r, i; >>>> - >>>> - >>>> ent = debugfs_create_file("amdgpu_preempt_ib", 0600, root, adev, >>>> &fops_ib_preempt); >>>> - if (!ent) { >>>> + if (IS_ERR(ent)) { >>>> DRM_ERROR("unable to create amdgpu_preempt_ib debugsfs >>>> file\n"); >>>> return -EIO; >>>> } >>>> ent = debugfs_create_file("amdgpu_force_sclk", 0200, root, >>>> adev, >>>> &fops_sclk_set); >>>> - if (!ent) { >>>> + if (IS_ERR(ent)) { >>>> DRM_ERROR("unable to create amdgpu_set_sclk debugsfs >>>> file\n"); >>>> return -EIO; >>>> } >>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >>>> index 7b634a1517f9..f40753e1a60d 100644 >>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c >>>> @@ -428,7 +428,7 @@ int amdgpu_debugfs_ring_init(struct >>>> amdgpu_device *adev, >>>> ent = debugfs_create_file(name, >>>> S_IFREG | S_IRUGO, root, >>>> ring, &amdgpu_debugfs_ring_fops); >>>> - if (!ent) >>>> + if (IS_ERR(ent)) >>>> return -ENOMEM; >>>> i_size_write(ent->d_inode, ring->ring_size + 12); >>> > ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2021-09-08 8:54 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-02 11:44 [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs Nirmoy Das 2021-09-02 11:44 ` [PATCH 2/2] drm/amdgpu: cleanup debugfs for amdgpu rings Nirmoy Das 2021-09-03 6:36 ` Sharma, Shashank 2021-09-03 8:09 ` Das, Nirmoy 2021-09-03 15:26 ` Sharma, Shashank 2021-09-03 15:51 ` Das, Nirmoy 2021-09-03 16:14 ` Das, Nirmoy 2021-09-05 8:03 ` Sharma, Shashank 2021-09-05 11:31 ` Das, Nirmoy 2021-09-06 16:45 ` Sharma, Shashank 2021-09-08 8:54 ` Das, Nirmoy 2021-09-02 15:23 ` [PATCH 1/2] drm/amdgpu: use IS_ERR for debugfs APIs Sharma, Shashank 2021-09-03 7:53 ` Christian König 2021-09-03 8:13 ` Das, Nirmoy 2021-09-03 8:17 ` Christian König 2021-09-03 15:28 ` Sharma, Shashank
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.