From: Alex Deucher <alexander.deuc...@amd.com>

Very basic implementation for picking the ring priority.

Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 drivers/gpu/drm/radeon/radeon_cs.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_cs.c 
b/drivers/gpu/drm/radeon/radeon_cs.c
index 5e459a3..5cac832 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -103,8 +103,13 @@ static int radeon_cs_get_ring(struct radeon_cs_parser *p, 
u32 ring, s32 priority
                p->ring = RADEON_RING_TYPE_GFX_INDEX;
                break;
        case RADEON_CS_RING_COMPUTE:
-               /* for now */
-               p->ring = RADEON_RING_TYPE_GFX_INDEX;
+               if (p->rdev->family >= CHIP_TAHITI) {
+                       if (p->priority > 0)
+                               p->ring = CAYMAN_RING_TYPE_CP1_INDEX;
+                       else
+                               p->ring = CAYMAN_RING_TYPE_CP2_INDEX;
+               } else
+                       p->ring = RADEON_RING_TYPE_GFX_INDEX;
                break;
        }
        return 0;
-- 
1.7.7.5

Reply via email to