Skip to content

Commit

Permalink
drm/amdgpu: drop AMDGPU_FENCE_SIGNALED_SEQ
Browse files Browse the repository at this point in the history
It's causing issues with VMID handling and comparing the
fence value two times actually doesn't make handling faster.

Port of radeon commit "d6d5c5b8364bcc4d52cddc68bcb0a330d2af20f3".

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
  • Loading branch information
Christian König authored and Alex Deucher committed Jun 4, 2015
1 parent 5fb1941 commit 9269a60
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 15 deletions.
3 changes: 0 additions & 3 deletions drivers/gpu/drm/amd/amdgpu/amdgpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,6 @@ extern int amdgpu_vm_block_size;
#define AMDGPUFB_CONN_LIMIT 4
#define AMDGPU_BIOS_NUM_SCRATCH 8

/* fence seq are set to this number when signaled */
#define AMDGPU_FENCE_SIGNALED_SEQ 0LL

/* max number of rings */
#define AMDGPU_MAX_RINGS 16
#define AMDGPU_MAX_GFX_RINGS 1
Expand Down
12 changes: 0 additions & 12 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
Original file line number Diff line number Diff line change
Expand Up @@ -463,11 +463,7 @@ bool amdgpu_fence_signaled(struct amdgpu_fence *fence)
if (!fence)
return true;

if (fence->seq == AMDGPU_FENCE_SIGNALED_SEQ)
return true;

if (amdgpu_fence_seq_signaled(fence->ring, fence->seq)) {
fence->seq = AMDGPU_FENCE_SIGNALED_SEQ;
if (!fence_signal(&fence->base))
FENCE_TRACE(&fence->base, "signaled from amdgpu_fence_signaled\n");
return true;
Expand Down Expand Up @@ -637,15 +633,11 @@ int amdgpu_fence_wait(struct amdgpu_fence *fence, bool intr)
long r;

seq[fence->ring->idx] = fence->seq;
if (seq[fence->ring->idx] == AMDGPU_FENCE_SIGNALED_SEQ)
return 0;

r = amdgpu_fence_wait_seq_timeout(fence->ring->adev, seq, intr, MAX_SCHEDULE_TIMEOUT);
if (r < 0) {
return r;
}

fence->seq = AMDGPU_FENCE_SIGNALED_SEQ;
r = fence_signal(&fence->base);
if (!r)
FENCE_TRACE(&fence->base, "signaled from fence_wait\n");
Expand Down Expand Up @@ -682,10 +674,6 @@ int amdgpu_fence_wait_any(struct amdgpu_device *adev,

seq[i] = fences[i]->seq;
++num_rings;

/* test if something was allready signaled */
if (seq[i] == AMDGPU_FENCE_SIGNALED_SEQ)
return 0;
}

/* nothing to wait for ? */
Expand Down

0 comments on commit 9269a60

Please sign in to comment.