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:
Tom St Denis 2015-12-15 10:55:34 -05:00 коммит произвёл Alex Deucher
Родитель 74af12762d
Коммит 691ca86a3a
1 изменённых файлов: 9 добавлений и 15 удалений

Просмотреть файл

@ -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");