diff options
author | Christian König <christian.koenig@amd.com> | 2015-08-20 11:24:40 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-08-25 10:47:41 -0400 |
commit | 69f7dd652c08bffb267f418ded7b358e74783045 (patch) | |
tree | 0e83f5742709a98494a9ec89caa2ca03e2eb9fec /drivers/gpu/drm | |
parent | 1fca766b24d07e2daed1da0f224f5f395c73e32b (diff) |
drm/amdgpu: remove unused parameters to amd_sched_create
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 21 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 12 |
3 files changed, 11 insertions, 27 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c index 9a87372c3c79..e13e4452a349 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | |||
@@ -626,9 +626,8 @@ void amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring) | |||
626 | ring->fence_drv.ring = ring; | 626 | ring->fence_drv.ring = ring; |
627 | 627 | ||
628 | if (amdgpu_enable_scheduler) { | 628 | if (amdgpu_enable_scheduler) { |
629 | ring->scheduler = amd_sched_create((void *)ring->adev, | 629 | ring->scheduler = amd_sched_create(&amdgpu_sched_ops, |
630 | &amdgpu_sched_ops, | 630 | ring->idx, |
631 | ring->idx, 5, 0, | ||
632 | amdgpu_sched_hw_submission); | 631 | amdgpu_sched_hw_submission); |
633 | if (!ring->scheduler) | 632 | if (!ring->scheduler) |
634 | DRM_ERROR("Failed to create scheduler on ring %d.\n", | 633 | DRM_ERROR("Failed to create scheduler on ring %d.\n", |
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c index b13642f1e00b..acae85572399 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | |||
@@ -325,20 +325,14 @@ static int amd_sched_main(void *param) | |||
325 | /** | 325 | /** |
326 | * Create a gpu scheduler | 326 | * Create a gpu scheduler |
327 | * | 327 | * |
328 | * @device The device context for this scheduler | 328 | * @ops The backend operations for this scheduler. |
329 | * @ops The backend operations for this scheduler. | 329 | * @ring The the ring id for the scheduler. |
330 | * @id The scheduler is per ring, here is ring id. | 330 | * @hw_submissions Number of hw submissions to do. |
331 | * @granularity The minumum ms unit the scheduler will scheduled. | ||
332 | * @preemption Indicate whether this ring support preemption, 0 is no. | ||
333 | * | 331 | * |
334 | * return the pointer to scheduler for success, otherwise return NULL | 332 | * Return the pointer to scheduler for success, otherwise return NULL |
335 | */ | 333 | */ |
336 | struct amd_gpu_scheduler *amd_sched_create(void *device, | 334 | struct amd_gpu_scheduler *amd_sched_create(struct amd_sched_backend_ops *ops, |
337 | struct amd_sched_backend_ops *ops, | 335 | unsigned ring, unsigned hw_submission) |
338 | unsigned ring, | ||
339 | unsigned granularity, | ||
340 | unsigned preemption, | ||
341 | unsigned hw_submission) | ||
342 | { | 336 | { |
343 | struct amd_gpu_scheduler *sched; | 337 | struct amd_gpu_scheduler *sched; |
344 | char name[20]; | 338 | char name[20]; |
@@ -347,11 +341,8 @@ struct amd_gpu_scheduler *amd_sched_create(void *device, | |||
347 | if (!sched) | 341 | if (!sched) |
348 | return NULL; | 342 | return NULL; |
349 | 343 | ||
350 | sched->device = device; | ||
351 | sched->ops = ops; | 344 | sched->ops = ops; |
352 | sched->granularity = granularity; | ||
353 | sched->ring_id = ring; | 345 | sched->ring_id = ring; |
354 | sched->preemption = preemption; | ||
355 | sched->hw_submission_limit = hw_submission; | 346 | sched->hw_submission_limit = hw_submission; |
356 | snprintf(name, sizeof(name), "gpu_sched[%d]", ring); | 347 | snprintf(name, sizeof(name), "gpu_sched[%d]", ring); |
357 | amd_sched_rq_init(&sched->sched_rq); | 348 | amd_sched_rq_init(&sched->sched_rq); |
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h index 123b8f15d3fb..df365abaa125 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | |||
@@ -104,25 +104,19 @@ struct amd_sched_backend_ops { | |||
104 | * One scheduler is implemented for each hardware ring | 104 | * One scheduler is implemented for each hardware ring |
105 | */ | 105 | */ |
106 | struct amd_gpu_scheduler { | 106 | struct amd_gpu_scheduler { |
107 | void *device; | ||
108 | struct task_struct *thread; | 107 | struct task_struct *thread; |
109 | struct amd_sched_rq sched_rq; | 108 | struct amd_sched_rq sched_rq; |
110 | struct amd_sched_rq kernel_rq; | 109 | struct amd_sched_rq kernel_rq; |
111 | atomic_t hw_rq_count; | 110 | atomic_t hw_rq_count; |
112 | struct amd_sched_backend_ops *ops; | 111 | struct amd_sched_backend_ops *ops; |
113 | uint32_t ring_id; | 112 | uint32_t ring_id; |
114 | uint32_t granularity; /* in ms unit */ | ||
115 | uint32_t preemption; | ||
116 | wait_queue_head_t wait_queue; | 113 | wait_queue_head_t wait_queue; |
117 | uint32_t hw_submission_limit; | 114 | uint32_t hw_submission_limit; |
118 | }; | 115 | }; |
119 | 116 | ||
120 | struct amd_gpu_scheduler *amd_sched_create(void *device, | 117 | struct amd_gpu_scheduler * |
121 | struct amd_sched_backend_ops *ops, | 118 | amd_sched_create(struct amd_sched_backend_ops *ops, |
122 | uint32_t ring, | 119 | uint32_t ring, uint32_t hw_submission); |
123 | uint32_t granularity, | ||
124 | uint32_t preemption, | ||
125 | uint32_t hw_submission); | ||
126 | int amd_sched_destroy(struct amd_gpu_scheduler *sched); | 120 | int amd_sched_destroy(struct amd_gpu_scheduler *sched); |
127 | 121 | ||
128 | int amd_sched_push_job(struct amd_sched_job *sched_job); | 122 | int amd_sched_push_job(struct amd_sched_job *sched_job); |