diff options
author | Christian König <christian.koenig@amd.com> | 2014-02-18 01:50:22 -0700 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2014-02-18 11:30:59 +0100 |
commit | 1c61eae469e0d1d2fb9d7b77f51ca50c1f8f3ce9 (patch) | |
tree | 20c4df1c93f80514de8492d000b378a430469cb7 /drivers/gpu/drm/radeon/radeon_ring.c | |
parent | d02f8575f1a38b3180a76a8ae0857dfde67f5ead (diff) |
drm/radeon: fix CP semaphores on CIK
The CP semaphore queue on CIK has a bug that triggers if uncompleted
waits use the same address while a signal is still pending. Work around
this by using different addresses for each sync.
Signed-off-by: Christian König <christian.koenig@amd.com>
Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_ring.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_ring.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c index 1b783f0e6d3..15e44a7281a 100644 --- a/drivers/gpu/drm/radeon/radeon_ring.c +++ b/drivers/gpu/drm/radeon/radeon_ring.c @@ -139,7 +139,7 @@ int radeon_ib_schedule(struct radeon_device *rdev, struct radeon_ib *ib, } /* 64 dwords should be enough for fence too */ - r = radeon_ring_lock(rdev, ring, 64 + RADEON_NUM_RINGS * 8); + r = radeon_ring_lock(rdev, ring, 64 + RADEON_NUM_SYNCS * 8); if (r) { dev_err(rdev->dev, "scheduling IB failed (%d).\n", r); return r; |