diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 29 |
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 | ||
1270 | struct amdgpu_job { | 1262 | struct 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 | ||
830 | static 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 | |||
856 | static int amdgpu_cs_free_job(struct amdgpu_job *sched_job) | 830 | static 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; |