diff options
author | Jammy Zhou <Jammy.Zhou@amd.com> | 2015-07-31 09:54:29 (GMT) |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-08-17 20:50:57 (GMT) |
commit | 63ad8d5882fcd466861fdbe51fc3a119b894d9a3 (patch) | |
tree | 49b1f7117f31e6c8a1b90a30ca83f308601d6a72 /drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | |
parent | f95b7e3e8664fbea4e60f15e7e8a975e4b2b7c3f (diff) | |
download | linux-63ad8d5882fcd466861fdbe51fc3a119b894d9a3.tar.xz |
drm/amdgpu: make last_handled_seq atomic
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.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c index 66938f1..55ebbf0 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c @@ -393,7 +393,7 @@ static int amd_sched_main(void *param) uint64_t amd_sched_get_handled_seq(struct amd_gpu_scheduler *sched) { - return sched->last_handled_seq; + return atomic64_read(&sched->last_handled_seq); } /** @@ -414,7 +414,7 @@ void amd_sched_isr(struct amd_gpu_scheduler *sched) job = NULL; sched->ops->process_job(sched, job); - sched->last_handled_seq++; + atomic64_inc(&sched->last_handled_seq); wake_up_interruptible(&sched->wait_queue); } @@ -448,7 +448,7 @@ struct amd_gpu_scheduler *amd_sched_create(void *device, sched->granularity = granularity; sched->ring_id = ring; sched->preemption = preemption; - sched->last_handled_seq = 0; + atomic64_set(&sched->last_handled_seq, 0); snprintf(name, sizeof(name), "gpu_sched[%d]", ring); mutex_init(&sched->sched_lock); |