summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon.h
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2012-12-04 15:27:33 -0500
committerAlex Deucher <alexander.deucher@amd.com>2012-12-10 16:53:34 -0500
commitf60cbd117a416830d5a7effc208eab8470a19167 (patch)
tree0b4afcd96291498ff983eac850fc0171121ab645 /drivers/gpu/drm/radeon/radeon.h
parent233d1ad59a2895e348259bb6f9f4528a75ea7752 (diff)
downloadop-kernel-dev-f60cbd117a416830d5a7effc208eab8470a19167.zip
op-kernel-dev-f60cbd117a416830d5a7effc208eab8470a19167.tar.gz
drm/radeon/kms: Add initial support for async DMA on cayman/TN
There are 2 async DMA engines on cayman, one at 0xd000 and one at 0xd800. The programming interface is the same as evergreen however there are some changes to the commands for using vmids. 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.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 461bf53..38b6fa3 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -109,7 +109,7 @@ extern int radeon_lockup_timeout;
#define RADEON_BIOS_NUM_SCRATCH 8
/* max number of rings */
-#define RADEON_NUM_RINGS 4
+#define RADEON_NUM_RINGS 5
/* fence seq are set to this number when signaled */
#define RADEON_FENCE_SIGNALED_SEQ 0LL
@@ -124,6 +124,8 @@ extern int radeon_lockup_timeout;
/* R600+ has an async dma ring */
#define R600_RING_TYPE_DMA_INDEX 3
+/* cayman add a second async dma ring */
+#define CAYMAN_RING_TYPE_DMA1_INDEX 4
/* hardcode those limit for now */
#define RADEON_VA_IB_OFFSET (1 << 20)
@@ -893,6 +895,7 @@ struct radeon_wb {
#define RADEON_WB_CP2_RPTR_OFFSET 1536
#define R600_WB_DMA_RPTR_OFFSET 1792
#define R600_WB_IH_WPTR_OFFSET 2048
+#define CAYMAN_WB_DMA1_RPTR_OFFSET 2304
#define R600_WB_EVENT_OFFSET 3072
/**
OpenPOWER on IntegriCloud