diff options
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 33 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 11 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 2 |
14 files changed, 45 insertions, 44 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index c23eea308991..dd6dd23fb3c7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
| @@ -771,7 +771,6 @@ struct amdgpu_ib { | |||
| 771 | uint32_t length_dw; | 771 | uint32_t length_dw; |
| 772 | uint64_t gpu_addr; | 772 | uint64_t gpu_addr; |
| 773 | uint32_t *ptr; | 773 | uint32_t *ptr; |
| 774 | struct amdgpu_ring *ring; | ||
| 775 | struct amdgpu_fence *fence; | 774 | struct amdgpu_fence *fence; |
| 776 | struct amdgpu_user_fence *user; | 775 | struct amdgpu_user_fence *user; |
| 777 | bool grabbed_vmid; | 776 | bool grabbed_vmid; |
| @@ -1178,10 +1177,10 @@ struct amdgpu_gfx { | |||
| 1178 | unsigned ce_ram_size; | 1177 | unsigned ce_ram_size; |
| 1179 | }; | 1178 | }; |
| 1180 | 1179 | ||
| 1181 | int amdgpu_ib_get(struct amdgpu_ring *ring, struct amdgpu_vm *vm, | 1180 | int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm, |
| 1182 | unsigned size, struct amdgpu_ib *ib); | 1181 | unsigned size, struct amdgpu_ib *ib); |
| 1183 | void amdgpu_ib_free(struct amdgpu_device *adev, struct amdgpu_ib *ib); | 1182 | void amdgpu_ib_free(struct amdgpu_device *adev, struct amdgpu_ib *ib); |
| 1184 | int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, | 1183 | int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs, |
| 1185 | struct amdgpu_ib *ib, void *owner); | 1184 | struct amdgpu_ib *ib, void *owner); |
| 1186 | int amdgpu_ib_pool_init(struct amdgpu_device *adev); | 1185 | int amdgpu_ib_pool_init(struct amdgpu_device *adev); |
| 1187 | void amdgpu_ib_pool_fini(struct amdgpu_device *adev); | 1186 | void amdgpu_ib_pool_fini(struct amdgpu_device *adev); |
| @@ -1239,6 +1238,7 @@ struct amdgpu_cs_parser { | |||
| 1239 | struct amdgpu_job { | 1238 | struct amdgpu_job { |
| 1240 | struct amd_sched_job base; | 1239 | struct amd_sched_job base; |
| 1241 | struct amdgpu_device *adev; | 1240 | struct amdgpu_device *adev; |
| 1241 | struct amdgpu_ring *ring; | ||
| 1242 | struct amdgpu_ib *ibs; | 1242 | struct amdgpu_ib *ibs; |
| 1243 | uint32_t num_ibs; | 1243 | uint32_t num_ibs; |
| 1244 | void *owner; | 1244 | void *owner; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 8f3b72f5c91c..d928165bfc33 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |||
| @@ -542,26 +542,25 @@ static int amdgpu_bo_vm_update_pte(struct amdgpu_cs_parser *p, | |||
| 542 | } | 542 | } |
| 543 | 543 | ||
| 544 | static int amdgpu_cs_ib_vm_chunk(struct amdgpu_device *adev, | 544 | static int amdgpu_cs_ib_vm_chunk(struct amdgpu_device *adev, |
| 545 | struct amdgpu_cs_parser *parser) | 545 | struct amdgpu_cs_parser *p) |
| 546 | { | 546 | { |
| 547 | struct amdgpu_fpriv *fpriv = parser->filp->driver_priv; | 547 | struct amdgpu_fpriv *fpriv = p->filp->driver_priv; |
| 548 | struct amdgpu_vm *vm = &fpriv->vm; | 548 | struct amdgpu_vm *vm = &fpriv->vm; |
| 549 | struct amdgpu_ring *ring; | 549 | struct amdgpu_ring *ring = p->job->ring; |
| 550 | int i, r; | 550 | int i, r; |
| 551 | 551 | ||
| 552 | /* Only for UVD/VCE VM emulation */ | 552 | /* Only for UVD/VCE VM emulation */ |
| 553 | for (i = 0; i < parser->job->num_ibs; i++) { | 553 | if (ring->funcs->parse_cs) { |
| 554 | ring = parser->job->ibs[i].ring; | 554 | for (i = 0; i < p->job->num_ibs; i++) { |
| 555 | if (ring->funcs->parse_cs) { | 555 | r = amdgpu_ring_parse_cs(ring, p, i); |
| 556 | r = amdgpu_ring_parse_cs(ring, parser, i); | ||
| 557 | if (r) | 556 | if (r) |
| 558 | return r; | 557 | return r; |
| 559 | } | 558 | } |
| 560 | } | 559 | } |
| 561 | 560 | ||
| 562 | r = amdgpu_bo_vm_update_pte(parser, vm); | 561 | r = amdgpu_bo_vm_update_pte(p, vm); |
| 563 | if (!r) | 562 | if (!r) |
| 564 | amdgpu_cs_sync_rings(parser); | 563 | amdgpu_cs_sync_rings(p); |
| 565 | 564 | ||
| 566 | return r; | 565 | return r; |
| 567 | } | 566 | } |
| @@ -603,6 +602,11 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev, | |||
| 603 | if (r) | 602 | if (r) |
| 604 | return r; | 603 | return r; |
| 605 | 604 | ||
| 605 | if (parser->job->ring && parser->job->ring != ring) | ||
| 606 | return -EINVAL; | ||
| 607 | |||
| 608 | parser->job->ring = ring; | ||
| 609 | |||
| 606 | if (ring->funcs->parse_cs) { | 610 | if (ring->funcs->parse_cs) { |
| 607 | struct amdgpu_bo_va_mapping *m; | 611 | struct amdgpu_bo_va_mapping *m; |
| 608 | struct amdgpu_bo *aobj = NULL; | 612 | struct amdgpu_bo *aobj = NULL; |
| @@ -631,7 +635,7 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev, | |||
| 631 | offset = ((uint64_t)m->it.start) * AMDGPU_GPU_PAGE_SIZE; | 635 | offset = ((uint64_t)m->it.start) * AMDGPU_GPU_PAGE_SIZE; |
| 632 | kptr += chunk_ib->va_start - offset; | 636 | kptr += chunk_ib->va_start - offset; |
| 633 | 637 | ||
| 634 | r = amdgpu_ib_get(ring, NULL, chunk_ib->ib_bytes, ib); | 638 | r = amdgpu_ib_get(adev, NULL, chunk_ib->ib_bytes, ib); |
| 635 | if (r) { | 639 | if (r) { |
| 636 | DRM_ERROR("Failed to get ib !\n"); | 640 | DRM_ERROR("Failed to get ib !\n"); |
| 637 | return r; | 641 | return r; |
| @@ -640,7 +644,7 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev, | |||
| 640 | memcpy(ib->ptr, kptr, chunk_ib->ib_bytes); | 644 | memcpy(ib->ptr, kptr, chunk_ib->ib_bytes); |
| 641 | amdgpu_bo_kunmap(aobj); | 645 | amdgpu_bo_kunmap(aobj); |
| 642 | } else { | 646 | } else { |
| 643 | r = amdgpu_ib_get(ring, vm, 0, ib); | 647 | r = amdgpu_ib_get(adev, vm, 0, ib); |
| 644 | if (r) { | 648 | if (r) { |
| 645 | DRM_ERROR("Failed to get ib !\n"); | 649 | DRM_ERROR("Failed to get ib !\n"); |
| 646 | return r; | 650 | return r; |
| @@ -680,8 +684,8 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev, | |||
| 680 | struct amdgpu_ib *ib = &parser->job->ibs[parser->job->num_ibs - 1]; | 684 | struct amdgpu_ib *ib = &parser->job->ibs[parser->job->num_ibs - 1]; |
| 681 | 685 | ||
| 682 | /* UVD & VCE fw doesn't support user fences */ | 686 | /* UVD & VCE fw doesn't support user fences */ |
| 683 | if (ib->ring->type == AMDGPU_RING_TYPE_UVD || | 687 | if (parser->job->ring->type == AMDGPU_RING_TYPE_UVD || |
| 684 | ib->ring->type == AMDGPU_RING_TYPE_VCE) | 688 | parser->job->ring->type == AMDGPU_RING_TYPE_VCE) |
| 685 | return -EINVAL; | 689 | return -EINVAL; |
| 686 | 690 | ||
| 687 | ib->user = &parser->job->uf; | 691 | ib->user = &parser->job->uf; |
| @@ -757,7 +761,7 @@ static int amdgpu_cs_free_job(struct amdgpu_job *job) | |||
| 757 | static int amdgpu_cs_submit(struct amdgpu_cs_parser *p, | 761 | static int amdgpu_cs_submit(struct amdgpu_cs_parser *p, |
| 758 | union drm_amdgpu_cs *cs) | 762 | union drm_amdgpu_cs *cs) |
| 759 | { | 763 | { |
| 760 | struct amdgpu_ring * ring = p->job->ibs->ring; | 764 | struct amdgpu_ring *ring = p->job->ring; |
| 761 | struct amd_sched_fence *fence; | 765 | struct amd_sched_fence *fence; |
| 762 | struct amdgpu_job *job; | 766 | struct amdgpu_job *job; |
| 763 | 767 | ||
| @@ -766,7 +770,6 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p, | |||
| 766 | 770 | ||
| 767 | job->base.sched = &ring->sched; | 771 | job->base.sched = &ring->sched; |
| 768 | job->base.s_entity = &p->ctx->rings[ring->idx].entity; | 772 | job->base.s_entity = &p->ctx->rings[ring->idx].entity; |
| 769 | job->adev = p->adev; | ||
| 770 | job->owner = p->filp; | 773 | job->owner = p->filp; |
| 771 | job->free_job = amdgpu_cs_free_job; | 774 | job->free_job = amdgpu_cs_free_job; |
| 772 | 775 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c index b6737707eda2..47196ec593fc 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | |||
| @@ -55,10 +55,9 @@ static int amdgpu_debugfs_sa_init(struct amdgpu_device *adev); | |||
| 55 | * suballocator. | 55 | * suballocator. |
| 56 | * Returns 0 on success, error on failure. | 56 | * Returns 0 on success, error on failure. |
| 57 | */ | 57 | */ |
| 58 | int amdgpu_ib_get(struct amdgpu_ring *ring, struct amdgpu_vm *vm, | 58 | int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm, |
| 59 | unsigned size, struct amdgpu_ib *ib) | 59 | unsigned size, struct amdgpu_ib *ib) |
| 60 | { | 60 | { |
| 61 | struct amdgpu_device *adev = ring->adev; | ||
| 62 | int r; | 61 | int r; |
| 63 | 62 | ||
| 64 | if (size) { | 63 | if (size) { |
| @@ -77,7 +76,6 @@ int amdgpu_ib_get(struct amdgpu_ring *ring, struct amdgpu_vm *vm, | |||
| 77 | 76 | ||
| 78 | amdgpu_sync_create(&ib->sync); | 77 | amdgpu_sync_create(&ib->sync); |
| 79 | 78 | ||
| 80 | ib->ring = ring; | ||
| 81 | ib->vm = vm; | 79 | ib->vm = vm; |
| 82 | 80 | ||
| 83 | return 0; | 81 | return 0; |
| @@ -120,11 +118,11 @@ void amdgpu_ib_free(struct amdgpu_device *adev, struct amdgpu_ib *ib) | |||
| 120 | * a CONST_IB), it will be put on the ring prior to the DE IB. Prior | 118 | * a CONST_IB), it will be put on the ring prior to the DE IB. Prior |
| 121 | * to SI there was just a DE IB. | 119 | * to SI there was just a DE IB. |
| 122 | */ | 120 | */ |
| 123 | int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, | 121 | int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs, |
| 124 | struct amdgpu_ib *ibs, void *owner) | 122 | struct amdgpu_ib *ibs, void *owner) |
| 125 | { | 123 | { |
| 124 | struct amdgpu_device *adev = ring->adev; | ||
| 126 | struct amdgpu_ib *ib = &ibs[0]; | 125 | struct amdgpu_ib *ib = &ibs[0]; |
| 127 | struct amdgpu_ring *ring; | ||
| 128 | struct amdgpu_ctx *ctx, *old_ctx; | 126 | struct amdgpu_ctx *ctx, *old_ctx; |
| 129 | struct amdgpu_vm *vm; | 127 | struct amdgpu_vm *vm; |
| 130 | unsigned i; | 128 | unsigned i; |
| @@ -133,7 +131,6 @@ int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, | |||
| 133 | if (num_ibs == 0) | 131 | if (num_ibs == 0) |
| 134 | return -EINVAL; | 132 | return -EINVAL; |
| 135 | 133 | ||
| 136 | ring = ibs->ring; | ||
| 137 | ctx = ibs->ctx; | 134 | ctx = ibs->ctx; |
| 138 | vm = ibs->vm; | 135 | vm = ibs->vm; |
| 139 | 136 | ||
| @@ -178,7 +175,7 @@ int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, | |||
| 178 | for (i = 0; i < num_ibs; ++i) { | 175 | for (i = 0; i < num_ibs; ++i) { |
| 179 | ib = &ibs[i]; | 176 | ib = &ibs[i]; |
| 180 | 177 | ||
| 181 | if (ib->ring != ring || ib->ctx != ctx || ib->vm != vm) { | 178 | if (ib->ctx != ctx || ib->vm != vm) { |
| 182 | ring->current_ctx = old_ctx; | 179 | ring->current_ctx = old_ctx; |
| 183 | amdgpu_ring_undo(ring); | 180 | amdgpu_ring_undo(ring); |
| 184 | return -EINVAL; | 181 | return -EINVAL; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c index 10d098e33707..84453c1c4b07 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | |||
| @@ -70,7 +70,7 @@ static struct fence *amdgpu_sched_dependency(struct amd_sched_job *sched_job) | |||
| 70 | struct fence *fence = amdgpu_sync_get_fence(sync); | 70 | struct fence *fence = amdgpu_sync_get_fence(sync); |
| 71 | 71 | ||
| 72 | if (fence == NULL && vm && !job->ibs->grabbed_vmid) { | 72 | if (fence == NULL && vm && !job->ibs->grabbed_vmid) { |
| 73 | struct amdgpu_ring *ring = job->ibs->ring; | 73 | struct amdgpu_ring *ring = job->ring; |
| 74 | int r; | 74 | int r; |
| 75 | 75 | ||
| 76 | r = amdgpu_vm_grab_id(vm, ring, sync, | 76 | r = amdgpu_vm_grab_id(vm, ring, sync, |
| @@ -98,7 +98,7 @@ static struct fence *amdgpu_sched_run_job(struct amd_sched_job *sched_job) | |||
| 98 | } | 98 | } |
| 99 | job = to_amdgpu_job(sched_job); | 99 | job = to_amdgpu_job(sched_job); |
| 100 | trace_amdgpu_sched_run_job(job); | 100 | trace_amdgpu_sched_run_job(job); |
| 101 | r = amdgpu_ib_schedule(job->adev, job->num_ibs, job->ibs, job->owner); | 101 | r = amdgpu_ib_schedule(job->ring, job->num_ibs, job->ibs, job->owner); |
| 102 | if (r) { | 102 | if (r) { |
| 103 | DRM_ERROR("Error scheduling IBs (%d)\n", r); | 103 | DRM_ERROR("Error scheduling IBs (%d)\n", r); |
| 104 | goto err; | 104 | goto err; |
| @@ -142,6 +142,7 @@ int amdgpu_sched_ib_submit_kernel_helper(struct amdgpu_device *adev, | |||
| 142 | *f = fence_get(&job->base.s_fence->base); | 142 | *f = fence_get(&job->base.s_fence->base); |
| 143 | 143 | ||
| 144 | job->adev = adev; | 144 | job->adev = adev; |
| 145 | job->ring = ring; | ||
| 145 | job->ibs = ibs; | 146 | job->ibs = ibs; |
| 146 | job->num_ibs = num_ibs; | 147 | job->num_ibs = num_ibs; |
| 147 | job->owner = owner; | 148 | job->owner = owner; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h index f808b5a6e52b..9ca3735c563c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | |||
| @@ -38,10 +38,10 @@ TRACE_EVENT(amdgpu_cs, | |||
| 38 | 38 | ||
| 39 | TP_fast_assign( | 39 | TP_fast_assign( |
| 40 | __entry->bo_list = p->bo_list; | 40 | __entry->bo_list = p->bo_list; |
| 41 | __entry->ring = p->job->ibs[i].ring->idx; | 41 | __entry->ring = p->job->ring->idx; |
| 42 | __entry->dw = p->job->ibs[i].length_dw; | 42 | __entry->dw = p->job->ibs[i].length_dw; |
| 43 | __entry->fences = amdgpu_fence_count_emitted( | 43 | __entry->fences = amdgpu_fence_count_emitted( |
| 44 | p->job->ibs[i].ring); | 44 | p->job->ring); |
| 45 | ), | 45 | ), |
| 46 | TP_printk("bo_list=%p, ring=%u, dw=%u, fences=%u", | 46 | TP_printk("bo_list=%p, ring=%u, dw=%u, fences=%u", |
| 47 | __entry->bo_list, __entry->ring, __entry->dw, | 47 | __entry->bo_list, __entry->ring, __entry->dw, |
| @@ -65,7 +65,7 @@ TRACE_EVENT(amdgpu_cs_ioctl, | |||
| 65 | __entry->sched_job = &job->base; | 65 | __entry->sched_job = &job->base; |
| 66 | __entry->ib = job->ibs; | 66 | __entry->ib = job->ibs; |
| 67 | __entry->fence = &job->base.s_fence->base; | 67 | __entry->fence = &job->base.s_fence->base; |
| 68 | __entry->ring_name = job->ibs[0].ring->name; | 68 | __entry->ring_name = job->ring->name; |
| 69 | __entry->num_ibs = job->num_ibs; | 69 | __entry->num_ibs = job->num_ibs; |
| 70 | ), | 70 | ), |
| 71 | TP_printk("adev=%p, sched_job=%p, first ib=%p, sched fence=%p, ring name:%s, num_ibs:%u", | 71 | TP_printk("adev=%p, sched_job=%p, first ib=%p, sched fence=%p, ring name:%s, num_ibs:%u", |
| @@ -90,7 +90,7 @@ TRACE_EVENT(amdgpu_sched_run_job, | |||
| 90 | __entry->sched_job = &job->base; | 90 | __entry->sched_job = &job->base; |
| 91 | __entry->ib = job->ibs; | 91 | __entry->ib = job->ibs; |
| 92 | __entry->fence = &job->base.s_fence->base; | 92 | __entry->fence = &job->base.s_fence->base; |
| 93 | __entry->ring_name = job->ibs[0].ring->name; | 93 | __entry->ring_name = job->ring->name; |
| 94 | __entry->num_ibs = job->num_ibs; | 94 | __entry->num_ibs = job->num_ibs; |
| 95 | ), | 95 | ), |
| 96 | TP_printk("adev=%p, sched_job=%p, first ib=%p, sched fence=%p, ring name:%s, num_ibs:%u", | 96 | TP_printk("adev=%p, sched_job=%p, first ib=%p, sched fence=%p, ring name:%s, num_ibs:%u", |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index a7354798f087..6b63dcc3a773 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |||
| @@ -1030,7 +1030,7 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, | |||
| 1030 | if (!ib) | 1030 | if (!ib) |
| 1031 | return -ENOMEM; | 1031 | return -ENOMEM; |
| 1032 | 1032 | ||
| 1033 | r = amdgpu_ib_get(ring, NULL, num_dw * 4, ib); | 1033 | r = amdgpu_ib_get(adev, NULL, num_dw * 4, ib); |
| 1034 | if (r) { | 1034 | if (r) { |
| 1035 | kfree(ib); | 1035 | kfree(ib); |
| 1036 | return r; | 1036 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c index f2bd2334bbe6..46f2bdb76d20 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | |||
| @@ -867,7 +867,7 @@ static int amdgpu_uvd_send_msg(struct amdgpu_ring *ring, | |||
| 867 | r = -ENOMEM; | 867 | r = -ENOMEM; |
| 868 | goto err; | 868 | goto err; |
| 869 | } | 869 | } |
| 870 | r = amdgpu_ib_get(ring, NULL, 64, ib); | 870 | r = amdgpu_ib_get(adev, NULL, 64, ib); |
| 871 | if (r) | 871 | if (r) |
| 872 | goto err1; | 872 | goto err1; |
| 873 | 873 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c index 66b7bfafca24..bcbe4167d7b1 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | |||
| @@ -377,7 +377,7 @@ int amdgpu_vce_get_create_msg(struct amdgpu_ring *ring, uint32_t handle, | |||
| 377 | ib = kzalloc(sizeof(struct amdgpu_ib), GFP_KERNEL); | 377 | ib = kzalloc(sizeof(struct amdgpu_ib), GFP_KERNEL); |
| 378 | if (!ib) | 378 | if (!ib) |
| 379 | return -ENOMEM; | 379 | return -ENOMEM; |
| 380 | r = amdgpu_ib_get(ring, NULL, ib_size_dw * 4, ib); | 380 | r = amdgpu_ib_get(adev, NULL, ib_size_dw * 4, ib); |
| 381 | if (r) { | 381 | if (r) { |
| 382 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); | 382 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); |
| 383 | kfree(ib); | 383 | kfree(ib); |
| @@ -463,7 +463,7 @@ int amdgpu_vce_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle, | |||
| 463 | if (!ib) | 463 | if (!ib) |
| 464 | return -ENOMEM; | 464 | return -ENOMEM; |
| 465 | 465 | ||
| 466 | r = amdgpu_ib_get(ring, NULL, ib_size_dw * 4, ib); | 466 | r = amdgpu_ib_get(adev, NULL, ib_size_dw * 4, ib); |
| 467 | if (r) { | 467 | if (r) { |
| 468 | kfree(ib); | 468 | kfree(ib); |
| 469 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); | 469 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index d0acc9c0fd7f..b68642b47b7b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |||
| @@ -355,7 +355,7 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev, | |||
| 355 | if (!ib) | 355 | if (!ib) |
| 356 | goto error; | 356 | goto error; |
| 357 | 357 | ||
| 358 | r = amdgpu_ib_get(ring, NULL, 64, ib); | 358 | r = amdgpu_ib_get(adev, NULL, 64, ib); |
| 359 | if (r) | 359 | if (r) |
| 360 | goto error_free; | 360 | goto error_free; |
| 361 | 361 | ||
| @@ -448,7 +448,7 @@ int amdgpu_vm_update_page_directory(struct amdgpu_device *adev, | |||
| 448 | if (!ib) | 448 | if (!ib) |
| 449 | return -ENOMEM; | 449 | return -ENOMEM; |
| 450 | 450 | ||
| 451 | r = amdgpu_ib_get(ring, NULL, ndw * 4, ib); | 451 | r = amdgpu_ib_get(adev, NULL, ndw * 4, ib); |
| 452 | if (r) { | 452 | if (r) { |
| 453 | kfree(ib); | 453 | kfree(ib); |
| 454 | return r; | 454 | return r; |
| @@ -737,7 +737,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, | |||
| 737 | if (!ib) | 737 | if (!ib) |
| 738 | return -ENOMEM; | 738 | return -ENOMEM; |
| 739 | 739 | ||
| 740 | r = amdgpu_ib_get(ring, NULL, ndw * 4, ib); | 740 | r = amdgpu_ib_get(adev, NULL, ndw * 4, ib); |
| 741 | if (r) { | 741 | if (r) { |
| 742 | kfree(ib); | 742 | kfree(ib); |
| 743 | return r; | 743 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c index 1007a98f775b..f352d7559686 100644 --- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c | |||
| @@ -621,7 +621,7 @@ static int cik_sdma_ring_test_ib(struct amdgpu_ring *ring) | |||
| 621 | tmp = 0xCAFEDEAD; | 621 | tmp = 0xCAFEDEAD; |
| 622 | adev->wb.wb[index] = cpu_to_le32(tmp); | 622 | adev->wb.wb[index] = cpu_to_le32(tmp); |
| 623 | memset(&ib, 0, sizeof(ib)); | 623 | memset(&ib, 0, sizeof(ib)); |
| 624 | r = amdgpu_ib_get(ring, NULL, 256, &ib); | 624 | r = amdgpu_ib_get(adev, NULL, 256, &ib); |
| 625 | if (r) { | 625 | if (r) { |
| 626 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); | 626 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); |
| 627 | goto err0; | 627 | goto err0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c index 40159d529e5b..5f57a820dacb 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | |||
| @@ -2631,7 +2631,7 @@ static int gfx_v7_0_ring_test_ib(struct amdgpu_ring *ring) | |||
| 2631 | } | 2631 | } |
| 2632 | WREG32(scratch, 0xCAFEDEAD); | 2632 | WREG32(scratch, 0xCAFEDEAD); |
| 2633 | memset(&ib, 0, sizeof(ib)); | 2633 | memset(&ib, 0, sizeof(ib)); |
| 2634 | r = amdgpu_ib_get(ring, NULL, 256, &ib); | 2634 | r = amdgpu_ib_get(adev, NULL, 256, &ib); |
| 2635 | if (r) { | 2635 | if (r) { |
| 2636 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); | 2636 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); |
| 2637 | goto err1; | 2637 | goto err1; |
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index 2ca36606c2ef..dbfa895c2ae5 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | |||
| @@ -699,7 +699,7 @@ static int gfx_v8_0_ring_test_ib(struct amdgpu_ring *ring) | |||
| 699 | } | 699 | } |
| 700 | WREG32(scratch, 0xCAFEDEAD); | 700 | WREG32(scratch, 0xCAFEDEAD); |
| 701 | memset(&ib, 0, sizeof(ib)); | 701 | memset(&ib, 0, sizeof(ib)); |
| 702 | r = amdgpu_ib_get(ring, NULL, 256, &ib); | 702 | r = amdgpu_ib_get(adev, NULL, 256, &ib); |
| 703 | if (r) { | 703 | if (r) { |
| 704 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); | 704 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); |
| 705 | goto err1; | 705 | goto err1; |
| @@ -1171,7 +1171,7 @@ static int gfx_v8_0_do_edc_gpr_workarounds(struct amdgpu_device *adev) | |||
| 1171 | 1171 | ||
| 1172 | /* allocate an indirect buffer to put the commands in */ | 1172 | /* allocate an indirect buffer to put the commands in */ |
| 1173 | memset(&ib, 0, sizeof(ib)); | 1173 | memset(&ib, 0, sizeof(ib)); |
| 1174 | r = amdgpu_ib_get(ring, NULL, total_size, &ib); | 1174 | r = amdgpu_ib_get(adev, NULL, total_size, &ib); |
| 1175 | if (r) { | 1175 | if (r) { |
| 1176 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); | 1176 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); |
| 1177 | return r; | 1177 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c index 5dfb13c56b90..49ec93cc7166 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | |||
| @@ -674,7 +674,7 @@ static int sdma_v2_4_ring_test_ib(struct amdgpu_ring *ring) | |||
| 674 | tmp = 0xCAFEDEAD; | 674 | tmp = 0xCAFEDEAD; |
| 675 | adev->wb.wb[index] = cpu_to_le32(tmp); | 675 | adev->wb.wb[index] = cpu_to_le32(tmp); |
| 676 | memset(&ib, 0, sizeof(ib)); | 676 | memset(&ib, 0, sizeof(ib)); |
| 677 | r = amdgpu_ib_get(ring, NULL, 256, &ib); | 677 | r = amdgpu_ib_get(adev, NULL, 256, &ib); |
| 678 | if (r) { | 678 | if (r) { |
| 679 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); | 679 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); |
| 680 | goto err0; | 680 | goto err0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c index 999a169299f0..8fe150f02634 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | |||
| @@ -825,7 +825,7 @@ static int sdma_v3_0_ring_test_ib(struct amdgpu_ring *ring) | |||
| 825 | tmp = 0xCAFEDEAD; | 825 | tmp = 0xCAFEDEAD; |
| 826 | adev->wb.wb[index] = cpu_to_le32(tmp); | 826 | adev->wb.wb[index] = cpu_to_le32(tmp); |
| 827 | memset(&ib, 0, sizeof(ib)); | 827 | memset(&ib, 0, sizeof(ib)); |
| 828 | r = amdgpu_ib_get(ring, NULL, 256, &ib); | 828 | r = amdgpu_ib_get(adev, NULL, 256, &ib); |
| 829 | if (r) { | 829 | if (r) { |
| 830 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); | 830 | DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); |
| 831 | goto err0; | 831 | goto err0; |
