diff options
author | Dave Airlie <airlied@redhat.com> | 2023-01-30 14:17:06 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2023-01-30 14:24:52 +1000 |
commit | dae437d568bbc3d4211b88d23fa0868a5019caf6 (patch) | |
tree | ebce0628697e03ef89cc8c187b0b16c756c00730 /include | |
parent | 54587d9943c906dd8ec2732dca3e9fd791aa789e (diff) | |
parent | 2abdd44e3126e29cc310cbf5f1eda7ca7d979df3 (diff) | |
download | linux-stable-dae437d568bbc3d4211b88d23fa0868a5019caf6.tar.gz linux-stable-dae437d568bbc3d4211b88d23fa0868a5019caf6.tar.bz2 linux-stable-dae437d568bbc3d4211b88d23fa0868a5019caf6.zip |
Merge tag 'drm/tegra/for-6.3-rc1' of https://gitlab.freedesktop.org/drm/tegra into drm-next
drm/tegra: Changes for v6.3-rc1
This set of changes includes a rework of the custom syncpoint interrupt
code to take better advantage of existing DRM/KMS infrastructure.
There's also various bits of cleanup and fixes included.
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Thierry Reding <thierry.reding@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127170119.495943-1-thierry.reding@gmail.com
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/host1x.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/linux/host1x.h b/include/linux/host1x.h index dc55d9d3b94f..9a9de4b97a25 100644 --- a/include/linux/host1x.h +++ b/include/linux/host1x.h @@ -8,6 +8,7 @@ #include <linux/device.h> #include <linux/dma-direction.h> +#include <linux/dma-fence.h> #include <linux/spinlock.h> #include <linux/types.h> @@ -221,7 +222,9 @@ u32 host1x_syncpt_base_id(struct host1x_syncpt_base *base); void host1x_syncpt_release_vblank_reservation(struct host1x_client *client, u32 syncpt_id); -struct dma_fence *host1x_fence_create(struct host1x_syncpt *sp, u32 threshold); +struct dma_fence *host1x_fence_create(struct host1x_syncpt *sp, u32 threshold, + bool timeout); +void host1x_fence_cancel(struct dma_fence *fence); /* * host1x channel @@ -288,8 +291,9 @@ struct host1x_job { u32 syncpt_incrs; u32 syncpt_end; - /* Completion waiter ref */ - void *waiter; + /* Completion fence for job tracking */ + struct dma_fence *fence; + struct dma_fence_cb fence_cb; /* Maximum time to wait for this job */ unsigned int timeout; |