[Freedreno] [PATCH v2 6/7] drm/msm: dpu: Make dpu_plane_sspp_atomic_update() void

Jeykumar Sankaran jsanka at codeaurora.org
Thu Sep 13 22:33:34 UTC 2018


On 2018-09-12 06:54, Sean Paul wrote:
> From: Sean Paul <seanpaul at chromium.org>
> 
> All of the checks in dpu_plane_sspp_atomic_update() are impossible, so
> remove them and make the function void. This removes the need to error
> check in dpu_plane_atomic_update(). Additionally, remove impossible 
> checks
> in dpu_plane_atomic_update().
> 
> Changes in v2:
> - None
> 
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
> ---

Reviewed-by: Jeykumar Sankaran <jsanka at codeaurora.org>

>  drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 71 +++++------------------
>  1 file changed, 14 insertions(+), 57 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> index ce80c51b10aa..2cfa5583463e 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
> @@ -1192,45 +1192,17 @@ void dpu_plane_set_error(struct drm_plane 
> *plane,
> bool error)
>  	pdpu->is_error = error;
>  }
> 
> -static int dpu_plane_sspp_atomic_update(struct drm_plane *plane,
> -				struct drm_plane_state *old_state)
> +static void dpu_plane_sspp_atomic_update(struct drm_plane *plane,
> +					 struct drm_plane_state
> *old_state)
>  {
> -	uint32_t nplanes, src_flags;
> -	struct dpu_plane *pdpu;
> -	struct drm_plane_state *state;
> -	struct dpu_plane_state *pstate;
> -	struct dpu_plane_state *old_pstate;
> -	const struct dpu_format *fmt;
> -	struct drm_crtc *crtc;
> -	struct drm_framebuffer *fb;
> -
> -	if (!plane) {
> -		DPU_ERROR("invalid plane\n");
> -		return -EINVAL;
> -	} else if (!plane->state) {
> -		DPU_ERROR("invalid plane state\n");
> -		return -EINVAL;
> -	} else if (!old_state) {
> -		DPU_ERROR("invalid old state\n");
> -		return -EINVAL;
> -	}
> -
> -	pdpu = to_dpu_plane(plane);
> -	state = plane->state;
> -
> -	pstate = to_dpu_plane_state(state);
> -
> -	old_pstate = to_dpu_plane_state(old_state);
> -
> -	crtc = state->crtc;
> -	fb = state->fb;
> -	if (!crtc || !fb) {
> -		DPU_ERROR_PLANE(pdpu, "invalid crtc %d or fb %d\n",
> -				crtc != 0, fb != 0);
> -		return -EINVAL;
> -	}
> -	fmt = to_dpu_format(msm_framebuffer_format(fb));
> -	nplanes = fmt->num_planes;
> +	uint32_t src_flags;
> +	struct dpu_plane *pdpu = to_dpu_plane(plane);
> +	struct drm_plane_state *state = plane->state;
> +	struct dpu_plane_state *pstate = to_dpu_plane_state(state);
> +	struct drm_crtc *crtc = state->crtc;
> +	struct drm_framebuffer *fb = state->fb;
> +	const struct dpu_format *fmt =
> +		to_dpu_format(msm_framebuffer_format(fb));
> 
>  	memset(&(pdpu->pipe_cfg), 0, sizeof(struct dpu_hw_pipe_cfg));
> 
> @@ -1261,7 +1233,7 @@ static int dpu_plane_sspp_atomic_update(struct
> drm_plane *plane,
>  	/* override for color fill */
>  	if (pdpu->color_fill & DPU_PLANE_COLOR_FILL_FLAG) {
>  		/* skip remaining processing on color fill */
> -		return 0;
> +		return;
>  	}
> 
>  	if (pdpu->pipe_hw->ops.setup_rects) {
> @@ -1332,7 +1304,6 @@ static int dpu_plane_sspp_atomic_update(struct
> drm_plane *plane,
>  	}
> 
>  	_dpu_plane_set_qos_remap(plane);
> -	return 0;
>  }
> 
>  static void _dpu_plane_atomic_disable(struct drm_plane *plane,
> @@ -1371,31 +1342,17 @@ static void _dpu_plane_atomic_disable(struct
> drm_plane *plane,
>  static void dpu_plane_atomic_update(struct drm_plane *plane,
>  				struct drm_plane_state *old_state)
>  {
> -	struct dpu_plane *pdpu;
> -	struct drm_plane_state *state;
> -
> -	if (!plane) {
> -		DPU_ERROR("invalid plane\n");
> -		return;
> -	} else if (!plane->state) {
> -		DPU_ERROR("invalid plane state\n");
> -		return;
> -	}
> +	struct dpu_plane *pdpu = to_dpu_plane(plane);
> +	struct drm_plane_state *state = plane->state;
> 
> -	pdpu = to_dpu_plane(plane);
>  	pdpu->is_error = false;
> -	state = plane->state;
> 
>  	DPU_DEBUG_PLANE(pdpu, "\n");
> 
>  	if (!state->visible) {
>  		_dpu_plane_atomic_disable(plane, old_state);
>  	} else {
> -		int ret;
> -
> -		ret = dpu_plane_sspp_atomic_update(plane, old_state);
> -		/* atomic_check should have ensured that this doesn't fail
> */
> -		WARN_ON(ret < 0);
> +		dpu_plane_sspp_atomic_update(plane, old_state);
>  	}
>  }

-- 
Jeykumar S


More information about the Freedreno mailing list