Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27f6642d authored by Jammy Zhou's avatar Jammy Zhou Committed by Alex Deucher
Browse files

drm/amdgpu: add amd_sched_next_queued_seq function



This function is used to get the next queued sequence number

Signed-off-by: default avatarJammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 63ad8d58
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -310,7 +310,7 @@ struct fence *amdgpu_ctx_get_fence(struct amdgpu_ctx *ctx,

	spin_lock(&ctx->ring_lock);
	if (amdgpu_enable_scheduler)
		queued_seq = atomic64_read(&cring->c_entity.last_queued_v_seq) + 1;
		queued_seq = amd_sched_next_queued_seq(&cring->c_entity);
	else
		queued_seq = cring->sequence;

+12 −0
Original line number Diff line number Diff line
@@ -507,3 +507,15 @@ void amd_sched_emit(struct amd_context_entity *c_entity, uint64_t seq)
	atomic64_set(&c_entity->last_emitted_v_seq, seq);
	wake_up_all(&c_entity->wait_emit);
}

/**
 * Get next queued sequence number
 *
 * @entity The context entity
 *
 * return the next queued sequence number
*/
uint64_t amd_sched_next_queued_seq(struct amd_context_entity *c_entity)
{
	return atomic64_read(&c_entity->last_queued_v_seq) + 1;
}
+2 −0
Original line number Diff line number Diff line
@@ -153,4 +153,6 @@ int amd_context_entity_init(struct amd_gpu_scheduler *sched,

void amd_sched_emit(struct amd_context_entity *c_entity, uint64_t seq);

uint64_t amd_sched_next_queued_seq(struct amd_context_entity *c_entity);

#endif