[Intel-gfx] [PATCH 7/9] drm/rockchip: Use drm_plane_helper_check_state()

Sean Paul seanpaul at chromium.org
Mon Aug 1 08:10:38 PDT 2016


On Tue, Jul 26, 2016 at 12:07 PM,  <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Replace the use of drm_plane_helper_check_update() with
> drm_plane_helper_check_state() since we have a plane state.
>
> Rockchip looks to handling plane clipping rather well already
> (unlikje most arm drm drivers) so there are no function changes
> here.
>
> Cc: Yao <mark.yao at rock-chips.com>
> Cc: linux-rockchip at lists.infradead.org
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>


Reviewed-by: Sean Paul <seanpaul at chromium.org>

> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 25 +++++--------------------
>  1 file changed, 5 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index c566c740ab49..31744fe99b38 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -591,10 +591,7 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
>         struct vop_win *vop_win = to_vop_win(plane);
>         struct vop_plane_state *vop_plane_state = to_vop_plane_state(state);
>         const struct vop_win_data *win = vop_win->data;
> -       bool visible;
>         int ret;
> -       struct drm_rect *dest = &state->dst;
> -       struct drm_rect *src = &state->src;
>         struct drm_rect clip;
>         int min_scale = win->phy->scl ? FRAC_16_16(1, 8) :
>                                         DRM_PLANE_HELPER_NO_SCALING;
> @@ -608,30 +605,18 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
>         if (WARN_ON(!crtc_state))
>                 return -EINVAL;
>
> -       src->x1 = state->src_x;
> -       src->y1 = state->src_y;
> -       src->x2 = state->src_x + state->src_w;
> -       src->y2 = state->src_y + state->src_h;
> -       dest->x1 = state->crtc_x;
> -       dest->y1 = state->crtc_y;
> -       dest->x2 = state->crtc_x + state->crtc_w;
> -       dest->y2 = state->crtc_y + state->crtc_h;
> -
>         clip.x1 = 0;
>         clip.y1 = 0;
>         clip.x2 = crtc_state->adjusted_mode.hdisplay;
>         clip.y2 = crtc_state->adjusted_mode.vdisplay;
>
> -       ret = drm_plane_helper_check_update(plane, crtc, state->fb,
> -                                           src, dest, &clip,
> -                                           state->rotation,
> -                                           min_scale,
> -                                           max_scale,
> -                                           true, true, &visible);
> +       ret = drm_plane_helper_check_state(state, &clip,
> +                                          min_scale, max_scale,
> +                                          true, true);
>         if (ret)
>                 return ret;
>
> -       if (!visible)
> +       if (!state->visible)
>                 goto out_disable;
>
>         vop_plane_state->format = vop_convert_format(fb->pixel_format);
> @@ -642,7 +627,7 @@ static int vop_plane_atomic_check(struct drm_plane *plane,
>          * Src.x1 can be odd when do clip, but yuv plane start point
>          * need align with 2 pixel.
>          */
> -       if (is_yuv_support(fb->pixel_format) && ((src->x1 >> 16) % 2))
> +       if (is_yuv_support(fb->pixel_format) && ((state->src.x1 >> 16) % 2))
>                 return -EINVAL;
>
>         vop_plane_state->enable = true;
> --
> 2.7.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx



More information about the Linux-rockchip mailing list