diff options
author | Christian König <christian.koenig@amd.com> | 2014-02-18 11:37:20 +0100 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2014-02-18 13:41:05 -0500 |
commit | 8f53492f86f9ca66bc762be98f0a9fce9bcb319a (patch) | |
tree | 9d8e2b801dd56b94ff9c2d8fdc4017d5b82be920 /drivers/gpu/drm/radeon/radeon.h | |
parent | ebc54ffe1c57067d4700f970ef88f26e18b48690 (diff) | |
download | op-kernel-dev-8f53492f86f9ca66bc762be98f0a9fce9bcb319a.zip op-kernel-dev-8f53492f86f9ca66bc762be98f0a9fce9bcb319a.tar.gz |
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
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
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 4a8ac1c..024db37 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; |