drm/atomic-helper: Don't call atomic_update_plane when it stays off
It's a silly thing to do and surprises driver writers. Most likely this did already blow up for exynos. It's also a silly thing to change plane state when it's off, but fbdev is silly (it does an unconditional modeset over all planes). And userspace can be evil. So I think we need this. With this check in the helpers we can remove the one in i915 code for the same conditions (becuase ->crtc iff ->fb). Cc: Gustavo Padovan <gustavo@padovan.org> Cc: dri-devel@lists.freedesktop.org Cc: Inki Dae <inki.dae@samsung.com> Cc: Matt Roper <matthew.d.roper@intel.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
This commit is contained in:
		
							parent
							
								
									2b1193d528
								
							
						
					
					
						commit
						475d231be9
					
				| @ -1138,7 +1138,8 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev, | ||||
| 		if (drm_atomic_plane_disabling(plane, old_plane_state) && | ||||
| 		    funcs->atomic_disable) | ||||
| 			funcs->atomic_disable(plane, old_plane_state); | ||||
| 		else | ||||
| 		else if (plane->state->crtc || | ||||
| 			 drm_atomic_plane_disabling(plane, old_plane_state)) | ||||
| 			funcs->atomic_update(plane, old_plane_state); | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -172,10 +172,6 @@ static void intel_plane_atomic_update(struct drm_plane *plane, | ||||
| 	struct intel_plane_state *intel_state = | ||||
| 		to_intel_plane_state(plane->state); | ||||
| 
 | ||||
| 	/* Don't disable an already disabled plane */ | ||||
| 	if (!plane->state->fb && !old_state->fb) | ||||
| 		return; | ||||
| 
 | ||||
| 	intel_plane->commit_plane(plane, intel_state); | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user