summaryrefslogtreecommitdiff
path: root/src/legacy_output.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-08-23 00:43:48 -0400
committerAlex Deucher <alexdeucher@gmail.com>2010-08-23 00:43:48 -0400
commit5a7c9d94733a0db1d3565447acc9f0e751db5950 (patch)
tree474fc8600fadad22068124e644b90aa9d32f794c /src/legacy_output.c
parentbdd41fecdb19c83c6c7b793016b61d38065dcd13 (diff)
radeon: fix legacy lvds dpms sequence
Take from my kms commit. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=19459 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/legacy_output.c')
-rw-r--r--src/legacy_output.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/legacy_output.c b/src/legacy_output.c
index 670f1ba4..d7b79e2e 100644
--- a/src/legacy_output.c
+++ b/src/legacy_output.c
@@ -999,7 +999,9 @@ legacy_output_dpms(xf86OutputPtr output, int mode)
case ENCODER_OBJECT_ID_INTERNAL_LVDS:
{
unsigned long tmpPixclksCntl = INPLL(pScrn, RADEON_PIXCLKS_CNTL);
- ErrorF("disable LVDS\n");
+ radeon_lvds_ptr lvds = (radeon_lvds_ptr)radeon_encoder->dev_priv;
+ if (lvds == NULL)
+ return;
if (info->IsMobility || info->IsIGP) {
/* Asic bug, when turning off LVDS_ON, we have to make sure
RADEON_PIXCLK_LVDS_ALWAYS_ON bit is off
@@ -1029,6 +1031,7 @@ legacy_output_dpms(xf86OutputPtr output, int mode)
if (info->IsMobility || info->IsIGP) {
OUTPLL(pScrn, RADEON_PIXCLKS_CNTL, tmpPixclksCntl);
}
+ usleep (lvds->PanelPwrDly * 1000);
}
break;
case ENCODER_OBJECT_ID_INTERNAL_TMDS1: