summaryrefslogtreecommitdiffstats
path: root/drivers/dma-buf/sync_debug.h
diff options
context:
space:
mode:
authorRob Clark <robdclark@chromium.org>2023-08-23 14:54:56 -0700
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2023-12-02 01:18:46 +0200
commit70e67aaec2f4706df0006423eebca813b00f5840 (patch)
tree76acee6cb47f7812cc3f38b4c2a1a8664e0dc4c7 /drivers/dma-buf/sync_debug.h
parent63ee44540205d993854f143a5ab1d7d9e63ffcf1 (diff)
downloadlinux-70e67aaec2f4706df0006423eebca813b00f5840.tar.gz
linux-70e67aaec2f4706df0006423eebca813b00f5840.tar.bz2
linux-70e67aaec2f4706df0006423eebca813b00f5840.zip
dma-buf/sw_sync: Add fence deadline support
This consists of simply storing the most recent deadline, and adding an ioctl to retrieve the deadline. This can be used in conjunction with the SET_DEADLINE ioctl on a fence fd for testing. Ie. create various sw_sync fences, merge them into a fence-array, set deadline on the fence-array and confirm that it is propagated properly to each fence. v2: Switch UABI to express deadline as u64 v3: More verbose UAPI docs, show how to convert from timespec v4: Better comments, track the soonest deadline, as a normal fence implementation would, return an error if no deadline set. Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Christian König <christian.koenig@amd.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20230823215458.203366-4-robdclark@gmail.com
Diffstat (limited to 'drivers/dma-buf/sync_debug.h')
-rw-r--r--drivers/dma-buf/sync_debug.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/dma-buf/sync_debug.h b/drivers/dma-buf/sync_debug.h
index 6176e52ba2d7..a1bdd62efccd 100644
--- a/drivers/dma-buf/sync_debug.h
+++ b/drivers/dma-buf/sync_debug.h
@@ -55,11 +55,13 @@ static inline struct sync_timeline *dma_fence_parent(struct dma_fence *fence)
* @base: base fence object
* @link: link on the sync timeline's list
* @node: node in the sync timeline's tree
+ * @deadline: the earliest fence deadline hint
*/
struct sync_pt {
struct dma_fence base;
struct list_head link;
struct rb_node node;
+ ktime_t deadline;
};
extern const struct file_operations sw_sync_debugfs_fops;