Reviewed-by: Deepak Rawat <drawat@xxxxxxxxxx> > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > The only caller of vmw_kms_update_implicit_fb() is the page_flip > hook which itself gets called with the plane mutex already held. > Hence we can look at plane->state safely. Toss in a lockdep assert > to make the situation more clear. > > Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx> > Cc: Sinclair Yeh <syeh@xxxxxxxxxx> > Cc: VMware Graphics <linux-graphics-maintainer@xxxxxxxxxx> > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > index 5a824125c231..a93d290b0f35 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c > @@ -2811,14 +2811,17 @@ void vmw_kms_update_implicit_fb(struct > vmw_private *dev_priv, > struct drm_crtc *crtc) > { > struct vmw_display_unit *du = vmw_crtc_to_du(crtc); > + struct drm_plane *plane = crtc->primary; > struct vmw_framebuffer *vfb; > > + lockdep_assert_held(&plane->mutex); > + > mutex_lock(&dev_priv->global_kms_state_mutex); > > if (!du->is_implicit) > goto out_unlock; > > - vfb = vmw_framebuffer_to_vfb(crtc->primary->fb); > + vfb = vmw_framebuffer_to_vfb(plane->state->fb); > WARN_ON_ONCE(dev_priv->num_implicit != 1 && > dev_priv->implicit_fb != vfb); > > -- > 2.16.1 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel