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.h | |
parent | d02f8575f1a38b3180a76a8ae0857dfde67f5ead (diff) | |
download | linux-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.h | 4 |
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; |