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: Tom St Denis <tom.stdenis@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
74af12762d
commit
691ca86a3a
@ -414,28 +414,22 @@ static int vce_v3_0_sw_fini(void *handle)
|
|||||||
|
|
||||||
static int vce_v3_0_hw_init(void *handle)
|
static int vce_v3_0_hw_init(void *handle)
|
||||||
{
|
{
|
||||||
struct amdgpu_ring *ring;
|
int r, i;
|
||||||
int r;
|
|
||||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||||
|
|
||||||
r = vce_v3_0_start(adev);
|
r = vce_v3_0_start(adev);
|
||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
ring = &adev->vce.ring[0];
|
adev->vce.ring[0].ready = false;
|
||||||
ring->ready = true;
|
adev->vce.ring[1].ready = false;
|
||||||
r = amdgpu_ring_test_ring(ring);
|
|
||||||
if (r) {
|
|
||||||
ring->ready = false;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
ring = &adev->vce.ring[1];
|
for (i = 0; i < 2; i++) {
|
||||||
ring->ready = true;
|
r = amdgpu_ring_test_ring(&adev->vce.ring[i]);
|
||||||
r = amdgpu_ring_test_ring(ring);
|
if (r)
|
||||||
if (r) {
|
return r;
|
||||||
ring->ready = false;
|
else
|
||||||
return r;
|
adev->vce.ring[i].ready = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
DRM_INFO("VCE initialized successfully.\n");
|
DRM_INFO("VCE initialized successfully.\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user