dma-buf/dma-fence: Extract __dma_fence_is_later()
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 29 Jun 2017 12:59:24 +0000 (13:59 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Dec 2017 21:01:55 +0000 (22:01 +0100)
commit 8111477663813caa1a4469cfe6afaae36cd04513 upstream.

Often we have the task of comparing two seqno known to be on the same
context, so provide a common __dma_fence_is_later().

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Gustavo Padovan <gustavo@padovan.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170629125930.821-1-chris@chris-wilson.co.uk
[renamed to __fence_is_later() - gregkh]
Cc: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/fence.h

index 0d76305..fcb69f9 100644 (file)
@@ -280,6 +280,19 @@ fence_is_signaled(struct fence *fence)
        return false;
 }
 
+/**
+ * __fence_is_later - return if f1 is chronologically later than f2
+ * @f1:        [in]    the first fence's seqno
+ * @f2:        [in]    the second fence's seqno from the same context
+ *
+ * Returns true if f1 is chronologically later than f2. Both fences must be
+ * from the same context, since a seqno is not common across contexts.
+ */
+static inline bool __fence_is_later(u32 f1, u32 f2)
+{
+       return (int)(f1 - f2) > 0;
+}
+
 /**
  * fence_is_later - return if f1 is chronologically later than f2
  * @f1:        [in]    the first fence from the same context
@@ -293,7 +306,7 @@ static inline bool fence_is_later(struct fence *f1, struct fence *f2)
        if (WARN_ON(f1->context != f2->context))
                return false;
 
-       return (int)(f1->seqno - f2->seqno) > 0;
+       return __fence_is_later(f1->seqno, f2->seqno);
 }
 
 /**