diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-08-23 00:43:48 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2010-08-23 00:43:48 -0400 |
commit | 5a7c9d94733a0db1d3565447acc9f0e751db5950 (patch) | |
tree | 474fc8600fadad22068124e644b90aa9d32f794c /src/legacy_output.c | |
parent | bdd41fecdb19c83c6c7b793016b61d38065dcd13 (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.c | 5 |
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: |