diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 22 |
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); |