aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_asic.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2012-12-13 09:55:45 -0500
committerAlex Deucher <alexander.deucher@amd.com>2012-12-14 10:45:25 -0500
commitd2ead3eaf8a4bf92129eda69189ce18a6c1cc8bd (patch)
tree61502ccac6c09b16184b617bfdcb309d19114ccf /drivers/gpu/drm/radeon/radeon_asic.c
parentcf4ccd016bae1a03bb38170eb54b5db4b04e0545 (diff)
drm/radeon/kms: add evergreen/cayman CS parser for async DMA (v2)
Allows us to use the DMA ring from userspace. DMA doesn't have a good NOP packet in which to embed the reloc idx, so userspace has to add a reloc for each buffer used and order them to match the command stream. v2: fix address bounds checking 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.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.c b/drivers/gpu/drm/radeon/radeon_asic.c
index d3603417e5d..ac1d5702144 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.c
+++ b/drivers/gpu/drm/radeon/radeon_asic.c
@@ -1204,7 +1204,7 @@ static struct radeon_asic evergreen_asic = {
1204 .ib_execute = &evergreen_dma_ring_ib_execute, 1204 .ib_execute = &evergreen_dma_ring_ib_execute,
1205 .emit_fence = &evergreen_dma_fence_ring_emit, 1205 .emit_fence = &evergreen_dma_fence_ring_emit,
1206 .emit_semaphore = &r600_dma_semaphore_ring_emit, 1206 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1207 .cs_parse = NULL, 1207 .cs_parse = &evergreen_dma_cs_parse,
1208 .ring_test = &r600_dma_ring_test, 1208 .ring_test = &r600_dma_ring_test,
1209 .ib_test = &r600_dma_ib_test, 1209 .ib_test = &r600_dma_ib_test,
1210 .is_lockup = &r600_dma_is_lockup, 1210 .is_lockup = &r600_dma_is_lockup,
@@ -1288,7 +1288,7 @@ static struct radeon_asic sumo_asic = {
1288 .ib_execute = &evergreen_dma_ring_ib_execute, 1288 .ib_execute = &evergreen_dma_ring_ib_execute,
1289 .emit_fence = &evergreen_dma_fence_ring_emit, 1289 .emit_fence = &evergreen_dma_fence_ring_emit,
1290 .emit_semaphore = &r600_dma_semaphore_ring_emit, 1290 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1291 .cs_parse = NULL, 1291 .cs_parse = &evergreen_dma_cs_parse,
1292 .ring_test = &r600_dma_ring_test, 1292 .ring_test = &r600_dma_ring_test,
1293 .ib_test = &r600_dma_ib_test, 1293 .ib_test = &r600_dma_ib_test,
1294 .is_lockup = &r600_dma_is_lockup, 1294 .is_lockup = &r600_dma_is_lockup,
@@ -1372,7 +1372,7 @@ static struct radeon_asic btc_asic = {
1372 .ib_execute = &evergreen_dma_ring_ib_execute, 1372 .ib_execute = &evergreen_dma_ring_ib_execute,
1373 .emit_fence = &evergreen_dma_fence_ring_emit, 1373 .emit_fence = &evergreen_dma_fence_ring_emit,
1374 .emit_semaphore = &r600_dma_semaphore_ring_emit, 1374 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1375 .cs_parse = NULL, 1375 .cs_parse = &evergreen_dma_cs_parse,
1376 .ring_test = &r600_dma_ring_test, 1376 .ring_test = &r600_dma_ring_test,
1377 .ib_test = &r600_dma_ib_test, 1377 .ib_test = &r600_dma_ib_test,
1378 .is_lockup = &r600_dma_is_lockup, 1378 .is_lockup = &r600_dma_is_lockup,
@@ -1486,7 +1486,7 @@ static struct radeon_asic cayman_asic = {
1486 .ib_execute = &cayman_dma_ring_ib_execute, 1486 .ib_execute = &cayman_dma_ring_ib_execute,
1487 .emit_fence = &evergreen_dma_fence_ring_emit, 1487 .emit_fence = &evergreen_dma_fence_ring_emit,
1488 .emit_semaphore = &r600_dma_semaphore_ring_emit, 1488 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1489 .cs_parse = NULL, 1489 .cs_parse = &evergreen_dma_cs_parse,
1490 .ring_test = &r600_dma_ring_test, 1490 .ring_test = &r600_dma_ring_test,
1491 .ib_test = &r600_dma_ib_test, 1491 .ib_test = &r600_dma_ib_test,
1492 .is_lockup = &cayman_dma_is_lockup, 1492 .is_lockup = &cayman_dma_is_lockup,
@@ -1496,7 +1496,7 @@ static struct radeon_asic cayman_asic = {
1496 .ib_execute = &cayman_dma_ring_ib_execute, 1496 .ib_execute = &cayman_dma_ring_ib_execute,
1497 .emit_fence = &evergreen_dma_fence_ring_emit, 1497 .emit_fence = &evergreen_dma_fence_ring_emit,
1498 .emit_semaphore = &r600_dma_semaphore_ring_emit, 1498 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1499 .cs_parse = NULL, 1499 .cs_parse = &evergreen_dma_cs_parse,
1500 .ring_test = &r600_dma_ring_test, 1500 .ring_test = &r600_dma_ring_test,
1501 .ib_test = &r600_dma_ib_test, 1501 .ib_test = &r600_dma_ib_test,
1502 .is_lockup = &cayman_dma_is_lockup, 1502 .is_lockup = &cayman_dma_is_lockup,
@@ -1611,7 +1611,7 @@ static struct radeon_asic trinity_asic = {
1611 .ib_execute = &cayman_dma_ring_ib_execute, 1611 .ib_execute = &cayman_dma_ring_ib_execute,
1612 .emit_fence = &evergreen_dma_fence_ring_emit, 1612 .emit_fence = &evergreen_dma_fence_ring_emit,
1613 .emit_semaphore = &r600_dma_semaphore_ring_emit, 1613 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1614 .cs_parse = NULL, 1614 .cs_parse = &evergreen_dma_cs_parse,
1615 .ring_test = &r600_dma_ring_test, 1615 .ring_test = &r600_dma_ring_test,
1616 .ib_test = &r600_dma_ib_test, 1616 .ib_test = &r600_dma_ib_test,
1617 .is_lockup = &cayman_dma_is_lockup, 1617 .is_lockup = &cayman_dma_is_lockup,
@@ -1621,7 +1621,7 @@ static struct radeon_asic trinity_asic = {
1621 .ib_execute = &cayman_dma_ring_ib_execute, 1621 .ib_execute = &cayman_dma_ring_ib_execute,
1622 .emit_fence = &evergreen_dma_fence_ring_emit, 1622 .emit_fence = &evergreen_dma_fence_ring_emit,
1623 .emit_semaphore = &r600_dma_semaphore_ring_emit, 1623 .emit_semaphore = &r600_dma_semaphore_ring_emit,
1624 .cs_parse = NULL, 1624 .cs_parse = &evergreen_dma_cs_parse,
1625 .ring_test = &r600_dma_ring_test, 1625 .ring_test = &r600_dma_ring_test,
1626 .ib_test = &r600_dma_ib_test, 1626 .ib_test = &r600_dma_ib_test,
1627 .is_lockup = &cayman_dma_is_lockup, 1627 .is_lockup = &cayman_dma_is_lockup,