The driver and timeline name are meaningless for signaled fences.

Drop them and also print the context number.

v2: avoid the calls when the BO is already signaled.
v3: use same format as trace points for context and seqno.

Signed-off-by: Christian König <[email protected]>
---
 drivers/dma-buf/dma-fence.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index c5d1478b28dd..b4f5c8635276 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -997,19 +997,21 @@ EXPORT_SYMBOL(dma_fence_set_deadline);
  */
 void dma_fence_describe(struct dma_fence *fence, struct seq_file *seq)
 {
-       const char __rcu *timeline;
-       const char __rcu *driver;
+       const char __rcu *timeline = "";
+       const char __rcu *driver = "";
+       const char *signaled = "";
 
        rcu_read_lock();
 
-       timeline = dma_fence_timeline_name(fence);
-       driver = dma_fence_driver_name(fence);
+       if (!dma_fence_is_signaled(fence)) {
+               timeline = dma_fence_timeline_name(fence);
+               driver = dma_fence_driver_name(fence);
+               signaled = "un";
+       }
 
-       seq_printf(seq, "%s %s seq %llu %ssignalled\n",
-                  rcu_dereference(driver),
-                  rcu_dereference(timeline),
-                  fence->seqno,
-                  dma_fence_is_signaled(fence) ? "" : "un");
+       seq_printf(seq, "%llu:%llu %s %s %ssignalled\n",
+                  fence->context, fence->seqno, timeline, driver,
+                  signaled);
 
        rcu_read_unlock();
 }
-- 
2.43.0

Reply via email to