summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-02-18 01:50:22 -0700
committerChristian König <christian.koenig@amd.com>2014-02-18 11:30:59 +0100
commit1c61eae469e0d1d2fb9d7b77f51ca50c1f8f3ce9 (patch)
tree20c4df1c93f80514de8492d000b378a430469cb7 /drivers/gpu/drm/radeon/radeon.h
parentd02f8575f1a38b3180a76a8ae0857dfde67f5ead (diff)
downloadlinux-1c61eae469e0d1d2fb9d7b77f51ca50c1f8f3ce9.tar.gz
linux-1c61eae469e0d1d2fb9d7b77f51ca50c1f8f3ce9.tar.bz2
linux-1c61eae469e0d1d2fb9d7b77f51ca50c1f8f3ce9.zip
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.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 4a8ac1cd6b4c..024db37b1832 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -135,6 +135,9 @@ extern int radeon_hard_reset;
/* R600+ */
#define R600_RING_TYPE_UVD_INDEX 5
+/* number of hw syncs before falling back on blocking */
+#define RADEON_NUM_SYNCS 4
+
/* hardcode those limit for now */
#define RADEON_VA_IB_OFFSET (1 << 20)
#define RADEON_VA_RESERVED_SIZE (8 << 20)
@@ -554,7 +557,6 @@ int radeon_mode_dumb_mmap(struct drm_file *filp,
/*
* Semaphores.
*/
-/* everything here is constant */
struct radeon_semaphore {
struct radeon_sa_bo *sa_bo;
signed waiters;