xf86-video-ati: Branch 'master' - 3 commits
Michel Daenzer
daenzer at kemper.freedesktop.org
Mon Jun 11 00:45:16 PDT 2007
src/radeon_display.c | 12 +++++++++---
src/radeon_driver.c | 38 ++++++++++++++++++--------------------
2 files changed, 27 insertions(+), 23 deletions(-)
New commits:
diff-tree c6a3286d6f6ddda89115d98d45665dadd78bf41d (from 7a6b3c0f77c69019268f585c51c3dcbcc99014d4)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date: Mon Jun 11 09:39:38 2007 +0200
radeon: Fix panel size detection from registers with stretched mode programmed.
diff --git a/src/radeon_display.c b/src/radeon_display.c
index d501cdc..acb4d30 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -684,12 +684,14 @@ static void RADEONGetPanelInfoFromReg (S
info->PanelPwrDly = 200;
if (fp_vert_stretch & RADEON_VERT_STRETCH_ENABLE) {
- info->PanelYRes = (fp_vert_stretch>>12) + 1;
+ info->PanelYRes = ((fp_vert_stretch & RADEON_VERT_PANEL_SIZE) >>
+ RADEON_VERT_PANEL_SHIFT) + 1;
} else {
info->PanelYRes = (INREG(RADEON_CRTC_V_TOTAL_DISP)>>16) + 1;
}
if (fp_horz_stretch & RADEON_HORZ_STRETCH_ENABLE) {
- info->PanelXRes = ((fp_horz_stretch>>16) + 1) * 8;
+ info->PanelXRes = (((fp_horz_stretch & RADEON_HORZ_PANEL_SIZE) >>
+ RADEON_HORZ_PANEL_SHIFT) + 1) * 8;
} else {
info->PanelXRes = ((INREG(RADEON_CRTC_H_TOTAL_DISP)>>16) + 1) * 8;
}
diff-tree 7a6b3c0f77c69019268f585c51c3dcbcc99014d4 (from f31fd9ce598841c505a0b5ed32bf124f49fea332)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date: Mon Jun 11 09:39:38 2007 +0200
radeon: Don't loop indefinitely if no mode matches detected panel size.
diff --git a/src/radeon_display.c b/src/radeon_display.c
index 90fdc54..d501cdc 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -863,8 +863,12 @@ static Bool RADEONGetLVDSInfo (ScrnInfoP
info->Flags = 0;
break;
}
- tmp_mode = tmp_mode->next;
}
+
+ tmp_mode = tmp_mode->next;
+
+ if (tmp_mode == pScrn->monitor->Modes)
+ break;
}
if ((info->DotClock == 0) && !pRADEONEnt->PortInfo[0]->MonInfo) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
diff-tree f31fd9ce598841c505a0b5ed32bf124f49fea332 (from 2d40fa55e8d7a1cfb204d66ca4a4d95a3b13d5b5)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date: Mon Jun 11 09:39:38 2007 +0200
radeon: Fix some more ErrorFs when setting mode.
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 91af1ec..071411b 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -6430,7 +6430,7 @@ static Bool RADEONInit2(ScrnInfoPtr pScr
if (crtc1 && (crtc_mask & 1)) {
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
- "%-12.12s %7.2f %4d %4d %4d %4d %4d %4d %4d %4d (%d,%d)",
+ "%-12.12s %7.2f %4d %4d %4d %4d %4d %4d %4d %4d (%d,%d)%s%s%s%s%s%s%s\n",
crtc1->name,
crtc1->Clock/1000.0,
@@ -6444,19 +6444,18 @@ static Bool RADEONInit2(ScrnInfoPtr pScr
crtc1->VSyncEnd,
crtc1->VTotal,
pScrn->depth,
- pScrn->bitsPerPixel);
- if (crtc1->Flags & V_DBLSCAN) ErrorF(" D");
- if (crtc1->Flags & V_CSYNC) ErrorF(" C");
- if (crtc1->Flags & V_INTERLACE) ErrorF(" I");
- if (crtc1->Flags & V_PHSYNC) ErrorF(" +H");
- if (crtc1->Flags & V_NHSYNC) ErrorF(" -H");
- if (crtc1->Flags & V_PVSYNC) ErrorF(" +V");
- if (crtc1->Flags & V_NVSYNC) ErrorF(" -V");
- ErrorF("\n");
+ pScrn->bitsPerPixel,
+ (crtc1->Flags & V_DBLSCAN) ? " D" : "",
+ (crtc1->Flags & V_CSYNC) ? " C" : "",
+ (crtc1->Flags & V_INTERLACE) ? " I" : "",
+ (crtc1->Flags & V_PHSYNC) ? " +H" : "",
+ (crtc1->Flags & V_NHSYNC) ? " -H" : "",
+ (crtc1->Flags & V_PVSYNC) ? " +V" : "",
+ (crtc1->Flags & V_NVSYNC) ? " -V" : "");
}
if (crtc2 && (crtc_mask & 2)) {
xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
- "%-12.12s %7.2f %4d %4d %4d %4d %4d %4d %4d %4d (%d,%d)",
+ "%-12.12s %7.2f %4d %4d %4d %4d %4d %4d %4d %4d (%d,%d)%s%s%s%s%s%s%s\n",
crtc2->name,
crtc2->Clock/1000.0,
@@ -6470,15 +6469,14 @@ static Bool RADEONInit2(ScrnInfoPtr pScr
crtc2->CrtcVSyncEnd,
crtc2->CrtcVTotal,
pScrn->depth,
- pScrn->bitsPerPixel);
- if (crtc2->Flags & V_DBLSCAN) ErrorF(" D");
- if (crtc2->Flags & V_CSYNC) ErrorF(" C");
- if (crtc2->Flags & V_INTERLACE) ErrorF(" I");
- if (crtc2->Flags & V_PHSYNC) ErrorF(" +H");
- if (crtc2->Flags & V_NHSYNC) ErrorF(" -H");
- if (crtc2->Flags & V_PVSYNC) ErrorF(" +V");
- if (crtc2->Flags & V_NVSYNC) ErrorF(" -V");
- ErrorF("\n");
+ pScrn->bitsPerPixel,
+ (crtc2->Flags & V_DBLSCAN) ? " D" : "",
+ (crtc2->Flags & V_CSYNC) ? " C" : "",
+ (crtc2->Flags & V_INTERLACE) ? " I" : "",
+ (crtc2->Flags & V_PHSYNC) ? " +H" : "",
+ (crtc2->Flags & V_NHSYNC) ? " -H" : "",
+ (crtc2->Flags & V_PVSYNC) ? " +V" : "",
+ (crtc2->Flags & V_NVSYNC) ? " -V" : "");
}
if (crtc1 && (crtc_mask & 1))
More information about the xorg-commit
mailing list