dma-buf: use the new iterator in dma_buf_debug_show
authorChristian König <christian.koenig@amd.com>
Thu, 23 Sep 2021 08:28:42 +0000 (10:28 +0200)
committerChristian König <christian.koenig@amd.com>
Thu, 7 Oct 2021 12:49:11 +0000 (14:49 +0200)
Simplifying the code a bit.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211005113742.1101-9-christian.koenig@amd.com
drivers/dma-buf/dma-buf.c

index 61e20ae7b08b7021a0fec8a222affc0e54420e1a..8242b5d9baeba35d8c271555c373ad754b0eb365 100644 (file)
@@ -1356,10 +1356,9 @@ static int dma_buf_debug_show(struct seq_file *s, void *unused)
 {
        struct dma_buf *buf_obj;
        struct dma_buf_attachment *attach_obj;
-       struct dma_resv *robj;
-       struct dma_resv_list *fobj;
+       struct dma_resv_iter cursor;
        struct dma_fence *fence;
-       int count = 0, attach_count, shared_count, i;
+       int count = 0, attach_count;
        size_t size = 0;
        int ret;
 
@@ -1386,21 +1385,10 @@ static int dma_buf_debug_show(struct seq_file *s, void *unused)
                                file_inode(buf_obj->file)->i_ino,
                                buf_obj->name ?: "");
 
-               robj = buf_obj->resv;
-               fence = dma_resv_excl_fence(robj);
-               if (fence)
-                       seq_printf(s, "\tExclusive fence: %s %s %ssignalled\n",
-                                  fence->ops->get_driver_name(fence),
-                                  fence->ops->get_timeline_name(fence),
-                                  dma_fence_is_signaled(fence) ? "" : "un");
-
-               fobj = rcu_dereference_protected(robj->fence,
-                                                dma_resv_held(robj));
-               shared_count = fobj ? fobj->shared_count : 0;
-               for (i = 0; i < shared_count; i++) {
-                       fence = rcu_dereference_protected(fobj->shared[i],
-                                                         dma_resv_held(robj));
-                       seq_printf(s, "\tShared fence: %s %s %ssignalled\n",
+               dma_resv_for_each_fence(&cursor, buf_obj->resv, true, fence) {
+                       seq_printf(s, "\t%s fence: %s %s %ssignalled\n",
+                                  dma_resv_iter_is_exclusive(&cursor) ?
+                                       "Exclusive" : "Shared",
                                   fence->ops->get_driver_name(fence),
                                   fence->ops->get_timeline_name(fence),
                                   dma_fence_is_signaled(fence) ? "" : "un");