Re: REGRESSION: dpms-on broken (drm_radeon,displayport) -- bisected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 10, 2010 at 4:50 PM, Lars Doelle <lars.doelle@xxxxxxxxxx> wrote:
> Hi Alex,
> Hi All,
>
>
>> Any chance you could bisect it?
>
> good news. It's a two-line patch.
>

Attached patch should fix it.

Alex

>
> commit fb668c2fed628179c7aa409a0de39a2b96bed18c
> Author: Alex Deucher <alexdeucher@xxxxxxxxx>
> Date:   Wed Mar 31 14:42:11 2010 -0400
>
>    drm/radeon/kms/evergreen: get DP working
>
>    Need to enable the VID stream after link training
>
>    Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx>
>    Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
>
>
> Please note the lines from from the [kernel.log] in my original report:
>
>> : [drm:dp_link_train] ERROR clock recovery tried 5 times
>> : [drm:dp_link_train] ERROR clock recovery failed
>> : [drm:dp_link_train] ERROR channel eq failed: 5 tries
>> : [drm:dp_link_train] ERROR channel eq failed
>
>
>> >> i write to report a regression
>> >> The effect is, that after DPMS-OFF, the monitor cannot be reactivated
>> >> locally by a key press or remotely via `xset dpms force on´.
>> >> I can work around the issue switching the monitor off and on again.
>
>> >> I can provide more information on request and offer help testing patches.
>
>
> Kind regards
>
>  Lars
>
>
From 29714c1738f5956dab0ccee85473b928d5be30bd Mon Sep 17 00:00:00 2001
From: Alex Deucher <alexdeucher@xxxxxxxxx>
Date: Thu, 10 Jun 2010 17:01:19 -0400
Subject: [PATCH] drm/radeon/kms: fix DP after DPMS cycle

The transmitter needs to be enabled before the link is trained.

Reported-By: Lars Doelle <lars.doelle@xxxxxxxxxx>
Signed-off-by: Alex Deucher <alexdeucher@xxxxxxxxx>
Cc: stable <stable@xxxxxxxxxx>
---
 drivers/gpu/drm/radeon/radeon_encoders.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
index 1ebb100..e0b30b2 100644
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
@@ -1072,6 +1072,8 @@ radeon_atom_encoder_dpms(struct drm_encoder *encoder, int mode)
 	if (is_dig) {
 		switch (mode) {
 		case DRM_MODE_DPMS_ON:
+			if (!ASIC_IS_DCE4(rdev))
+				atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0);
 			if (atombios_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_DP) {
 				struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
 
@@ -1079,8 +1081,6 @@ radeon_atom_encoder_dpms(struct drm_encoder *encoder, int mode)
 				if (ASIC_IS_DCE4(rdev))
 					atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_DP_VIDEO_ON);
 			}
-			if (!ASIC_IS_DCE4(rdev))
-				atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0);
 			break;
 		case DRM_MODE_DPMS_STANDBY:
 		case DRM_MODE_DPMS_SUSPEND:
-- 
1.7.0.1

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux