Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6d5c5b8 authored by Christian König's avatar Christian König Committed by Alex Deucher
Browse files

drm/radeon: drop RADEON_FENCE_SIGNALED_SEQ v2



It's causing issues with VMID handling and comparing the
fence value two times actually doesn't make handling faster.

v2: rebased on reset changes

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9867d00d
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -120,9 +120,6 @@ extern int radeon_bapm;
#define RADEONFB_CONN_LIMIT			4
#define RADEON_BIOS_NUM_SCRATCH			8

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

/* internal ring indices */
/* r1xx+ has gfx CP ring */
#define RADEON_RING_TYPE_GFX_INDEX		0
+2 −16
Original line number Diff line number Diff line
@@ -328,16 +328,10 @@ static bool radeon_fence_seq_signaled(struct radeon_device *rdev,
 */
bool radeon_fence_signaled(struct radeon_fence *fence)
{
	if (!fence) {
	if (!fence)
		return true;
	}
	if (fence->seq == RADEON_FENCE_SIGNALED_SEQ) {
	if (radeon_fence_seq_signaled(fence->rdev, fence->seq, fence->ring))
		return true;
	}
	if (radeon_fence_seq_signaled(fence->rdev, fence->seq, fence->ring)) {
		fence->seq = RADEON_FENCE_SIGNALED_SEQ;
		return true;
	}
	return false;
}

@@ -445,15 +439,11 @@ int radeon_fence_wait(struct radeon_fence *fence, bool intr)
	}

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

	r = radeon_fence_wait_seq_timeout(fence->rdev, seq, intr, MAX_SCHEDULE_TIMEOUT);
	if (r < 0) {
		return r;
	}

	fence->seq = RADEON_FENCE_SIGNALED_SEQ;
	return 0;
}

@@ -487,10 +477,6 @@ int radeon_fence_wait_any(struct radeon_device *rdev,

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

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

	/* nothing to wait for ? */