mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	drm/omapdrm: Annotate dma-fence critical section in commit path
Nothing special, just put the end right after hw_done(). Note that in one path there's a wait for the flip/update to complete. But as far as I understand from comments and code that's only relevant for modesets, and skipped if there wasn't a modeset done on a given crtc. For a bit more clarity pull the hw_done() call out of the if/else, that way it's a bit clearer flow. But happy to shuffle this around as is seen fit. Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210121152959.1725404-9-daniel.vetter@ffwll.ch
This commit is contained in:
		
							parent
							
								
									a1891b9136
								
							
						
					
					
						commit
						250aa22920
					
				
					 1 changed files with 5 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -68,6 +68,7 @@ static void omap_atomic_commit_tail(struct drm_atomic_state *old_state)
 | 
			
		|||
{
 | 
			
		||||
	struct drm_device *dev = old_state->dev;
 | 
			
		||||
	struct omap_drm_private *priv = dev->dev_private;
 | 
			
		||||
	bool fence_cookie = dma_fence_begin_signalling();
 | 
			
		||||
 | 
			
		||||
	dispc_runtime_get(priv->dispc);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -90,8 +91,6 @@ static void omap_atomic_commit_tail(struct drm_atomic_state *old_state)
 | 
			
		|||
		omap_atomic_wait_for_completion(dev, old_state);
 | 
			
		||||
 | 
			
		||||
		drm_atomic_helper_commit_planes(dev, old_state, 0);
 | 
			
		||||
 | 
			
		||||
		drm_atomic_helper_commit_hw_done(old_state);
 | 
			
		||||
	} else {
 | 
			
		||||
		/*
 | 
			
		||||
		 * OMAP3 DSS seems to have issues with the work-around above,
 | 
			
		||||
| 
						 | 
				
			
			@ -101,10 +100,12 @@ static void omap_atomic_commit_tail(struct drm_atomic_state *old_state)
 | 
			
		|||
		drm_atomic_helper_commit_planes(dev, old_state, 0);
 | 
			
		||||
 | 
			
		||||
		drm_atomic_helper_commit_modeset_enables(dev, old_state);
 | 
			
		||||
 | 
			
		||||
		drm_atomic_helper_commit_hw_done(old_state);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	drm_atomic_helper_commit_hw_done(old_state);
 | 
			
		||||
 | 
			
		||||
	dma_fence_end_signalling(fence_cookie);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * Wait for completion of the page flips to ensure that old buffers
 | 
			
		||||
	 * can't be touched by the hardware anymore before cleaning up planes.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue