xf86-video-ati: Branch 'randr-1.2' - 4 commits
Alex Deucher
agd5f at kemper.freedesktop.org
Thu May 17 21:13:12 PDT 2007
src/radeon_bios.c | 25 -------------------------
src/radeon_display.c | 2 +-
src/radeon_driver.c | 17 +++--------------
src/radeon_output.c | 33 ++++-----------------------------
4 files changed, 8 insertions(+), 69 deletions(-)
New commits:
diff-tree f71bfde7352ef858c1041037d7dc77c237e315a4 (from f711e266d6927dec648f6ff26f15c6f48643f78c)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Fri May 18 00:12:03 2007 -0400
RADEON: more cleanup
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index b2d28a5..91bb7b1 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -5458,19 +5458,6 @@ Bool RADEONInitCrtcRegisters(xf86CrtcPtr
save->fp_crtc_h_total_disp = save->crtc_h_total_disp;
save->fp_crtc_v_total_disp = save->crtc_v_total_disp;
-#if 0
- /* Set following registers for all cases first, if a DFP/LCD is connected on
- internal TMDS/LVDS port, they will be set by RADEONInitFPRegister
- */
- if (!info->IsSwitching) {
- save->fp_gen_cntl = 0;
- save->fp_vert_stretch = info->SavedReg.fp_vert_stretch &
- RADEON_VERT_STRETCH_RESERVED;
- save->fp_horz_stretch = info->SavedReg.fp_horz_stretch &
- (RADEON_HORZ_FP_LOOP_STRETCH |
- RADEON_HORZ_AUTO_RATIO_INC);
- }
-#endif
/* get the output connected to this CRTC */
for (i = 0; i < xf86_config->num_output; i++) {
diff-tree f711e266d6927dec648f6ff26f15c6f48643f78c (from bfc1c372d7475b7fa6bffb8a79dec1dc2f11ec59)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Thu May 17 23:59:07 2007 -0400
RADEON: turn off all outputs in screeninit(). We'll turn on the ones we want later
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index ba736ca..b2d28a5 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -3307,6 +3307,8 @@ Bool RADEONScreenInit(int scrnIndex, Scr
RADEONSave(pScrn);
+ RADEONDisableDisplays(pScrn);
+
if (info->IsMobility) {
if (xf86ReturnOptValBool(info->Options, OPTION_DYNAMIC_CLOCKS, FALSE)) {
RADEONSetDynamicClock(pScrn, 1);
diff-tree bfc1c372d7475b7fa6bffb8a79dec1dc2f11ec59 (from c60b3bc9e3e7463bdb42e2478be8cc3f22c63c68)
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date: Thu May 17 23:45:29 2007 -0400
RADEON: More cleanup
diff --git a/src/radeon_bios.c b/src/radeon_bios.c
index f63eec7..25cd1a8 100644
--- a/src/radeon_bios.c
+++ b/src/radeon_bios.c
@@ -272,31 +272,6 @@ Bool RADEONGetConnectorInfoFromBIOS (Scr
}
if (info->IsMobility) {
-#if 0
- /* For the cases where only one VGA connector is found,
- we assume LVDS is not listed in the connector table,
- add it in here as the first port.
- */
- if ((connector_found < 3) && (info->BiosConnector[tmp1]->ConnectorType == CONNECTOR_CRT)) {
- if (connector_found == 1) {
- memcpy (&info->BiosConnector[1], &info->BiosConnector[0],
- sizeof (info->BiosConnector));
- }
- info->BiosConnector[0].DACType = DAC_TVDAC;
- info->BiosConnector[0].TMDSType = TMDS_UNKNOWN;
- info->BiosConnector[0].DDCType = DDC_NONE_DETECTED;
- info->BiosConnector[0].ConnectorType = CONNECTOR_PROPRIETARY;
-
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "LVDS port is not in connector table, added in.\n");
- if (connector_found == 0) connector_found = 1;
- else connector_found = 3;
- }
-
- /* some bioses seem to list the LVDS port as DVI hack around that here */
- if (info->BiosConnector[0].ConnectorType == CONNECTOR_DVI_D) {
- info->BiosConnector[0].ConnectorType = CONNECTOR_PROPRIETARY;
- }
-#endif
if ((tmp = RADEON_BIOS16(info->ROMHeaderStart + 0x42))) {
if ((tmp0 = RADEON_BIOS16(tmp + 0x15))) {
if ((tmp1 = RADEON_BIOS8(tmp0+2) & 0x07)) {
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index d561fa0..ba736ca 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1661,7 +1661,7 @@ static Bool RADEONPreInitChipType(ScrnIn
case PCI_CHIP_RS482_5974:
info->ChipFamily = CHIP_FAMILY_RS400;
info->IsIGP = TRUE;
- /*info->HasSingleDAC = TRUE;*/ /* ??? */
+ info->HasSingleDAC = TRUE; /* ??? */
break;
case PCI_CHIP_RV410_564A:
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 3052c36..924c3e0 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -181,17 +181,6 @@ void RADEONConnectorFindMonitor(ScrnInfo
}
}
-static void RADEONSwapOutputs(ScrnInfoPtr pScrn)
-{
- RADEONInfoPtr info = RADEONPTR(pScrn);
- RADEONBIOSConnector tmp;
-
- tmp = info->BiosConnector[0];
- info->BiosConnector[0] = info->BiosConnector[1];
- info->BiosConnector[1] = tmp;
-
-}
-
static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, xf86OutputPtr output)
{
RADEONInfoPtr info = RADEONPTR(pScrn);
@@ -524,29 +513,14 @@ Bool RADEONSetupConnectors(ScrnInfoPtr p
}
}
- /* always make TMDS_INT port first*/
- if (info->BiosConnector[1].TMDSType == TMDS_INT) {
- RADEONSwapOutputs(pScrn);
- } else if ((info->BiosConnector[0].TMDSType != TMDS_INT &&
- info->BiosConnector[1].TMDSType != TMDS_INT)) {
- /* no TMDS_INT port, make primary DAC port first */
- /* On my Inspiron 8600 both internal and external ports are
- marked DAC_PRIMARY in BIOS. So be extra careful - only
- swap when the first port is not DAC_PRIMARY */
- if ((!(info->BiosConnector[0].ConnectorType == CONNECTOR_PROPRIETARY)) && (info->BiosConnector[1].DACType == DAC_PRIMARY) &&
- (info->BiosConnector[0].DACType != DAC_PRIMARY)) {
- RADEONSwapOutputs(pScrn);
- }
- }
-
if (info->HasSingleDAC) {
/* For RS300/RS350/RS400 chips, there is no primary DAC. Force VGA port to use TVDAC*/
if (info->BiosConnector[0].ConnectorType == CONNECTOR_CRT) {
info->BiosConnector[0].DACType = DAC_TVDAC;
- info->BiosConnector[1].DACType = DAC_PRIMARY;
+ info->BiosConnector[1].DACType = DAC_NONE;
} else {
info->BiosConnector[1].DACType = DAC_TVDAC;
- info->BiosConnector[0].DACType = DAC_PRIMARY;
+ info->BiosConnector[0].DACType = DAC_NONE;
}
} else if (!pRADEONEnt->HasCRTC2) {
info->BiosConnector[0].DACType = DAC_PRIMARY;
@@ -563,7 +537,8 @@ Bool RADEONSetupConnectors(ScrnInfoPtr p
&info->BiosConnector[1].DACType,
&info->BiosConnector[1].TMDSType,
&info->BiosConnector[1].ConnectorType) != 8) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Invalid ConnectorTable option: %s\n", optstr);
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Invalid ConnectorTable option: %s\n", optstr);
+ return FALSE;
}
}
diff-tree c60b3bc9e3e7463bdb42e2478be8cc3f22c63c68 (from 11289f8206cab1a94bd64a3938cf9af50f19497e)
Author: Paul TBBle Hampson <Paul.Hampson at pobox.com>
Date: Thu May 17 23:26:54 2007 -0400
Fix for infinite loop in RADEONGetLVDSInfo
diff --git a/src/radeon_display.c b/src/radeon_display.c
index f0a24ab..76affcb 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -790,8 +790,8 @@ Bool RADEONGetLVDSInfo (xf86OutputPtr ou
radeon_output->Flags = 0;
break;
}
- tmp_mode = tmp_mode->next;
}
+ tmp_mode = tmp_mode->next;
}
if ((radeon_output->DotClock == 0) && !output->MonInfo) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
More information about the xorg-commit
mailing list