Messages in this thread Patch in this message | | | Date | Fri, 2 May 2014 13:21:59 -0400 | Subject | Re: Lenovo x120e resume regression in 3.15-rc1 bisected to 'drm/crtc-helpers: fix dpms on logic' | From | Alex Deucher <> |
| |
On Fri, May 2, 2014 at 12:40 PM, Tim Gardner <tim.gardner@canonical.com> 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 <alexander.deucher@amd.com> 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 <alexander.deucher@amd.com> --- 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
| |