On Thu, Oct 01, 2015 at 01:22:42PM -0400, Alex Deucher wrote: > On Thu, Oct 1, 2015 at 1:13 PM, Alex Deucher <alexdeucher@xxxxxxxxx> wrote: > > On Thu, Oct 1, 2015 at 1:01 PM, Alex Deucher <alexdeucher@xxxxxxxxx> wrote: > >> On Wed, Sep 30, 2015 at 11:50 PM, Michel Dänzer <michel@xxxxxxxxxxx> wrote: > >>> On 01.10.2015 03:47, Alex Deucher wrote: > >>>> If a driver uses the cursor_set2 crtc callback rather than > >>>> cursor_set, use that. This fixes the fbdev helper for drivers > >>>> that use cursor_set2. > >>>> > >>>> Change-Id: I127d3f8e72789ba70c3648140f87c6187864e130 > >>>> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > >>>> --- > >>>> drivers/gpu/drm/drm_fb_helper.c | 6 +++++- > >>>> 1 file changed, 5 insertions(+), 1 deletion(-) > >>>> > >>>> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > >>>> index 418d299..ca08c47 100644 > >>>> --- a/drivers/gpu/drm/drm_fb_helper.c > >>>> +++ b/drivers/gpu/drm/drm_fb_helper.c > >>>> @@ -345,7 +345,11 @@ static bool restore_fbdev_mode(struct drm_fb_helper *fb_helper) > >>>> struct drm_crtc *crtc = mode_set->crtc; > >>>> int ret; > >>>> > >>>> - if (crtc->funcs->cursor_set) { > >>>> + if (crtc->funcs->cursor_set2) { > >>>> + ret = crtc->funcs->cursor_set2(crtc, NULL, 0, 0, 0, 0, 0); > >>>> + if (ret) > >>>> + error = true; > >>>> + } else if (crtc->funcs->cursor_set) { > >>>> ret = crtc->funcs->cursor_set(crtc, NULL, 0, 0, 0); > >>>> if (ret) > >>>> error = true; > >>>> > >>> > >>> Hah, nice catch. The series is > >>> > >>> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> > >>> > >>> (I assume you tested with something like killall -9 Xorg and confirming > >>> sure the cursor doesn't stay visible in console) > >>> > >> > >> The cursor still stays visible in the console. Interestingly, the > >> cursor still shows up in the console even without these patches. > > > > restore_fbdev_mode doesn't end up get called when I killall -9 X. > > For clarity, drm_fb_helper_set_par which which ultimately calls > restore_fbdev_mode never gets called. You need to force restore the fbdev in your lastclose hook for that to work. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel