On Fri, 15 Feb 2013 21:21:37 +0100 Daniel Vetter <daniel.vetter at ffwll.ch> wrote: > We need to clear the local variable to get the refcounting right > (since the reference drm_mode_setplane holds is transferred to the > plane->fb pointer). But should be done _after_ we update the pointer. > > Breakage introduced in > > commit 6c2a75325c800de286166c693e0cd33c3a1c5ec8 > Author: Daniel Vetter <daniel.vetter at ffwll.ch> > Date: Tue Dec 11 00:59:24 2012 +0100 > > drm: refcounting for sprite framebuffers > > Reported-by: Jesse Barnes <jbarnes at virtuousgeek.org> > Cc: Jesse Barnes <jbarnes at virtuousgeek.org> > Cc: Rob Clark <rob at ti.com> > Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch> > --- > drivers/gpu/drm/drm_crtc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index 826a5ca..1960418 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -1982,9 +1982,9 @@ int drm_mode_setplane(struct drm_device *dev, void *data, > plane_req->src_w, plane_req->src_h); > if (!ret) { > old_fb = plane->fb; > - fb = NULL; > plane->crtc = crtc; > plane->fb = fb; > + fb = NULL; > } > drm_modeset_unlock_all(dev); > Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org> This will allow us to restore the sprite config in no-VT switch resumes. -- Jesse Barnes, Intel Open Source Technology Center