xf86-video-ati: Branch 'master'
Alex Deucher
agd5f at kemper.freedesktop.org
Tue Oct 16 15:54:34 PDT 2007
src/radeon_output.c | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
New commits:
commit f2eb5c1cc69a4f7b0754ec6b2efde4fa1650ab6d
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Tue Oct 16 18:54:28 2007 -0400
RADEON: finish fixing LVDS/RMX
For panels, both the mode and crtc values need to be updated based
on the native mode timing. This shoudl fix any remaining problems
with RMX.
diff --git a/src/radeon_output.c b/src/radeon_output.c
index e2f26e7..6acbb53 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -777,15 +777,25 @@ radeon_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
}
/* update timing for LVDS and DFP if RMX is active */
- if (radeon_output->Flags & RADEON_USE_RMX) {
- adjusted_mode->CrtcHTotal = mode->CrtcHDisplay + radeon_output->HBlank;
- adjusted_mode->CrtcHSyncStart = mode->CrtcHDisplay + radeon_output->HOverPlus;
- adjusted_mode->CrtcHSyncEnd = mode->CrtcHSyncStart + radeon_output->HSyncWidth;
- adjusted_mode->CrtcVTotal = mode->CrtcVDisplay + radeon_output->VBlank;
- adjusted_mode->CrtcVSyncStart = mode->CrtcVDisplay + radeon_output->VOverPlus;
- adjusted_mode->CrtcVSyncEnd = mode->CrtcVSyncStart + radeon_output->VSyncWidth;
- adjusted_mode->Clock = radeon_output->DotClock;
- adjusted_mode->Flags = radeon_output->Flags;
+ if ((radeon_output->MonType == MT_LCD) || (radeon_output->Flags & RADEON_USE_RMX)) {
+ /* set to the panel's native mode */
+ adjusted_mode->HTotal = radeon_output->PanelXRes + radeon_output->HBlank;
+ adjusted_mode->HSyncStart = radeon_output->PanelXRes + radeon_output->HOverPlus;
+ adjusted_mode->HSyncEnd = adjusted_mode->HSyncStart + radeon_output->HSyncWidth;
+ adjusted_mode->VTotal = radeon_output->PanelYRes + radeon_output->VBlank;
+ adjusted_mode->VSyncStart = radeon_output->PanelYRes + radeon_output->VOverPlus;
+ adjusted_mode->VSyncEnd = adjusted_mode->VSyncStart + radeon_output->VSyncWidth;
+ /* update crtc values */
+ xf86SetModeCrtc(adjusted_mode, INTERLACE_HALVE_V);
+ /* adjust crtc values */
+ adjusted_mode->CrtcHTotal = adjusted_mode->CrtcHDisplay + radeon_output->HBlank;
+ adjusted_mode->CrtcHSyncStart = adjusted_mode->CrtcHDisplay + radeon_output->HOverPlus;
+ adjusted_mode->CrtcHSyncEnd = adjusted_mode->CrtcHSyncStart + radeon_output->HSyncWidth;
+ adjusted_mode->CrtcVTotal = adjusted_mode->CrtcVDisplay + radeon_output->VBlank;
+ adjusted_mode->CrtcVSyncStart = adjusted_mode->CrtcVDisplay + radeon_output->VOverPlus;
+ adjusted_mode->CrtcVSyncEnd = adjusted_mode->CrtcVSyncStart + radeon_output->VSyncWidth;
+ adjusted_mode->Clock = radeon_output->DotClock;
+ adjusted_mode->Flags = radeon_output->Flags;
}
return TRUE;
More information about the xorg-commit
mailing list