OSDN Git Service

drm/radeon: fix halting UVD
authorChristian König <christian.koenig@amd.com>
Thu, 1 Aug 2013 15:34:07 +0000 (17:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Aug 2013 05:59:10 +0000 (22:59 -0700)
commit6b061129ce0f86d8ae2ef9e01979041676a47fe5
tree39e2abeebba79d207c46b0021104d73f9b866d06
parent86813a19f976fe2bcac437e3816f12e7a3700186
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>
drivers/gpu/drm/radeon/evergreen.c
drivers/gpu/drm/radeon/ni.c
drivers/gpu/drm/radeon/r600.c
drivers/gpu/drm/radeon/radeon_asic.h
drivers/gpu/drm/radeon/rv770.c
drivers/gpu/drm/radeon/si.c