diff options
author | Christian König <christian.koenig@amd.com> | 2013-08-01 17:34:07 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-14 22:59:10 -0700 |
commit | 6b061129ce0f86d8ae2ef9e01979041676a47fe5 (patch) | |
tree | 39e2abeebba79d207c46b0021104d73f9b866d06 /drivers/gpu/drm/radeon/radeon_asic.h | |
parent | 86813a19f976fe2bcac437e3816f12e7a3700186 (diff) | |
download | linux-3.10-6b061129ce0f86d8ae2ef9e01979041676a47fe5.tar.gz linux-3.10-6b061129ce0f86d8ae2ef9e01979041676a47fe5.tar.bz2 linux-3.10-6b061129ce0f86d8ae2ef9e01979041676a47fe5.zip |
drm/radeon: fix halting UVD
commit 2858c00d2823c83acce2a1175dbabb2cebee8678 upstream.
Removing the clock/power or resetting the VCPU can cause
hangs if that happens in the middle of a register write.
Stall the memory and register bus before putting the VCPU
into reset. Keep it in reset when unloading the module or
suspending.
v2: rebased on 3.10-stable tree
Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_asic.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h index a72759ede75..34223fc3d82 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.h +++ b/drivers/gpu/drm/radeon/radeon_asic.h @@ -399,7 +399,7 @@ uint64_t r600_get_gpu_clock_counter(struct radeon_device *rdev); /* uvd */ int r600_uvd_init(struct radeon_device *rdev); int r600_uvd_rbc_start(struct radeon_device *rdev); -void r600_uvd_rbc_stop(struct radeon_device *rdev); +void r600_uvd_stop(struct radeon_device *rdev); int r600_uvd_ib_test(struct radeon_device *rdev, struct radeon_ring *ring); void r600_uvd_fence_emit(struct radeon_device *rdev, struct radeon_fence *fence); |