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