summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
diff options
context:
space:
mode:
authorJammy Zhou <Jammy.Zhou@amd.com>2015-07-31 08:47:28 (GMT)
committerAlex Deucher <alexander.deucher@amd.com>2015-08-17 20:50:56 (GMT)
commitea199cc9f825f3ef5aab3db5f00dcc639f8a8b02 (patch)
tree1297194f3cec9c09ae474d6eda80ed8db7c40d6e /drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
parentdd01d071957ded58d9bae3d3bf6061ada1d84692 (diff)
downloadlinux-ea199cc9f825f3ef5aab3db5f00dcc639f8a8b02.tar.xz
drm/amdgpu: return new seq_no for amd_sched_push_job
It is clean to update last_queued_v_seq in the scheduler module Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/scheduler/gpu_scheduler.c')
-rw-r--r--drivers/gpu/drm/amd/scheduler/gpu_scheduler.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
index 89799eb..2c4c261 100644
--- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
@@ -293,12 +293,9 @@ int amd_context_entity_fini(struct amd_gpu_scheduler *sched,
* @sched The pointer to the scheduler
* @c_entity The pointer to amd_context_entity
* @job The pointer to job required to submit
- * return 0 if succeed. -1 if failed.
- * -2 indicate queue is full for this client, client should wait untill
- * scheduler consum some queued command.
- * -1 other fail.
+ * return the virtual sequence number
*/
-int amd_sched_push_job(struct amd_gpu_scheduler *sched,
+uint64_t amd_sched_push_job(struct amd_gpu_scheduler *sched,
struct amd_context_entity *c_entity,
void *job)
{
@@ -312,7 +309,8 @@ int amd_sched_push_job(struct amd_gpu_scheduler *sched,
}
wake_up_interruptible(&sched->wait_queue);
- return 0;
+
+ return atomic64_inc_return(&c_entity->last_queued_v_seq);
}
/**