aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index dc3b2f980d87..55667ab4fbf5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -1008,8 +1008,9 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev,
1008 return -EINVAL; 1008 return -EINVAL;
1009 } 1009 }
1010 1010
1011 r = amdgpu_queue_mgr_map(adev, &parser->ctx->queue_mgr, chunk_ib->ip_type, 1011 r = amdgpu_ctx_get_ring(parser->ctx, chunk_ib->ip_type,
1012 chunk_ib->ip_instance, chunk_ib->ring, &ring); 1012 chunk_ib->ip_instance, chunk_ib->ring,
1013 &ring);
1013 if (r) 1014 if (r)
1014 return r; 1015 return r;
1015 1016
@@ -1067,10 +1068,9 @@ static int amdgpu_cs_process_fence_dep(struct amdgpu_cs_parser *p,
1067 if (ctx == NULL) 1068 if (ctx == NULL)
1068 return -EINVAL; 1069 return -EINVAL;
1069 1070
1070 r = amdgpu_queue_mgr_map(p->adev, &ctx->queue_mgr, 1071 r = amdgpu_ctx_get_ring(ctx, deps[i].ip_type,
1071 deps[i].ip_type, 1072 deps[i].ip_instance,
1072 deps[i].ip_instance, 1073 deps[i].ring, &ring);
1073 deps[i].ring, &ring);
1074 if (r) { 1074 if (r) {
1075 amdgpu_ctx_put(ctx); 1075 amdgpu_ctx_put(ctx);
1076 return r; 1076 return r;
@@ -1331,7 +1331,6 @@ int amdgpu_cs_wait_ioctl(struct drm_device *dev, void *data,
1331 struct drm_file *filp) 1331 struct drm_file *filp)
1332{ 1332{
1333 union drm_amdgpu_wait_cs *wait = data; 1333 union drm_amdgpu_wait_cs *wait = data;
1334 struct amdgpu_device *adev = dev->dev_private;
1335 unsigned long timeout = amdgpu_gem_timeout(wait->in.timeout); 1334 unsigned long timeout = amdgpu_gem_timeout(wait->in.timeout);
1336 struct amdgpu_ring *ring = NULL; 1335 struct amdgpu_ring *ring = NULL;
1337 struct amdgpu_ctx *ctx; 1336 struct amdgpu_ctx *ctx;
@@ -1342,9 +1341,8 @@ int amdgpu_cs_wait_ioctl(struct drm_device *dev, void *data,
1342 if (ctx == NULL) 1341 if (ctx == NULL)
1343 return -EINVAL; 1342 return -EINVAL;
1344 1343
1345 r = amdgpu_queue_mgr_map(adev, &ctx->queue_mgr, 1344 r = amdgpu_ctx_get_ring(ctx, wait->in.ip_type, wait->in.ip_instance,
1346 wait->in.ip_type, wait->in.ip_instance, 1345 wait->in.ring, &ring);
1347 wait->in.ring, &ring);
1348 if (r) { 1346 if (r) {
1349 amdgpu_ctx_put(ctx); 1347 amdgpu_ctx_put(ctx);
1350 return r; 1348 return r;
@@ -1391,8 +1389,8 @@ static struct dma_fence *amdgpu_cs_get_fence(struct amdgpu_device *adev,
1391 if (ctx == NULL) 1389 if (ctx == NULL)
1392 return ERR_PTR(-EINVAL); 1390 return ERR_PTR(-EINVAL);
1393 1391
1394 r = amdgpu_queue_mgr_map(adev, &ctx->queue_mgr, user->ip_type, 1392 r = amdgpu_ctx_get_ring(ctx, user->ip_type, user->ip_instance,
1395 user->ip_instance, user->ring, &ring); 1393 user->ring, &ring);
1396 if (r) { 1394 if (r) {
1397 amdgpu_ctx_put(ctx); 1395 amdgpu_ctx_put(ctx);
1398 return ERR_PTR(r); 1396 return ERR_PTR(r);