diff mbox

Lenovo x120e resume regression in 3.15-rc1 bisected to 'drm/crtc-helpers: fix dpms on logic'

Message ID CADnq5_OeiqpDZoPcAccKJn9Tvzz-euNJou4LhZqNKOH64F+7dw@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Alex Deucher May 2, 2014, 5:21 p.m. UTC
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

Comments

Tim Gardner May 2, 2014, 6:30 p.m. UTC | #1
On 05/02/2014 11:21 AM, Alex Deucher wrote:
> 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
> 

Nope, same symptom. Black screen on resume, no network, etc.

rtg
Tim Gardner May 2, 2014, 7:55 p.m. UTC | #2
On 05/02/2014 12:30 PM, Tim Gardner wrote:
> On 05/02/2014 11:21 AM, Alex Deucher wrote:
>> 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
>>
> 
> Nope, same symptom. Black screen on resume, no network, etc.
> 
> rtg
> 

linux-next tip (20140502) appears to have the same bug.

rtg
diff mbox

Patch

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