aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h8
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c29
2 files changed, 1 insertions, 36 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 95d4969369a6..d050f503d9ff 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1257,14 +1257,6 @@ struct amdgpu_cs_parser {
1257 1257
1258 /* user fence */ 1258 /* user fence */
1259 struct amdgpu_user_fence uf; 1259 struct amdgpu_user_fence uf;
1260
1261 struct amdgpu_ring *ring;
1262 struct mutex job_lock;
1263 struct work_struct job_work;
1264 int (*prepare_job)(struct amdgpu_cs_parser *sched_job);
1265 int (*run_job)(struct amdgpu_cs_parser *sched_job);
1266 int (*free_job)(struct amdgpu_cs_parser *sched_job);
1267 struct amd_sched_fence *s_fence;
1268}; 1260};
1269 1261
1270struct amdgpu_job { 1262struct amdgpu_job {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 7b4823deef33..77fc7cd0fac3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -827,32 +827,6 @@ static int amdgpu_cs_parser_prepare_job(struct amdgpu_cs_parser *sched_job)
827 return r; 827 return r;
828} 828}
829 829
830static struct amdgpu_ring *amdgpu_cs_parser_get_ring(
831 struct amdgpu_device *adev,
832 struct amdgpu_cs_parser *parser)
833{
834 int i, r;
835
836 struct amdgpu_cs_chunk *chunk;
837 struct drm_amdgpu_cs_chunk_ib *chunk_ib;
838 struct amdgpu_ring *ring;
839 for (i = 0; i < parser->nchunks; i++) {
840 chunk = &parser->chunks[i];
841 chunk_ib = (struct drm_amdgpu_cs_chunk_ib *)chunk->kdata;
842
843 if (chunk->chunk_id != AMDGPU_CHUNK_ID_IB)
844 continue;
845
846 r = amdgpu_cs_get_ring(adev, chunk_ib->ip_type,
847 chunk_ib->ip_instance, chunk_ib->ring,
848 &ring);
849 if (r)
850 return NULL;
851 break;
852 }
853 return ring;
854}
855
856static int amdgpu_cs_free_job(struct amdgpu_job *sched_job) 830static int amdgpu_cs_free_job(struct amdgpu_job *sched_job)
857{ 831{
858 int i; 832 int i;
@@ -897,8 +871,7 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
897 871
898 if (amdgpu_enable_scheduler && parser->num_ibs) { 872 if (amdgpu_enable_scheduler && parser->num_ibs) {
899 struct amdgpu_job *job; 873 struct amdgpu_job *job;
900 struct amdgpu_ring * ring = 874 struct amdgpu_ring * ring = parser->ibs->ring;
901 amdgpu_cs_parser_get_ring(adev, parser);
902 job = kzalloc(sizeof(struct amdgpu_job), GFP_KERNEL); 875 job = kzalloc(sizeof(struct amdgpu_job), GFP_KERNEL);
903 if (!job) 876 if (!job)
904 return -ENOMEM; 877 return -ENOMEM;