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

Commit 691ca86a authored by Tom St Denis's avatar Tom St Denis Committed by Alex Deucher
Browse files

amdgpu/vce3: Simplify vce_v3_0_hw_init and ensure both rings default to not ready.



Simplified the ring test and added logic to ensure rings are marked not ready
by default.

Signed-off-by: default avatarTom St Denis <tom.stdenis@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
parent 74af1276
Loading
Loading
Loading
Loading
+9 −15
Original line number Diff line number Diff line
@@ -414,28 +414,22 @@ static int vce_v3_0_sw_fini(void *handle)

static int vce_v3_0_hw_init(void *handle)
{
	struct amdgpu_ring *ring;
	int r;
	int r, i;
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;

	r = vce_v3_0_start(adev);
	if (r)
		return r;

	ring = &adev->vce.ring[0];
	ring->ready = true;
	r = amdgpu_ring_test_ring(ring);
	if (r) {
		ring->ready = false;
		return r;
	}
	adev->vce.ring[0].ready = false;
	adev->vce.ring[1].ready = false;

	ring = &adev->vce.ring[1];
	ring->ready = true;
	r = amdgpu_ring_test_ring(ring);
	if (r) {
		ring->ready = false;
	for (i = 0; i < 2; i++) {
		r = amdgpu_ring_test_ring(&adev->vce.ring[i]);
		if (r)
			return r;
		else
			adev->vce.ring[i].ready = true;
	}

	DRM_INFO("VCE initialized successfully.\n");