diff options
author | monk.liu <monk.liu@amd.com> | 2015-07-30 03:19:05 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-08-17 16:50:47 -0400 |
commit | 332dfe907bef6f299f5844f947c4e141eebb8091 (patch) | |
tree | 9ff30976b2294dc4b49e4bc0b83f75a29b23dd8b /drivers/gpu/drm/amd/amdgpu/amdgpu.h | |
parent | 2e536084f24f99f0a2cc0b6ce38ad8298ea58b22 (diff) |
drm/amdgpu: new implement for fence_wait_any (v2)
origninal method will sleep/schedule at the granurarity of HZ/2 and
based on seq signal method, the new implement is based on kernel fance
interface, no unnecessary schedule at all
v2: replace logic of original amdgpu_fence_wait_any
Signed-off-by: monk.liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 1e87acf35892..5f32f859230b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -440,9 +440,9 @@ unsigned amdgpu_fence_count_emitted(struct amdgpu_ring *ring); | |||
440 | 440 | ||
441 | bool amdgpu_fence_signaled(struct amdgpu_fence *fence); | 441 | bool amdgpu_fence_signaled(struct amdgpu_fence *fence); |
442 | int amdgpu_fence_wait(struct amdgpu_fence *fence, bool interruptible); | 442 | int amdgpu_fence_wait(struct amdgpu_fence *fence, bool interruptible); |
443 | int amdgpu_fence_wait_any(struct amdgpu_device *adev, | 443 | signed long amdgpu_fence_wait_any(struct amdgpu_device *adev, |
444 | struct amdgpu_fence **fences, | 444 | struct amdgpu_fence **fences, |
445 | bool intr); | 445 | bool intr, long t); |
446 | struct amdgpu_fence *amdgpu_fence_ref(struct amdgpu_fence *fence); | 446 | struct amdgpu_fence *amdgpu_fence_ref(struct amdgpu_fence *fence); |
447 | void amdgpu_fence_unref(struct amdgpu_fence **fence); | 447 | void amdgpu_fence_unref(struct amdgpu_fence **fence); |
448 | 448 | ||
@@ -487,7 +487,7 @@ static inline bool amdgpu_fence_is_earlier(struct amdgpu_fence *a, | |||
487 | return a->seq < b->seq; | 487 | return a->seq < b->seq; |
488 | } | 488 | } |
489 | 489 | ||
490 | int amdgpu_user_fence_emit(struct amdgpu_ring *ring, struct amdgpu_user_fence *user, | 490 | int amdgpu_user_fence_emit(struct amdgpu_ring *ring, struct amdgpu_user_fence *user, |
491 | void *owner, struct amdgpu_fence **fence); | 491 | void *owner, struct amdgpu_fence **fence); |
492 | 492 | ||
493 | /* | 493 | /* |