• Daniel Vetter's avatar
    drm/radeon: Resume fbcon last · 18ee37a4
    Daniel Vetter authored
    So a few people complained that
    
    commit 177cf92d
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Tue Apr 1 22:14:59 2014 +0200
    
        drm/crtc-helpers: fix dpms on logic
    
    which was merged into 3.15-rc1, broke resume on radeons. Strangely git
    bisect lead everyone to
    
    commit 25f397a4
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Fri Jul 19 18:57:11 2013 +0200
    
        drm/crtc-helper: explicit DPMS on after modeset
    
    which was merged long ago and actually part of 3.14.
    
    Digging deeper I've noticed (again) that the call to
    drm_helper_resume_force_mode in the radeon resume handlers was a no-op
    previously because everything gets shut down on suspend. radeon does
    this with explicit calls to drm_helper_connector_dpms with DPMS_OFF.
    But with 177c we now force the dpms state to ON, so suddenly
    resume_force_mode actually forced the crtcs back on.
    
    This is the intention of the change after all, the problem is that
    radeon resumes the fbdev console layer _before_ restoring the display,
    through calling fb_set_suspend. And fbcon does an immediate ->set_par,
    which in turn causes the same forced mode restore to happen.
    
    Two concurrent modeset operations didn't lead to happiness. Fix this
    by delaying the fbcon resume until the end of the readeon resum
    functions.
    
    v2: Fix up a bit of the spelling fail.
    
    References: https://lkml.org/lkml/2014/5/29/1043
    References: https://lkml.org/lkml/2014/5/2/388
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=74751Tested-by: default avatarKen Moffat <zarniwhoop@ntlworld.com>
    Cc: Alex Deucher <alexdeucher@gmail.com>
    Cc: Ken Moffat <zarniwhoop@ntlworld.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarDave Airlie <airlied@gmail.com>
    18ee37a4
radeon_device.c 43.6 KB