summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/cik.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2014-03-12 16:20:44 -0400
committerAlex Deucher <alexander.deucher@amd.com>2014-03-12 16:20:44 -0400
commitb2b3d8d952e4f8d6ac2ce80be96b937f29f6e42e (patch)
tree5e46d90d0a5181d3c1c92413299ee1b7b5627b4a /drivers/gpu/drm/radeon/cik.c
parent07ae78c9798b79bad3d3adf983c94ba23fde54d4 (diff)
downloadop-kernel-dev-b2b3d8d952e4f8d6ac2ce80be96b937f29f6e42e.zip
op-kernel-dev-b2b3d8d952e4f8d6ac2ce80be96b937f29f6e42e.tar.gz
drm/radeon/cik: properly set compute ring status on disable
When we disable the rings, set the status properly. If not other code pathes may try and use the rings which are not functional at this point. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/radeon/cik.c')
-rw-r--r--drivers/gpu/drm/radeon/cik.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index e22be84..bbb1784 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -4134,8 +4134,11 @@ static void cik_cp_compute_enable(struct radeon_device *rdev, bool enable)
{
if (enable)
WREG32(CP_MEC_CNTL, 0);
- else
+ else {
WREG32(CP_MEC_CNTL, (MEC_ME1_HALT | MEC_ME2_HALT));
+ rdev->ring[CAYMAN_RING_TYPE_CP1_INDEX].ready = false;
+ rdev->ring[CAYMAN_RING_TYPE_CP2_INDEX].ready = false;
+ }
udelay(50);
}
OpenPOWER on IntegriCloud