mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-23 01:31:30 +03:00
gpu: host1x: External timeout/cancellation for fences
Currently all fences have a 30 second timeout to ensure they are cleaned up if the fence never completes otherwise. However, this one size fits all solution doesn't actually fit in every case, such as syncpoint waiting where we want to be able to have timeouts longer than 30 seconds. As such, we want to be able to give control over fence cancellation to the caller (and maybe eventually get rid of the internal timeout altogether). Here we add this cancellation mechanism by essentially adding a function for entering the timeout path by function call, and changing the syncpoint wait function to use it. Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> Change-Id: I4600544afe21efdd3f7d06362bd124130ddec3db Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2786637 Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
Laxman Dewangan
parent
33a40367c0
commit
25f41bc212
@@ -226,8 +226,10 @@ 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);
|
||||
int host1x_fence_extract(struct dma_fence *fence, u32 *id, u32 *threshold);
|
||||
void host1x_fence_cancel(struct dma_fence *fence);
|
||||
|
||||
/*
|
||||
* host1x channel
|
||||
|
||||
Reference in New Issue
Block a user