On Fri, May 2, 2014 at 12:40 PM, Tim Gardner <[email protected]> wrote: > I've bisected a resume regression on a Lenovo x120e to > 177cf92de4aa97ec1435987e91696ed8b5023130 (drm/crtc-helpers: fix dpms on > logic). Everything works fine with this patch reverted on top of > 3.15-rc3. I realize it is correcting a coding error that has been in > place since 3.11, but it is also causing this laptop to resume to a > black screen wherein the platform appears to be locked up (no console, > no network). See attached bisect log and lspci. The BIOS version is 1.15. >
Does the attached patch help? I haven't had a chance to unwind all the logic in the crtc helper code. Alex
From dc318b2c8583d3726c64177024d777c9408d3538 Mon Sep 17 00:00:00 2001 From: Alex Deucher <[email protected]> Date: Fri, 2 May 2014 13:18:23 -0400 Subject: [PATCH] drm/radeon: force connector dpm state to ON on modeset We turn the display on as part of the modeset, so mark it as such. Signed-off-by: Alex Deucher <[email protected]> --- drivers/gpu/drm/radeon/atombios_encoders.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c index e6eb509..0ba025c 100644 --- a/drivers/gpu/drm/radeon/atombios_encoders.c +++ b/drivers/gpu/drm/radeon/atombios_encoders.c @@ -2397,9 +2397,13 @@ static void radeon_atom_encoder_prepare(struct drm_encoder *encoder) static void radeon_atom_encoder_commit(struct drm_encoder *encoder) { + struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); + /* need to call this here as we need the crtc set up */ radeon_atom_encoder_dpms(encoder, DRM_MODE_DPMS_ON); radeon_atom_output_lock(encoder, false); + if (connector) + connector->dpms = DRM_MODE_DPMS_ON; } static void radeon_atom_encoder_disable(struct drm_encoder *encoder) -- 1.8.3.1

