On Tue, Jan 23, 2018 at 07:08:54PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Use drm_mode_get_hv_timing() to fill out the plane clip rectangle. > > Note that this replaces crtc_state->adjusted_mode usage with > crtc_state->mode. The latter is the correct choice since that's the > mode the user provided and it matches the plane crtc coordinates > the user also provided. > > Once everyone agrees on this we can move the clip handling into > drm_atomic_helper_check_plane_state(). > > Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Pushed to drm-misc-next with Maximes's irc r-b: 16:13 < vsyrjala> mripard: got time to look at https://patchwork.freedesktop.org/patch/200244/ ? ... 16:25 < mripard> vsyrjala: it looks good to me, you can add my Reviewed-by Also pushed 1/5. Thanks for the reviews. > --- > drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 9 ++++----- > drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 9 ++++----- > 2 files changed, 8 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/sun4i/sun8i_ui_layer.c b/drivers/gpu/drm/sun4i/sun8i_ui_layer.c > index 28d7c48d50fe..2f0ccd50b54d 100644 > --- a/drivers/gpu/drm/sun4i/sun8i_ui_layer.c > +++ b/drivers/gpu/drm/sun4i/sun8i_ui_layer.c > @@ -211,7 +211,7 @@ static int sun8i_ui_layer_atomic_check(struct drm_plane *plane, > struct drm_crtc *crtc = state->crtc; > struct drm_crtc_state *crtc_state; > int min_scale, max_scale; > - struct drm_rect clip; > + struct drm_rect clip = {}; > > if (!crtc) > return 0; > @@ -220,10 +220,9 @@ static int sun8i_ui_layer_atomic_check(struct drm_plane *plane, > if (WARN_ON(!crtc_state)) > return -EINVAL; > > - clip.x1 = 0; > - clip.y1 = 0; > - clip.x2 = crtc_state->adjusted_mode.hdisplay; > - clip.y2 = crtc_state->adjusted_mode.vdisplay; > + if (crtc_state->enable) > + drm_mode_get_hv_timing(&crtc_state->mode, > + &clip.x2, &clip.y2); > > min_scale = DRM_PLANE_HELPER_NO_SCALING; > max_scale = DRM_PLANE_HELPER_NO_SCALING; > diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c > index 40c3b303068a..eb3bf2d7291a 100644 > --- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c > +++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c > @@ -239,7 +239,7 @@ static int sun8i_vi_layer_atomic_check(struct drm_plane *plane, > struct drm_crtc *crtc = state->crtc; > struct drm_crtc_state *crtc_state; > int min_scale, max_scale; > - struct drm_rect clip; > + struct drm_rect clip = {}; > > if (!crtc) > return 0; > @@ -248,10 +248,9 @@ static int sun8i_vi_layer_atomic_check(struct drm_plane *plane, > if (WARN_ON(!crtc_state)) > return -EINVAL; > > - clip.x1 = 0; > - clip.y1 = 0; > - clip.x2 = crtc_state->adjusted_mode.hdisplay; > - clip.y2 = crtc_state->adjusted_mode.vdisplay; > + if (crtc_state->enable) > + drm_mode_get_hv_timing(&crtc_state->mode, > + &clip.x2, &clip.y2); > > min_scale = DRM_PLANE_HELPER_NO_SCALING; > max_scale = DRM_PLANE_HELPER_NO_SCALING; > -- > 2.13.6 -- Ville Syrjälä Intel OTC _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel