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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux