diff options
author | Christian König <christian.koenig@amd.com> | 2018-07-13 07:54:56 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-07-16 17:11:52 -0400 |
commit | 0e28b10ff1b8e65788040b51c30c9cc984060dcd (patch) | |
tree | 4ca6f18e88b3345e26b170b54ae2b78e74675342 | |
parent | eb3961a57424a5c3dae44576d1c88e64a818d871 (diff) |
drm/amdgpu: remove ring parameter from amdgpu_job_submit
We know the ring through the entity anyway.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 9 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_job.h | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 11 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 2 |
9 files changed, 20 insertions, 21 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c index 10e0a97c7c03..51ff751e093b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | |||
@@ -117,21 +117,20 @@ void amdgpu_job_free(struct amdgpu_job *job) | |||
117 | kfree(job); | 117 | kfree(job); |
118 | } | 118 | } |
119 | 119 | ||
120 | int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring, | 120 | int amdgpu_job_submit(struct amdgpu_job *job, struct drm_sched_entity *entity, |
121 | struct drm_sched_entity *entity, void *owner, | 121 | void *owner, struct dma_fence **f) |
122 | struct dma_fence **f) | ||
123 | { | 122 | { |
124 | int r; | 123 | int r; |
125 | job->ring = ring; | ||
126 | 124 | ||
127 | if (!f) | 125 | if (!f) |
128 | return -EINVAL; | 126 | return -EINVAL; |
129 | 127 | ||
130 | r = drm_sched_job_init(&job->base, &ring->sched, entity, owner); | 128 | r = drm_sched_job_init(&job->base, entity->sched, entity, owner); |
131 | if (r) | 129 | if (r) |
132 | return r; | 130 | return r; |
133 | 131 | ||
134 | job->owner = owner; | 132 | job->owner = owner; |
133 | job->ring = to_amdgpu_ring(entity->sched); | ||
135 | *f = dma_fence_get(&job->base.s_fence->finished); | 134 | *f = dma_fence_get(&job->base.s_fence->finished); |
136 | amdgpu_job_free_resources(job); | 135 | amdgpu_job_free_resources(job); |
137 | amdgpu_ring_priority_get(job->ring, job->base.s_priority); | 136 | amdgpu_ring_priority_get(job->ring, job->base.s_priority); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h index 3151692312bd..39f4230e1d37 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h | |||
@@ -67,7 +67,6 @@ int amdgpu_job_alloc_with_ib(struct amdgpu_device *adev, unsigned size, | |||
67 | 67 | ||
68 | void amdgpu_job_free_resources(struct amdgpu_job *job); | 68 | void amdgpu_job_free_resources(struct amdgpu_job *job); |
69 | void amdgpu_job_free(struct amdgpu_job *job); | 69 | void amdgpu_job_free(struct amdgpu_job *job); |
70 | int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring, | 70 | int amdgpu_job_submit(struct amdgpu_job *job, struct drm_sched_entity *entity, |
71 | struct drm_sched_entity *entity, void *owner, | 71 | void *owner, struct dma_fence **f); |
72 | struct dma_fence **f); | ||
73 | #endif | 72 | #endif |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h index a293f4e6760d..5018c0b6bf1a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | |||
@@ -44,6 +44,8 @@ | |||
44 | #define AMDGPU_FENCE_FLAG_INT (1 << 1) | 44 | #define AMDGPU_FENCE_FLAG_INT (1 << 1) |
45 | #define AMDGPU_FENCE_FLAG_TC_WB_ONLY (1 << 2) | 45 | #define AMDGPU_FENCE_FLAG_TC_WB_ONLY (1 << 2) |
46 | 46 | ||
47 | #define to_amdgpu_ring(s) container_of((s), struct amdgpu_ring, sched) | ||
48 | |||
47 | enum amdgpu_ring_type { | 49 | enum amdgpu_ring_type { |
48 | AMDGPU_RING_TYPE_GFX, | 50 | AMDGPU_RING_TYPE_GFX, |
49 | AMDGPU_RING_TYPE_COMPUTE, | 51 | AMDGPU_RING_TYPE_COMPUTE, |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index 11a12483c995..9958e76d1c78 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |||
@@ -2006,7 +2006,7 @@ static int amdgpu_map_buffer(struct ttm_buffer_object *bo, | |||
2006 | if (r) | 2006 | if (r) |
2007 | goto error_free; | 2007 | goto error_free; |
2008 | 2008 | ||
2009 | r = amdgpu_job_submit(job, ring, &adev->mman.entity, | 2009 | r = amdgpu_job_submit(job, &adev->mman.entity, |
2010 | AMDGPU_FENCE_OWNER_UNDEFINED, &fence); | 2010 | AMDGPU_FENCE_OWNER_UNDEFINED, &fence); |
2011 | if (r) | 2011 | if (r) |
2012 | goto error_free; | 2012 | goto error_free; |
@@ -2083,7 +2083,7 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset, | |||
2083 | DRM_ERROR("Error scheduling IBs (%d)\n", r); | 2083 | DRM_ERROR("Error scheduling IBs (%d)\n", r); |
2084 | amdgpu_job_free(job); | 2084 | amdgpu_job_free(job); |
2085 | } else { | 2085 | } else { |
2086 | r = amdgpu_job_submit(job, ring, &adev->mman.entity, | 2086 | r = amdgpu_job_submit(job, &adev->mman.entity, |
2087 | AMDGPU_FENCE_OWNER_UNDEFINED, fence); | 2087 | AMDGPU_FENCE_OWNER_UNDEFINED, fence); |
2088 | if (r) | 2088 | if (r) |
2089 | goto error_free; | 2089 | goto error_free; |
@@ -2175,7 +2175,7 @@ int amdgpu_fill_buffer(struct amdgpu_bo *bo, | |||
2175 | 2175 | ||
2176 | amdgpu_ring_pad_ib(ring, &job->ibs[0]); | 2176 | amdgpu_ring_pad_ib(ring, &job->ibs[0]); |
2177 | WARN_ON(job->ibs[0].length_dw > num_dw); | 2177 | WARN_ON(job->ibs[0].length_dw > num_dw); |
2178 | r = amdgpu_job_submit(job, ring, &adev->mman.entity, | 2178 | r = amdgpu_job_submit(job, &adev->mman.entity, |
2179 | AMDGPU_FENCE_OWNER_UNDEFINED, fence); | 2179 | AMDGPU_FENCE_OWNER_UNDEFINED, fence); |
2180 | if (r) | 2180 | if (r) |
2181 | goto error_free; | 2181 | goto error_free; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c index a6c2cace4b9d..848b2e898818 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | |||
@@ -1074,7 +1074,7 @@ static int amdgpu_uvd_send_msg(struct amdgpu_ring *ring, struct amdgpu_bo *bo, | |||
1074 | if (r) | 1074 | if (r) |
1075 | goto err_free; | 1075 | goto err_free; |
1076 | 1076 | ||
1077 | r = amdgpu_job_submit(job, ring, &adev->uvd.inst[ring->me].entity, | 1077 | r = amdgpu_job_submit(job, &adev->uvd.inst[ring->me].entity, |
1078 | AMDGPU_FENCE_OWNER_UNDEFINED, &f); | 1078 | AMDGPU_FENCE_OWNER_UNDEFINED, &f); |
1079 | if (r) | 1079 | if (r) |
1080 | goto err_free; | 1080 | goto err_free; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c index ffb0fcc9707e..7dfb4c4b19c5 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | |||
@@ -539,7 +539,7 @@ int amdgpu_vce_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle, | |||
539 | 539 | ||
540 | amdgpu_job_free(job); | 540 | amdgpu_job_free(job); |
541 | } else { | 541 | } else { |
542 | r = amdgpu_job_submit(job, ring, &ring->adev->vce.entity, | 542 | r = amdgpu_job_submit(job, &ring->adev->vce.entity, |
543 | AMDGPU_FENCE_OWNER_UNDEFINED, &f); | 543 | AMDGPU_FENCE_OWNER_UNDEFINED, &f); |
544 | if (r) | 544 | if (r) |
545 | goto err; | 545 | goto err; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 484e2c19c027..5d3d783f2d72 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |||
@@ -425,8 +425,8 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev, | |||
425 | if (r) | 425 | if (r) |
426 | goto error_free; | 426 | goto error_free; |
427 | 427 | ||
428 | r = amdgpu_job_submit(job, ring, &vm->entity, | 428 | r = amdgpu_job_submit(job, &vm->entity, AMDGPU_FENCE_OWNER_UNDEFINED, |
429 | AMDGPU_FENCE_OWNER_UNDEFINED, &fence); | 429 | &fence); |
430 | if (r) | 430 | if (r) |
431 | goto error_free; | 431 | goto error_free; |
432 | 432 | ||
@@ -1120,8 +1120,8 @@ restart: | |||
1120 | amdgpu_sync_resv(adev, &job->sync, root->tbo.resv, | 1120 | amdgpu_sync_resv(adev, &job->sync, root->tbo.resv, |
1121 | AMDGPU_FENCE_OWNER_VM, false); | 1121 | AMDGPU_FENCE_OWNER_VM, false); |
1122 | WARN_ON(params.ib->length_dw > ndw); | 1122 | WARN_ON(params.ib->length_dw > ndw); |
1123 | r = amdgpu_job_submit(job, ring, &vm->entity, | 1123 | r = amdgpu_job_submit(job, &vm->entity, AMDGPU_FENCE_OWNER_VM, |
1124 | AMDGPU_FENCE_OWNER_VM, &fence); | 1124 | &fence); |
1125 | if (r) | 1125 | if (r) |
1126 | goto error; | 1126 | goto error; |
1127 | 1127 | ||
@@ -1485,8 +1485,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev, | |||
1485 | 1485 | ||
1486 | amdgpu_ring_pad_ib(ring, params.ib); | 1486 | amdgpu_ring_pad_ib(ring, params.ib); |
1487 | WARN_ON(params.ib->length_dw > ndw); | 1487 | WARN_ON(params.ib->length_dw > ndw); |
1488 | r = amdgpu_job_submit(job, ring, &vm->entity, | 1488 | r = amdgpu_job_submit(job, &vm->entity, AMDGPU_FENCE_OWNER_VM, &f); |
1489 | AMDGPU_FENCE_OWNER_VM, &f); | ||
1490 | if (r) | 1489 | if (r) |
1491 | goto error_free; | 1490 | goto error_free; |
1492 | 1491 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c index 1c118c02e8cb..591d1f211823 100644 --- a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | |||
@@ -320,7 +320,7 @@ static int uvd_v6_0_enc_get_destroy_msg(struct amdgpu_ring *ring, | |||
320 | 320 | ||
321 | amdgpu_job_free(job); | 321 | amdgpu_job_free(job); |
322 | } else { | 322 | } else { |
323 | r = amdgpu_job_submit(job, ring, &ring->adev->vce.entity, | 323 | r = amdgpu_job_submit(job, &ring->adev->vce.entity, |
324 | AMDGPU_FENCE_OWNER_UNDEFINED, &f); | 324 | AMDGPU_FENCE_OWNER_UNDEFINED, &f); |
325 | if (r) | 325 | if (r) |
326 | goto err; | 326 | goto err; |
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c index d48bc3393545..ceb0a7037897 100644 --- a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | |||
@@ -321,7 +321,7 @@ int uvd_v7_0_enc_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle, | |||
321 | 321 | ||
322 | amdgpu_job_free(job); | 322 | amdgpu_job_free(job); |
323 | } else { | 323 | } else { |
324 | r = amdgpu_job_submit(job, ring, &ring->adev->vce.entity, | 324 | r = amdgpu_job_submit(job, &ring->adev->vce.entity, |
325 | AMDGPU_FENCE_OWNER_UNDEFINED, &f); | 325 | AMDGPU_FENCE_OWNER_UNDEFINED, &f); |
326 | if (r) | 326 | if (r) |
327 | goto err; | 327 | goto err; |