in dpm disabled case, we need to wait for more time. otherwise, uvd can't be initialized in bonarie/hawaii. Signed-off-by: Rex Zhu <Rex.Zhu at amd.com> Acked-by: Alex Deucher <alexander.deucher at amd.com> Change-Id: Ia014a1b1b0ddff48c86309477e8aaf8b8f81d881 --- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 3 +-- drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c index 02b8613..f8aeeec 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c @@ -1170,8 +1170,7 @@ int amdgpu_uvd_ring_test_ib(struct amdgpu_ring *ring, long timeout) DRM_ERROR("amdgpu: failed to get destroy ib (%ld).\n", r); goto error; } - - r = fence_wait_timeout(fence, false, timeout); + r = fence_wait_timeout(fence, false, timeout*10); if (r == 0) { DRM_ERROR("amdgpu: IB test timed out.\n"); r = -ETIMEDOUT; diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c b/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c index f15df99..1bccda5 100644 --- a/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c @@ -320,11 +320,9 @@ static int uvd_v4_2_start(struct amdgpu_device *adev) WREG32_P(mmUVD_SOFT_RESET, 0, ~UVD_SOFT_RESET__VCPU_SOFT_RESET_MASK); - mdelay(10); - for (i = 0; i < 10; ++i) { uint32_t status; - for (j = 0; j < 100; ++j) { + for (j = 0; j < 1000; ++j) { status = RREG32(mmUVD_STATUS); if (status & 2) break; -- 1.9.1