drm/amdgpu: merge amd_sched_entity and amd_context_entity v2
Avoiding a couple of casts.
v2: rename c_entity to entity as well
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 423cf91..1e68000 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1013,9 +1013,9 @@
#define AMDGPU_CTX_MAX_CS_PENDING 16
struct amdgpu_ctx_ring {
- uint64_t sequence;
- struct fence *fences[AMDGPU_CTX_MAX_CS_PENDING];
- struct amd_context_entity c_entity;
+ uint64_t sequence;
+ struct fence *fences[AMDGPU_CTX_MAX_CS_PENDING];
+ struct amd_sched_entity entity;
};
struct amdgpu_ctx {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index d26688d..b1dc7e1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -900,7 +900,7 @@
struct amdgpu_ring * ring =
amdgpu_cs_parser_get_ring(adev, parser);
parser->ibs[parser->num_ibs - 1].sequence = atomic64_inc_return(
- &parser->ctx->rings[ring->idx].c_entity.last_queued_v_seq);
+ &parser->ctx->rings[ring->idx].entity.last_queued_v_seq);
if (ring->is_pte_ring || (parser->bo_list && parser->bo_list->has_userptr)) {
r = amdgpu_cs_parser_prepare_job(parser);
if (r)
@@ -911,7 +911,7 @@
parser->run_job = amdgpu_cs_parser_run_job;
parser->free_job = amdgpu_cs_parser_free_job;
amd_sched_push_job(ring->scheduler,
- &parser->ctx->rings[ring->idx].c_entity,
+ &parser->ctx->rings[ring->idx].entity,
parser);
cs->out.handle = parser->ibs[parser->num_ibs - 1].sequence;
up_read(&adev->exclusive_lock);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
index e04364c..232e800 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
@@ -46,17 +46,17 @@
rq = &adev->rings[i]->scheduler->kernel_rq;
else
rq = &adev->rings[i]->scheduler->sched_rq;
- r = amd_context_entity_init(adev->rings[i]->scheduler,
- &ctx->rings[i].c_entity,
- rq, amdgpu_sched_jobs);
+ r = amd_sched_entity_init(adev->rings[i]->scheduler,
+ &ctx->rings[i].entity,
+ rq, amdgpu_sched_jobs);
if (r)
break;
}
if (i < adev->num_rings) {
for (j = 0; j < i; j++)
- amd_context_entity_fini(adev->rings[j]->scheduler,
- &ctx->rings[j].c_entity);
+ amd_sched_entity_fini(adev->rings[j]->scheduler,
+ &ctx->rings[j].entity);
kfree(ctx);
return r;
}
@@ -75,8 +75,8 @@
if (amdgpu_enable_scheduler) {
for (i = 0; i < adev->num_rings; i++)
- amd_context_entity_fini(adev->rings[i]->scheduler,
- &ctx->rings[i].c_entity);
+ amd_sched_entity_fini(adev->rings[i]->scheduler,
+ &ctx->rings[i].entity);
}
}
@@ -271,7 +271,7 @@
int r;
if (amdgpu_enable_scheduler) {
- r = amd_sched_wait_emit(&cring->c_entity,
+ r = amd_sched_wait_emit(&cring->entity,
seq,
false,
-1);
@@ -281,7 +281,7 @@
spin_lock(&ctx->ring_lock);
if (amdgpu_enable_scheduler)
- queued_seq = amd_sched_next_queued_seq(&cring->c_entity);
+ queued_seq = amd_sched_next_queued_seq(&cring->entity);
else
queued_seq = cring->sequence;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
index 71a4a7e4..787b93d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
@@ -28,7 +28,7 @@
#include "amdgpu.h"
static int amdgpu_sched_prepare_job(struct amd_gpu_scheduler *sched,
- struct amd_context_entity *c_entity,
+ struct amd_sched_entity *entity,
void *job)
{
int r = 0;
@@ -51,7 +51,7 @@
}
static void amdgpu_sched_run_job(struct amd_gpu_scheduler *sched,
- struct amd_context_entity *c_entity,
+ struct amd_sched_entity *entity,
struct amd_sched_job *job)
{
int r = 0;
@@ -83,7 +83,7 @@
goto err;
}
- amd_sched_emit(c_entity, sched_job->ibs[sched_job->num_ibs - 1].sequence);
+ amd_sched_emit(entity, sched_job->ibs[sched_job->num_ibs - 1].sequence);
mutex_unlock(&sched_job->job_lock);
return;
@@ -136,13 +136,13 @@
return -ENOMEM;
}
sched_job->free_job = free_job;
- v_seq = atomic64_inc_return(&adev->kernel_ctx.rings[ring->idx].c_entity.last_queued_v_seq);
+ v_seq = atomic64_inc_return(&adev->kernel_ctx.rings[ring->idx].entity.last_queued_v_seq);
ibs[num_ibs - 1].sequence = v_seq;
amd_sched_push_job(ring->scheduler,
- &adev->kernel_ctx.rings[ring->idx].c_entity,
+ &adev->kernel_ctx.rings[ring->idx].entity,
sched_job);
r = amd_sched_wait_emit(
- &adev->kernel_ctx.rings[ring->idx].c_entity,
+ &adev->kernel_ctx.rings[ring->idx].entity,
v_seq,
false,
-1);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 9d5043c..230bf1f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -379,12 +379,12 @@
sched_job->job_param.vm.bo = bo;
sched_job->run_job = amdgpu_vm_run_job;
sched_job->free_job = amdgpu_vm_free_job;
- v_seq = atomic64_inc_return(&adev->kernel_ctx.rings[ring->idx].c_entity.last_queued_v_seq);
+ v_seq = atomic64_inc_return(&adev->kernel_ctx.rings[ring->idx].entity.last_queued_v_seq);
ib->sequence = v_seq;
amd_sched_push_job(ring->scheduler,
- &adev->kernel_ctx.rings[ring->idx].c_entity,
+ &adev->kernel_ctx.rings[ring->idx].entity,
sched_job);
- r = amd_sched_wait_emit(&adev->kernel_ctx.rings[ring->idx].c_entity,
+ r = amd_sched_wait_emit(&adev->kernel_ctx.rings[ring->idx].entity,
v_seq,
false,
-1);
@@ -530,12 +530,12 @@
sched_job->job_param.vm.bo = pd;
sched_job->run_job = amdgpu_vm_run_job;
sched_job->free_job = amdgpu_vm_free_job;
- v_seq = atomic64_inc_return(&adev->kernel_ctx.rings[ring->idx].c_entity.last_queued_v_seq);
+ v_seq = atomic64_inc_return(&adev->kernel_ctx.rings[ring->idx].entity.last_queued_v_seq);
ib->sequence = v_seq;
amd_sched_push_job(ring->scheduler,
- &adev->kernel_ctx.rings[ring->idx].c_entity,
+ &adev->kernel_ctx.rings[ring->idx].entity,
sched_job);
- r = amd_sched_wait_emit(&adev->kernel_ctx.rings[ring->idx].c_entity,
+ r = amd_sched_wait_emit(&adev->kernel_ctx.rings[ring->idx].entity,
v_seq,
false,
-1);
@@ -883,12 +883,12 @@
sched_job->job_param.vm_mapping.fence = fence;
sched_job->run_job = amdgpu_vm_bo_update_mapping_run_job;
sched_job->free_job = amdgpu_vm_free_job;
- v_seq = atomic64_inc_return(&adev->kernel_ctx.rings[ring->idx].c_entity.last_queued_v_seq);
+ v_seq = atomic64_inc_return(&adev->kernel_ctx.rings[ring->idx].entity.last_queued_v_seq);
ib->sequence = v_seq;
amd_sched_push_job(ring->scheduler,
- &adev->kernel_ctx.rings[ring->idx].c_entity,
+ &adev->kernel_ctx.rings[ring->idx].entity,
sched_job);
- r = amd_sched_wait_emit(&adev->kernel_ctx.rings[ring->idx].c_entity,
+ r = amd_sched_wait_emit(&adev->kernel_ctx.rings[ring->idx].entity,
v_seq,
false,
-1);