drm/msm: Convert to use new iterator macros, v2.
for_each_obj_in_state is about to be removed, so convert to the new iterator macros. Just like in omap, use crtc_state->active instead of crtc_state->enable when waiting for completion. Changes since v1: - Fix compilation. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Archit Taneja <architt@codeaurora.org> Cc: Vincent Abriou <vincent.abriou@st.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Russell King <rmk+kernel@armlinux.org.uk> Cc: Rob Herring <robh@kernel.org> Cc: Markus Elfring <elfring@users.sourceforge.net> Cc: Sushmita Susheelendra <ssusheel@codeaurora.org> Cc: linux-arm-msm@vger.kernel.org Cc: freedreno@lists.freedesktop.org Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Tested-by: Archit Taneja <architt@codeaurora.org> Link: https://patchwork.freedesktop.org/patch/msgid/20170719143920.25685-6-maarten.lankhorst@linux.intel.com
This commit is contained in:
		
							parent
							
								
									3c847d6cda
								
							
						
					
					
						commit
						d7429669c8
					
				| @ -114,7 +114,7 @@ static void mdp4_prepare_commit(struct msm_kms *kms, struct drm_atomic_state *st | ||||
| 	mdp4_enable(mdp4_kms); | ||||
| 
 | ||||
| 	/* see 119ecb7fd */ | ||||
| 	for_each_crtc_in_state(state, crtc, crtc_state, i) | ||||
| 	for_each_new_crtc_in_state(state, crtc, crtc_state, i) | ||||
| 		drm_crtc_vblank_get(crtc); | ||||
| } | ||||
| 
 | ||||
| @ -126,7 +126,7 @@ static void mdp4_complete_commit(struct msm_kms *kms, struct drm_atomic_state *s | ||||
| 	struct drm_crtc_state *crtc_state; | ||||
| 
 | ||||
| 	/* see 119ecb7fd */ | ||||
| 	for_each_crtc_in_state(state, crtc, crtc_state, i) | ||||
| 	for_each_new_crtc_in_state(state, crtc, crtc_state, i) | ||||
| 		drm_crtc_vblank_put(crtc); | ||||
| 
 | ||||
| 	mdp4_disable(mdp4_kms); | ||||
|  | ||||
| @ -84,13 +84,13 @@ static void msm_atomic_wait_for_commit_done(struct drm_device *dev, | ||||
| 		struct drm_atomic_state *old_state) | ||||
| { | ||||
| 	struct drm_crtc *crtc; | ||||
| 	struct drm_crtc_state *crtc_state; | ||||
| 	struct drm_crtc_state *new_crtc_state; | ||||
| 	struct msm_drm_private *priv = old_state->dev->dev_private; | ||||
| 	struct msm_kms *kms = priv->kms; | ||||
| 	int i; | ||||
| 
 | ||||
| 	for_each_crtc_in_state(old_state, crtc, crtc_state, i) { | ||||
| 		if (!crtc->state->enable) | ||||
| 	for_each_new_crtc_in_state(old_state, crtc, new_crtc_state, i) { | ||||
| 		if (!new_crtc_state->active) | ||||
| 			continue; | ||||
| 
 | ||||
| 		kms->funcs->wait_for_crtc_commit_done(kms, crtc); | ||||
| @ -195,7 +195,7 @@ int msm_atomic_commit(struct drm_device *dev, | ||||
| 	struct drm_crtc *crtc; | ||||
| 	struct drm_crtc_state *crtc_state; | ||||
| 	struct drm_plane *plane; | ||||
| 	struct drm_plane_state *plane_state; | ||||
| 	struct drm_plane_state *old_plane_state, *new_plane_state; | ||||
| 	int i, ret; | ||||
| 
 | ||||
| 	ret = drm_atomic_helper_prepare_planes(dev, state); | ||||
| @ -211,19 +211,19 @@ int msm_atomic_commit(struct drm_device *dev, | ||||
| 	/*
 | ||||
| 	 * Figure out what crtcs we have: | ||||
| 	 */ | ||||
| 	for_each_crtc_in_state(state, crtc, crtc_state, i) | ||||
| 	for_each_new_crtc_in_state(state, crtc, crtc_state, i) | ||||
| 		c->crtc_mask |= drm_crtc_mask(crtc); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Figure out what fence to wait for: | ||||
| 	 */ | ||||
| 	for_each_plane_in_state(state, plane, plane_state, i) { | ||||
| 		if ((plane->state->fb != plane_state->fb) && plane_state->fb) { | ||||
| 			struct drm_gem_object *obj = msm_framebuffer_bo(plane_state->fb, 0); | ||||
| 	for_each_oldnew_plane_in_state(state, plane, old_plane_state, new_plane_state, i) { | ||||
| 		if ((new_plane_state->fb != old_plane_state->fb) && new_plane_state->fb) { | ||||
| 			struct drm_gem_object *obj = msm_framebuffer_bo(new_plane_state->fb, 0); | ||||
| 			struct msm_gem_object *msm_obj = to_msm_bo(obj); | ||||
| 			struct dma_fence *fence = reservation_object_get_excl_rcu(msm_obj->resv); | ||||
| 
 | ||||
| 			drm_atomic_set_fence_for_plane(plane_state, fence); | ||||
| 			drm_atomic_set_fence_for_plane(new_plane_state, fence); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user