On Wed, Oct 03, 2018 at 11:18:25AM +0200, Daniel Vetter wrote: > From: Thomas Hellstrom <thellstrom@xxxxxxxxxx> > > Use the correct helper and also return early on helper > success rather than on helper failure. > > Also explicitly return 0 in the case of no fb. > > v2: Check for !fb after updating state->visible (Ville). > > Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> (v1) > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Reported-by: Daniel Vetter <daniel@xxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > Cc: VMware Graphics <linux-graphics-maintainer@xxxxxxxxxx> > Cc: Sinclair Yeh <syeh@xxxxxxxxxx> > Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx> > --- > drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > index 1b2a406b7742..8e3e262b6ef4 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > @@ -493,24 +493,24 @@ int vmw_du_cursor_plane_atomic_check(struct drm_plane *plane, > struct drm_plane_state *new_state) > { > int ret = 0; > + struct drm_crtc_state *crtc_state = NULL; > struct vmw_surface *surface = NULL; > struct drm_framebuffer *fb = new_state->fb; > > - struct drm_rect src = drm_plane_state_src(new_state); > - struct drm_rect dest = drm_plane_state_dest(new_state); > + if (new_state->crtc) > + crtc_state = drm_atomic_get_new_crtc_state(new_state->state, > + new_state->crtc); > > - /* Turning off */ > - if (!fb) > + ret = drm_atomic_helper_check_plane_state(new_state, crtc_state, > + DRM_PLANE_HELPER_NO_SCALING, > + DRM_PLANE_HELPER_NO_SCALING, > + true, true); > + if (ret) > return ret; > > - ret = drm_plane_helper_check_update(plane, new_state->crtc, fb, > - &src, &dest, > - DRM_MODE_ROTATE_0, > - DRM_PLANE_HELPER_NO_SCALING, > - DRM_PLANE_HELPER_NO_SCALING, > - true, true, &new_state->visible); > - if (!ret) > - return ret; > + /* Turning off */ > + if (!fb) > + return 0; Yep, now ->visible should be up to date. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > /* A lot of the code assumes this */ > if (new_state->crtc_w != 64 || new_state->crtc_h != 64) { > -- > 2.19.0.rc2 -- Ville Syrjälä Intel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel