aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_asic.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2012-12-04 15:28:18 -0500
committerAlex Deucher <alexander.deucher@amd.com>2012-12-10 16:53:41 -0500
commit8c5fd7efcc5c037bdfbf6d90639fcdc499824bbd (patch)
treedf076f525c6c3a41a81a74002b85263c81bb9917 /drivers/gpu/drm/radeon/radeon_asic.c
parentf60cbd117a416830d5a7effc208eab8470a19167 (diff)
drm/radeon/kms: Add initial support for async DMA on SI
Pretty much the same as cayman. Some changes to the copy packets. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_asic.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.c b/drivers/gpu/drm/radeon/radeon_asic.c
index 8cf8ae86973..d455bcb655c 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.c
+++ b/drivers/gpu/drm/radeon/radeon_asic.c
@@ -1731,6 +1731,26 @@ static struct radeon_asic si_asic = {
1731 .ib_test = &r600_ib_test, 1731 .ib_test = &r600_ib_test,
1732 .is_lockup = &si_gpu_is_lockup, 1732 .is_lockup = &si_gpu_is_lockup,
1733 .vm_flush = &si_vm_flush, 1733 .vm_flush = &si_vm_flush,
1734 },
1735 [R600_RING_TYPE_DMA_INDEX] = {
1736 .ib_execute = &cayman_dma_ring_ib_execute,
1737 .emit_fence = &evergreen_dma_fence_ring_emit,
1738 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1739 .cs_parse = NULL,
1740 .ring_test = &r600_dma_ring_test,
1741 .ib_test = &r600_dma_ib_test,
1742 .is_lockup = &cayman_dma_is_lockup,
1743 .vm_flush = &si_dma_vm_flush,
1744 },
1745 [CAYMAN_RING_TYPE_DMA1_INDEX] = {
1746 .ib_execute = &cayman_dma_ring_ib_execute,
1747 .emit_fence = &evergreen_dma_fence_ring_emit,
1748 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1749 .cs_parse = NULL,
1750 .ring_test = &r600_dma_ring_test,
1751 .ib_test = &r600_dma_ib_test,
1752 .is_lockup = &cayman_dma_is_lockup,
1753 .vm_flush = &si_dma_vm_flush,
1734 } 1754 }
1735 }, 1755 },
1736 .irq = { 1756 .irq = {
@@ -1747,8 +1767,8 @@ static struct radeon_asic si_asic = {
1747 .copy = { 1767 .copy = {
1748 .blit = NULL, 1768 .blit = NULL,
1749 .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, 1769 .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX,
1750 .dma = NULL, 1770 .dma = &si_copy_dma,
1751 .dma_ring_index = RADEON_RING_TYPE_GFX_INDEX, 1771 .dma_ring_index = R600_RING_TYPE_DMA_INDEX,
1752 .copy = NULL, 1772 .copy = NULL,
1753 .copy_ring_index = RADEON_RING_TYPE_GFX_INDEX, 1773 .copy_ring_index = RADEON_RING_TYPE_GFX_INDEX,
1754 }, 1774 },