mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	drm/scheduler: Change scheduled fence track v2
Update the timestamp of scheduled fence on HW completion of the previous fences This allow more accurate tracking of the fence execution in HW v2 (chk): drop the flag check and improve the comment Signed-off-by: David M Nieto <david.nieto@amd.com> Signed-off-by: Roy Sun <Roy.Sun@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210426062701.39732-1-Roy.Sun@amd.com
This commit is contained in:
		
							parent
							
								
									8f8bb68ebd
								
							
						
					
					
						commit
						1774baa64f
					
				
					 1 changed files with 8 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -671,7 +671,7 @@ drm_sched_select_entity(struct drm_gpu_scheduler *sched)
 | 
			
		|||
static struct drm_sched_job *
 | 
			
		||||
drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched)
 | 
			
		||||
{
 | 
			
		||||
	struct drm_sched_job *job;
 | 
			
		||||
	struct drm_sched_job *job, *next;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * Don't destroy jobs while the timeout worker is running  OR thread
 | 
			
		||||
| 
						 | 
				
			
			@ -690,6 +690,13 @@ drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched)
 | 
			
		|||
	if (job && dma_fence_is_signaled(&job->s_fence->finished)) {
 | 
			
		||||
		/* remove job from pending_list */
 | 
			
		||||
		list_del_init(&job->list);
 | 
			
		||||
		/* make the scheduled timestamp more accurate */
 | 
			
		||||
		next = list_first_entry_or_null(&sched->pending_list,
 | 
			
		||||
						typeof(*next), list);
 | 
			
		||||
		if (next)
 | 
			
		||||
			next->s_fence->scheduled.timestamp =
 | 
			
		||||
				job->s_fence->finished.timestamp;
 | 
			
		||||
 | 
			
		||||
	} else {
 | 
			
		||||
		job = NULL;
 | 
			
		||||
		/* queue timeout for next job */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue