aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/dma-fence.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2023-11-14 13:37:09 +0100
committerChristian König <christian.koenig@amd.com>2023-11-27 20:00:47 +0100
commit95ba893c9f4feb836ddce627efd0bb6af6667031 (patch)
treeefef508d34b320cc030705ba7aa24009bff905ea /include/linux/dma-fence.h
parentdriver core: Export device_is_dependent() to modules (diff)
downloadwireguard-linux-95ba893c9f4feb836ddce627efd0bb6af6667031.tar.xz
wireguard-linux-95ba893c9f4feb836ddce627efd0bb6af6667031.zip
dma-buf: fix check in dma_resv_add_fence
It's valid to add the same fence multiple times to a dma-resv object and we shouldn't need one extra slot for each. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Fixes: a3f7c10a269d5 ("dma-buf/dma-resv: check if the new fence is really later") Cc: stable@vger.kernel.org # v5.19+ Link: https://patchwork.freedesktop.org/patch/msgid/20231115093035.1889-1-christian.koenig@amd.com
Diffstat (limited to 'include/linux/dma-fence.h')
-rw-r--r--include/linux/dma-fence.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index ebe78bd3d121..b3772edca2e6 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -499,6 +499,21 @@ static inline bool dma_fence_is_later(struct dma_fence *f1,
}
/**
+ * dma_fence_is_later_or_same - return true if f1 is later or same as f2
+ * @f1: the first fence from the same context
+ * @f2: the second fence from the same context
+ *
+ * Returns true if f1 is chronologically later than f2 or the same fence. Both
+ * fences must be from the same context, since a seqno is not re-used across
+ * contexts.
+ */
+static inline bool dma_fence_is_later_or_same(struct dma_fence *f1,
+ struct dma_fence *f2)
+{
+ return f1 == f2 || dma_fence_is_later(f1, f2);
+}
+
+/**
* dma_fence_later - return the chronologically later fence
* @f1: the first fence from the same context
* @f2: the second fence from the same context