On 01/10/2021 11:05, Christian König wrote:
Simplifying the code a bit.

Signed-off-by: Christian König <christian.koe...@amd.com>
---
  drivers/dma-buf/dma-buf.c | 24 ++++++------------------
  1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index 61e20ae7b08b..8242b5d9baeb 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -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");


Reviewed-by: Tvrtko Ursulin <tvrtko.ursu...@intel.com>

Regards,

Tvrtko

Reply via email to