diff options
author | Christian König <christian.koenig@amd.com> | 2016-01-31 06:29:04 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-02-10 14:17:20 -0500 |
commit | b07c60c0652c497af0c42c1278941f7c5a187fe9 (patch) | |
tree | d19e6dfc68fe4b25032c19ceae0e5be0f7e9c25d /drivers/gpu/drm | |
parent | 9e5d53094c5366a9a14e0694e45e794902cc2c04 (diff) |
drm/amdgpu: move ring from IBs into job
We can't submit to multiple rings at the same time anyway.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm')
-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; |