diff mbox series

[08/28] dma-buf: use the new iterator in dma_buf_debug_show

Message ID 20211001100610.2899-9-christian.koenig@amd.com (mailing list archive)
State New, archived
Headers show
Series [01/28] dma-buf: add dma_resv_for_each_fence_unlocked v7 | expand

Commit Message

Christian König Oct. 1, 2021, 10:05 a.m. UTC
Simplifying the code a bit.

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

Comments

Tvrtko Ursulin Oct. 5, 2021, 7:35 a.m. UTC | #1
On 01/10/2021 11:05, Christian König wrote:
> Simplifying the code a bit.
> 
> Signed-off-by: Christian König <christian.koenig@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.ursulin@intel.com>

Regards,

Tvrtko
diff mbox series

Patch

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");