rpms/xorg-x11-drv-ati/F-8 .cvsignore, 1.20, 1.21 radeon-git-upstream-fixes.patch, 1.1, 1.2 sources, 1.20, 1.21 xorg-x11-drv-ati.spec, 1.66, 1.67

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Mon Nov 19 00:14:04 UTC 2007


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14258

Modified Files:
	.cvsignore radeon-git-upstream-fixes.patch sources 
	xorg-x11-drv-ati.spec 
Log Message:
* Mon Nov 19 2007 Dave Airlie <airlied at redhat.com> 6.7.196-1
- rebase to 6.7.196 upstream + fixes from git



Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-8/.cvsignore,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- .cvsignore	6 Oct 2007 18:20:36 -0000	1.20
+++ .cvsignore	19 Nov 2007 00:13:28 -0000	1.21
@@ -1 +1 @@
-xf86-video-ati-6.7.195.tar.bz2
+xf86-video-ati-6.7.196.tar.bz2

radeon-git-upstream-fixes.patch:

Index: radeon-git-upstream-fixes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-8/radeon-git-upstream-fixes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- radeon-git-upstream-fixes.patch	16 Oct 2007 02:28:19 -0000	1.1
+++ radeon-git-upstream-fixes.patch	19 Nov 2007 00:13:28 -0000	1.2
@@ -1,805 +1,123 @@
 diff --git a/configure.ac b/configure.ac
-index 5f18d2b..5216eff 100644
+index 450d951..b3d46a5 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -79,7 +79,7 @@ sdkdir=$(pkg-config --variable=sdkdir xorg-server)
  # Checks for header files.
  AC_HEADER_STDC
  
--if test "$DRI" != no; then
-+if test "x$DRI" = xauto; then
+-if test "x$DRI" = xauto; then
++if test "$DRI" != no; then
  	AC_CHECK_FILE([${sdkdir}/dri.h],
                        [have_dri_h="yes"], [have_dri_h="no"])
  	AC_CHECK_FILE([${sdkdir}/sarea.h],
-diff --git a/man/radeon.man b/man/radeon.man
-index 35dd701..9168254 100644
---- a/man/radeon.man
-+++ b/man/radeon.man
-@@ -383,6 +383,14 @@ case.  This is only useful for LVDS panels (laptop internal panels).
- The default is
- .B on.
- .TP
-+.BI "Option \*qLVDSBiosNativeMode\*q \*q" boolean \*q
-+On some laptops, the LVDS mode from the timing tables in the bios does 
-+not work properly.  In those cases, a CVT mode seems to work better.  
-+If you get a blank screen or have LVDS display problems, disable this 
-+option to use a CVT mode.  
-+The default is
-+.B on.
-+.TP
- .BI "Option \*qDRI\*q \*q" boolean \*q
- Enable DRI support.  This option allows you to enable to disable the DRI.  
- The default is
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 1eea432..ff1e225 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -66,6 +66,17 @@ atimisc_drv_la_SOURCES = \
- 	atiload.c atimisc.c atimach64probe.c $(ATIMISC_CPIO_SOURCES) \
- 	$(ATIMISC_DGA_SOURCES) $(ATIMISC_DRI_SRCS) $(ATIMISC_EXA_SOURCES)
- 
-+if XSERVER_LIBPCIACCESS
-+# r128 has not been ported yet
-+else
-+r128_drv_la_LTLIBRARIES = r128_drv.la
-+r128_drv_la_LDFLAGS = -module -avoid-version
-+r128_drv_ladir = @moduledir@/drivers
-+r128_drv_la_SOURCES = \
-+	r128_accel.c r128_cursor.c r128_dga.c r128_driver.c \
-+	r128_video.c r128_misc.c r128_probe.c $(R128_DRI_SRCS)
-+endif
-+
- radeon_drv_la_LTLIBRARIES = radeon_drv.la
- radeon_drv_la_LDFLAGS = -module -avoid-version
- radeon_drv_ladir = @moduledir@/drivers
-@@ -76,16 +87,6 @@ radeon_drv_la_SOURCES = \
- 	radeon_crtc.c radeon_output.c radeon_modes.c radeon_tv.c \
- 	$(RADEON_DRI_SRCS) $(RADEON_EXA_SOURCES)
- 
--if XSERVER_LIBPCIACCESS
--# r128 and theatre have not been ported yet
--else
--r128_drv_la_LTLIBRARIES = r128_drv.la
--r128_drv_la_LDFLAGS = -module -avoid-version
--r128_drv_ladir = @moduledir@/drivers
--r128_drv_la_SOURCES = \
--	r128_accel.c r128_cursor.c r128_dga.c r128_driver.c \
--	r128_video.c r128_misc.c r128_probe.c $(R128_DRI_SRCS)
--
- theatre_detect_drv_la_LTLIBRARIES = theatre_detect_drv.la
- theatre_detect_drv_la_LDFLAGS = -module -avoid-version
- theatre_detect_drv_ladir = @moduledir@/multimedia
-@@ -106,7 +107,6 @@ theatre200_drv_la_CFLAGS = \
- 	$(AM_CFLAGS) -DMICROC_DIR=\"$(theatre200_drv_ladir)\"
- theatre200_drv_la_SOURCES = \
- 	theatre200.c theatre200_module.c
--endif
- 
- EXTRA_DIST = \
- 	atimach64render.c \
-diff --git a/src/atiprint.c b/src/atiprint.c
-index 60d9c21..3a1debb 100644
---- a/src/atiprint.c
-+++ b/src/atiprint.c
-@@ -26,6 +26,7 @@
- 
- #include <string.h>
- #include <ctype.h>
-+#include <stdint.h>
- 
- #include "ati.h"
- #include "atichip.h"
-diff --git a/src/atiprobe.c b/src/atiprobe.c
-index 78b3edd..38ce90d 100644
---- a/src/atiprobe.c
-+++ b/src/atiprobe.c
-@@ -26,6 +26,7 @@
- 
- #include <string.h>
- #include <stdio.h>
-+#include <stdint.h>
- 
- #include "ati.h"
- #include "atibus.h"
-diff --git a/src/radeon.h b/src/radeon.h
-index ad94cc5..6ee43b2 100644
---- a/src/radeon.h
-+++ b/src/radeon.h
-@@ -157,7 +157,8 @@ typedef enum {
- #if defined(__powerpc__)
-     OPTION_MAC_MODEL,
- #endif
--    OPTION_DEFAULT_TMDS_PLL
-+    OPTION_DEFAULT_TMDS_PLL,
-+    OPTION_LVDS_BIOS_NATIVE_MODE
- } RADEONOpts;
- 
- 
-@@ -816,6 +817,8 @@ typedef struct {
-     RADEONMacModel    MacModel;
- #endif
- 
-+    Bool              LVDSBiosNativeMode;
-+
-     Rotation rotation;
-     void (*PointerMoved)(int, int, int);
-     CreateScreenResourcesProcPtr CreateScreenResources;
-@@ -910,6 +913,8 @@ extern void        RADEONRestoreFP2Registers(ScrnInfoPtr pScrn,
- 					     RADEONSavePtr restore);
- extern void        RADEONRestoreLVDSRegisters(ScrnInfoPtr pScrn,
- 					      RADEONSavePtr restore);
-+extern void        RADEONRestoreBIOSRegisters(ScrnInfoPtr pScrn,
-+					      RADEONSavePtr restore);
- extern void        RADEONRestoreRMXRegisters(ScrnInfoPtr pScrn,
- 					     RADEONSavePtr restore);
- extern void        RADEONRestorePLLRegisters(ScrnInfoPtr pScrn,
-diff --git a/src/radeon_bios.c b/src/radeon_bios.c
-index 65c2bb0..1b46746 100644
---- a/src/radeon_bios.c
-+++ b/src/radeon_bios.c
-@@ -176,6 +176,9 @@ static Bool RADEONGetATOMConnectorInfoFromBIOS (ScrnInfoPtr pScrn)
- 		case RADEON_LCD_GPIO_MASK:
- 		    info->BiosConnector[i].DDCType = DDC_LCD;
- 		    break;
-+		case RADEON_MDGPIO_EN_REG:
-+		    info->BiosConnector[i].DDCType = DDC_GPIO;
-+		    break;
- 		default:
- 		    info->BiosConnector[i].DDCType = DDC_NONE_DETECTED;
- 		    break;
-@@ -254,6 +257,23 @@ static Bool RADEONGetLegacyConnectorInfoFromBIOS (ScrnInfoPtr pScrn)
- 		info->BiosConnector[i].DDCType = DDC_MONID;
- 	    }
- 
-+	    /* XPRESS desktop chips seem to have a proprietary connector listed for
-+	     * DVI-D, try and do the right thing here.
-+	    */
-+	    if ((!info->IsMobility) &&
-+		(info->BiosConnector[i].ConnectorType == CONNECTOR_PROPRIETARY)) {
-+		xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-+			   "Proprietary connector found, assuming DVI-D\n");
-+		info->BiosConnector[i].DACType = DAC_NONE;
-+		info->BiosConnector[i].TMDSType = TMDS_EXT;
-+		info->BiosConnector[i].ConnectorType = CONNECTOR_DVI_D;
-+	    }
-+
-+	    if (info->BiosConnector[i].ConnectorType >= CONNECTOR_UNSUPPORTED) {
-+		xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Unknown connector type: %d!\n",
-+			   info->BiosConnector[i].ConnectorType);
-+		info->BiosConnector[i].valid = FALSE;
-+	    }
- 
- 	}
-     } else {
-@@ -277,7 +297,7 @@ static Bool RADEONGetLegacyConnectorInfoFromBIOS (ScrnInfoPtr pScrn)
- 		    tmp1 = RADEON_BIOS8(tmp0+2) & 0x07;
- 		    if (tmp1) {	    
- 			info->BiosConnector[4].DDCType	= tmp1;      
--			if (info->BiosConnector[4].DDCType > DDC_LCD) {
-+			if (info->BiosConnector[4].DDCType > DDC_GPIO) {
- 			    xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- 				       "Unknown DDCType %d found\n",
- 				       info->BiosConnector[4].DDCType);
-diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c
-index 47e46f3..eeb1c6c 100644
---- a/src/radeon_crtc.c
-+++ b/src/radeon_crtc.c
-@@ -311,7 +311,7 @@ RADEONInitCrtcRegisters(xf86CrtcPtr crtc, RADEONSavePtr save,
- 	return FALSE;
-     }
- 
--    save->bios_4_scratch = info->SavedReg.bios_4_scratch;
-+    /*save->bios_4_scratch = info->SavedReg.bios_4_scratch;*/
-     save->crtc_gen_cntl = (RADEON_CRTC_EXT_DISP_EN
- 			   | RADEON_CRTC_EN
- 			   | (format << 8)
-@@ -348,11 +348,10 @@ RADEONInitCrtcRegisters(xf86CrtcPtr crtc, RADEONSavePtr save,
- 
-     hsync_wid = (mode->CrtcHSyncEnd - mode->CrtcHSyncStart) / 8;
-     if (!hsync_wid)       hsync_wid = 1;
--    if (hsync_wid > 0x3f) hsync_wid = 0x3f;
-     hsync_start = mode->CrtcHSyncStart - 8;
- 
-     save->crtc_h_sync_strt_wid = ((hsync_start & 0x1fff)
--				  | (hsync_wid << 16)
-+				  | ((hsync_wid & 0x3f) << 16)
- 				  | ((mode->Flags & V_NHSYNC)
- 				     ? RADEON_CRTC_H_SYNC_POL
- 				     : 0));
-@@ -363,10 +362,9 @@ RADEONInitCrtcRegisters(xf86CrtcPtr crtc, RADEONSavePtr save,
- 
-     vsync_wid = mode->CrtcVSyncEnd - mode->CrtcVSyncStart;
-     if (!vsync_wid)       vsync_wid = 1;
--    if (vsync_wid > 0x1f) vsync_wid = 0x1f;
- 
-     save->crtc_v_sync_strt_wid = (((mode->CrtcVSyncStart - 1) & 0xfff)
--				  | (vsync_wid << 16)
-+				  | ((vsync_wid & 0x1f) << 16)
- 				  | ((mode->Flags & V_NVSYNC)
- 				     ? RADEON_CRTC_V_SYNC_POL
- 				     : 0));
-@@ -545,11 +543,10 @@ RADEONInitCrtc2Registers(xf86CrtcPtr crtc, RADEONSavePtr save,
- 
-     hsync_wid = (mode->CrtcHSyncEnd - mode->CrtcHSyncStart) / 8;
-     if (!hsync_wid)       hsync_wid = 1;
--    if (hsync_wid > 0x3f) hsync_wid = 0x3f;
-     hsync_start = mode->CrtcHSyncStart - 8;
- 
-     save->crtc2_h_sync_strt_wid = ((hsync_start & 0x1fff)
--				   | (hsync_wid << 16)
-+				   | ((hsync_wid & 0x3f) << 16)
- 				   | ((mode->Flags & V_NHSYNC)
- 				      ? RADEON_CRTC_H_SYNC_POL
- 				      : 0));
-@@ -560,10 +557,9 @@ RADEONInitCrtc2Registers(xf86CrtcPtr crtc, RADEONSavePtr save,
- 
-     vsync_wid = mode->CrtcVSyncEnd - mode->CrtcVSyncStart;
-     if (!vsync_wid)       vsync_wid = 1;
--    if (vsync_wid > 0x1f) vsync_wid = 0x1f;
- 
-     save->crtc2_v_sync_strt_wid = (((mode->CrtcVSyncStart - 1) & 0xfff)
--				   | (vsync_wid << 16)
-+				   | ((vsync_wid & 0x1f) << 16)
- 				   | ((mode->Flags & V_NVSYNC)
- 				      ? RADEON_CRTC2_V_SYNC_POL
- 				      : 0));
-@@ -768,6 +764,18 @@ RADEONInitPLL2Registers(ScrnInfoPtr pScrn, RADEONSavePtr save,
+diff --git a/src/radeon_dri.c b/src/radeon_dri.c
+index 2c533b1..ed418b8 100644
+--- a/src/radeon_dri.c
++++ b/src/radeon_dri.c
+@@ -722,7 +722,9 @@ static Bool RADEONSetAgpMode(RADEONInfoPtr info, ScreenPtr pScreen)
+     unsigned long mode   = drmAgpGetMode(info->drmFD);	/* Default mode */
+     unsigned int  vendor = drmAgpVendorId(info->drmFD);
+     unsigned int  device = drmAgpDeviceId(info->drmFD);
+-    CARD32 agp_status = INREG(RADEON_AGP_STATUS) & mode;
++    /* ignore agp 3.0 mode bit from the chip as it's buggy on some cards with
++       pcie-agp rialto bridge chip - use the one from bridge which must match */
++    CARD32 agp_status = (INREG(RADEON_AGP_STATUS) | RADEON_AGPv3_MODE) & mode;
+     Bool is_v3 = (agp_status & RADEON_AGPv3_MODE);
+     unsigned int defaultMode;
+     MessageType from;
+diff --git a/src/radeon_output.c b/src/radeon_output.c
+index 599a89c..54c27cd 100644
+--- a/src/radeon_output.c
++++ b/src/radeon_output.c
+@@ -1039,11 +1039,12 @@ static void RADEONInitDACRegisters(xf86OutputPtr output, RADEONSavePtr save,
+     save->dac_macro_cntl = info->SavedReg.dac_macro_cntl;
  }
  
+-/* XXX: fix me */
  static void
-+RADEONInitBIOSRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
-+{
-+    RADEONInfoPtr  info      = RADEONPTR(pScrn);
-+
-+    /* tell the bios not to muck with the hardware on events */
-+    save->bios_4_scratch = 0;
-+    save->bios_5_scratch = 0xff00;
-+    save->bios_6_scratch = info->SavedReg.bios_6_scratch | 0x40000000;
-+
-+}
-+
-+static void
- radeon_update_tv_routing(ScrnInfoPtr pScrn, RADEONSavePtr restore)
+-RADEONInitTvDacCntl(ScrnInfoPtr pScrn, RADEONSavePtr save)
++RADEONInitTvDacCntl(xf86OutputPtr output, RADEONSavePtr save)
  {
-     /* pixclks_cntl controls tv clock routing */
-@@ -813,6 +821,9 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
- 	}
-     }
- 
-+    if (info->IsMobility)
-+	RADEONInitBIOSRegisters(pScrn, &info->ModeReg);
-+
-     ErrorF("init memmap\n");
-     RADEONInitMemMapRegisters(pScrn, &info->ModeReg, info);
-     ErrorF("init common\n");
-@@ -868,6 +879,9 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
- 	}
-     }
- 
-+    if (info->IsMobility)
-+	RADEONRestoreBIOSRegisters(pScrn, &info->ModeReg);
-+
-     ErrorF("restore memmap\n");
-     RADEONRestoreMemMapRegisters(pScrn, &info->ModeReg);
-     ErrorF("restore common\n");
-diff --git a/src/radeon_driver.c b/src/radeon_driver.c
-index 03f531e..40e1d98 100644
---- a/src/radeon_driver.c
-+++ b/src/radeon_driver.c
-@@ -190,6 +190,7 @@ static const OptionInfoRec RADEONOptions[] = {
- #if defined(__powerpc__)
-     { OPTION_MAC_MODEL,      "MacModel",         OPTV_STRING,  {0}, FALSE },
- #endif
-+    { OPTION_LVDS_BIOS_NATIVE_MODE, "LVDSBiosNativeMode", OPTV_BOOLEAN, {0}, TRUE },
-     { -1,                    NULL,               OPTV_NONE,    {0}, FALSE }
- };
- 
-@@ -4235,14 +4236,27 @@ void RADEONRestoreLVDSRegisters(ScrnInfoPtr pScrn, RADEONSavePtr restore)
- 
-     if (info->IsMobility) {
- 	OUTREG(RADEON_LVDS_GEN_CNTL,  restore->lvds_gen_cntl);
--	OUTREG(RADEON_LVDS_PLL_CNTL,  restore->lvds_pll_cntl);  
--	/*OUTREG(RADEON_BIOS_4_SCRATCH, restore->bios_4_scratch);
--	OUTREG(RADEON_BIOS_5_SCRATCH, restore->bios_5_scratch);
--	OUTREG(RADEON_BIOS_6_SCRATCH, restore->bios_6_scratch);*/
-+	OUTREG(RADEON_LVDS_PLL_CNTL,  restore->lvds_pll_cntl);
-     }
++    ScrnInfoPtr pScrn = output->scrn;
+     RADEONInfoPtr  info       = RADEONPTR(pScrn);
++    RADEONOutputPrivatePtr radeon_output = output->driver_private;
+ 
+     if (info->ChipFamily == CHIP_FAMILY_R420 ||
+ 	info->ChipFamily == CHIP_FAMILY_RV410) {
+@@ -1064,10 +1065,11 @@ RADEONInitTvDacCntl(ScrnInfoPtr pScrn, RADEONSavePtr save)
+ 			       RADEON_TV_DAC_GDACPD |
+ 			       RADEON_TV_DAC_GDACPD);
+     }
+-    /* FIXME: doesn't make sense, this just replaces the previous value... */
++
+     save->tv_dac_cntl |= (RADEON_TV_DAC_NBLANK |
+-			 RADEON_TV_DAC_NHOLD |
+-			  RADEON_TV_DAC_STD_PS2);
++			  RADEON_TV_DAC_NHOLD |
++			  RADEON_TV_DAC_STD_PS2 |
++			  radeon_output->tv_dac_adj);
  
  }
  
-+void RADEONRestoreBIOSRegisters(ScrnInfoPtr pScrn, RADEONSavePtr restore)
-+{
-+    RADEONInfoPtr  info       = RADEONPTR(pScrn);
-+    unsigned char *RADEONMMIO = info->MMIO;
-+    CARD32 bios_6_scratch = INREG(RADEON_BIOS_6_SCRATCH);
-+
-+    OUTREG(RADEON_BIOS_4_SCRATCH, restore->bios_4_scratch);
-+    OUTREG(RADEON_BIOS_5_SCRATCH, restore->bios_5_scratch);
-+    if (restore->bios_6_scratch & 0x40000000)
-+	bios_6_scratch |= 0x40000000;
-+    else
-+	bios_6_scratch &= ~0x40000000;
-+    OUTREG(RADEON_BIOS_6_SCRATCH, bios_6_scratch);
-+
-+}
-+
- /* Write to TV FIFO RAM */
- static void RADEONWriteTVFIFO(ScrnInfoPtr pScrn, CARD16 addr,
- 			      CARD32 value)
-@@ -5082,6 +5096,16 @@ static void RADEONSaveDACRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
+@@ -1078,7 +1080,7 @@ static void RADEONInitDAC2Registers(xf86OutputPtr output, RADEONSavePtr save,
+     RADEONInfoPtr  info       = RADEONPTR(pScrn);
  
- }
- 
-+static void RADEONSaveBIOSRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
-+{
-+    RADEONInfoPtr  info       = RADEONPTR(pScrn);
-+    unsigned char *RADEONMMIO = info->MMIO;
-+
-+    save->bios_4_scratch       = INREG(RADEON_BIOS_4_SCRATCH);
-+    save->bios_5_scratch       = INREG(RADEON_BIOS_5_SCRATCH);
-+    save->bios_6_scratch       = INREG(RADEON_BIOS_6_SCRATCH);
-+}
-+
- /* Read flat panel registers */
- static void RADEONSaveFPRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
- {
-@@ -5096,9 +5120,6 @@ static void RADEONSaveFPRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
-     save->lvds_pll_cntl        = INREG(RADEON_LVDS_PLL_CNTL);
-     save->tmds_pll_cntl        = INREG(RADEON_TMDS_PLL_CNTL);
-     save->tmds_transmitter_cntl= INREG(RADEON_TMDS_TRANSMITTER_CNTL);
--    save->bios_4_scratch       = INREG(RADEON_BIOS_4_SCRATCH);
--    save->bios_5_scratch       = INREG(RADEON_BIOS_5_SCRATCH);
--    save->bios_6_scratch       = INREG(RADEON_BIOS_6_SCRATCH);
- 
-     if (info->ChipFamily == CHIP_FAMILY_RV280) {
- 	/* bit 22 of TMDS_PLL_CNTL is read-back inverted */
-@@ -5325,7 +5346,7 @@ static void RADEONSave(ScrnInfoPtr pScrn)
- 	vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE); /* Save mode only */
- # else
- 	/* Save mode * & fonts & cmap */
--	vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS);
-+	vgaHWSave(pScrn, &hwp->SavedReg, VGA_SR_ALL);
- # endif
- 	vgaHWLock(hwp);
-     }
-@@ -5340,6 +5361,7 @@ static void RADEONSave(ScrnInfoPtr pScrn)
-     RADEONSavePLLRegisters(pScrn, save);
-     RADEONSaveCrtcRegisters(pScrn, save);
-     RADEONSaveFPRegisters(pScrn, save);
-+    RADEONSaveBIOSRegisters(pScrn, save);
-     RADEONSaveDACRegisters(pScrn, save);
-     if (pRADEONEnt->HasCRTC2) {
- 	RADEONSaveCrtc2Registers(pScrn, save);
-@@ -5386,6 +5408,7 @@ void RADEONRestore(ScrnInfoPtr pScrn)
- 	RADEONRestorePLL2Registers(pScrn, restore);
-     }
- 
-+    RADEONRestoreBIOSRegisters(pScrn, restore);
-     RADEONRestoreCrtcRegisters(pScrn, restore);
-     RADEONRestorePLLRegisters(pScrn, restore);
-     RADEONRestoreRMXRegisters(pScrn, restore);
-@@ -5417,7 +5440,7 @@ void RADEONRestore(ScrnInfoPtr pScrn)
- 	*/
-        vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE );
- # else
--       vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_MODE | VGA_SR_FONTS );
-+       vgaHWRestore(pScrn, &hwp->SavedReg, VGA_SR_ALL );
- # endif
-        vgaHWLock(hwp);
-     }
-diff --git a/src/radeon_modes.c b/src/radeon_modes.c
-index ea2c229..e01c1e1 100644
---- a/src/radeon_modes.c
-+++ b/src/radeon_modes.c
-@@ -95,20 +95,45 @@ static DisplayModePtr RADEONTVModes(xf86OutputPtr output)
- static DisplayModePtr RADEONFPNativeMode(xf86OutputPtr output)
- {
-     ScrnInfoPtr pScrn = output->scrn;
-+    RADEONInfoPtr info = RADEONPTR(pScrn);
-     RADEONOutputPrivatePtr radeon_output = output->driver_private;
-     DisplayModePtr  new   = NULL;
-+    char            stmp[32];
- 
-     if (radeon_output->PanelXRes != 0 &&
- 	radeon_output->PanelYRes != 0 &&
- 	radeon_output->DotClock != 0) {
- 
--	/* Add native panel size */
--	new = xf86CVTMode(radeon_output->PanelXRes, radeon_output->PanelYRes, 60.0, TRUE, FALSE);
-+	if (info->LVDSBiosNativeMode) {
-+	    new             = xnfcalloc(1, sizeof (DisplayModeRec));
-+	    sprintf(stmp, "%dx%d", radeon_output->PanelXRes, radeon_output->PanelYRes);
-+	    new->name       = xnfalloc(strlen(stmp) + 1);
-+	    strcpy(new->name, stmp);
-+	    new->HDisplay   = radeon_output->PanelXRes;
-+	    new->VDisplay   = radeon_output->PanelYRes;
- 
--	new->type       = M_T_DRIVER | M_T_PREFERRED;
-+	    new->HTotal     = new->HDisplay + radeon_output->HBlank;
-+	    new->HSyncStart = new->HDisplay + radeon_output->HOverPlus;
-+	    new->HSyncEnd   = new->HSyncStart + radeon_output->HSyncWidth;
-+	    new->VTotal     = new->VDisplay + radeon_output->VBlank;
-+	    new->VSyncStart = new->VDisplay + radeon_output->VOverPlus;
-+	    new->VSyncEnd   = new->VSyncStart + radeon_output->VSyncWidth;
- 
--	new->next       = NULL;
--	new->prev       = NULL;
-+	    new->Clock      = radeon_output->DotClock;
-+	    new->Flags      = 0;
-+
-+	} else {
-+	    /* Add native panel size */
-+	    new = xf86CVTMode(radeon_output->PanelXRes, radeon_output->PanelYRes, 60.0, FALSE, FALSE);
-+
-+	}
-+
-+	if (new) {
-+	    new->type       = M_T_DRIVER | M_T_PREFERRED;
-+
-+	    new->next       = NULL;
-+	    new->prev       = NULL;
-+	}
- 
- 	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Added native panel mode: %dx%d\n",
- 		   radeon_output->PanelXRes, radeon_output->PanelYRes);
-@@ -159,7 +184,7 @@ static void RADEONAddScreenModes(xf86OutputPtr output, DisplayModePtr *modeList)
- 	    }
- 	}
- 
--	new = xf86CVTMode(width, height, 60.0, TRUE, FALSE);
-+	new = xf86CVTMode(width, height, 60.0, FALSE, FALSE);
- 
- 	new->type      |= M_T_USERDEF;
- 
-@@ -199,11 +224,13 @@ RADEONProbeOutputModes(xf86OutputPtr output)
- 
-     if (output->status == XF86OutputStatusConnected) {
- 	if (radeon_output->type == OUTPUT_DVI || radeon_output->type == OUTPUT_VGA) {
--	    edid_mon = xf86OutputGetEDID (output, radeon_output->pI2CBus);
--	    xf86OutputSetEDID (output, edid_mon);
-+	    if (output->MonInfo) {
-+		edid_mon = xf86OutputGetEDID (output, radeon_output->pI2CBus);
-+		xf86OutputSetEDID (output, edid_mon);
- 
--	    modes = xf86OutputGetEDIDModes (output);
--	    return modes;
-+		modes = xf86OutputGetEDIDModes (output);
-+		return modes;
-+	    }
- 	}
- 	if (radeon_output->type == OUTPUT_STV || radeon_output->type == OUTPUT_CTV) {
- 	    modes = RADEONTVModes(output);
-diff --git a/src/radeon_output.c b/src/radeon_output.c
-index a6da78e..e2f26e7 100644
---- a/src/radeon_output.c
-+++ b/src/radeon_output.c
-@@ -75,13 +75,14 @@ const char *TMDSTypeName[4] = {
-   "None"
- };
- 
--const char *DDCTypeName[6] = {
-+const char *DDCTypeName[7] = {
-   "None",
-   "MONID",
-   "DVI_DDC",
-   "VGA_DDC",
-   "CRT2_DDC",
--  "LCD_DDC"
-+  "LCD_DDC",
-+  "GPIO_DDC"
- };
- 
- const char *DACTypeName[4] = {
-@@ -277,7 +278,7 @@ RADEONDisplayDDCConnected(ScrnInfoPtr pScrn, xf86OutputPtr output)
-     DDCReg = radeon_output->DDCReg;
- 
-     /* Read and output monitor info using DDC2 over I2C bus */
--    if (radeon_output->pI2CBus && info->ddc2 && (DDCReg != RADEON_LCD_GPIO_MASK)) {
-+    if (radeon_output->pI2CBus && info->ddc2 && (DDCReg != RADEON_LCD_GPIO_MASK) && (DDCReg != RADEON_MDGPIO_EN_REG)) {
- 	OUTREG(DDCReg, INREG(DDCReg) &
- 	       (CARD32)~(RADEON_GPIO_A_0 | RADEON_GPIO_A_1));
- 
-@@ -331,7 +332,7 @@ RADEONDisplayDDCConnected(ScrnInfoPtr pScrn, xf86OutputPtr output)
- 	    usleep(15000);
- 	    if(*MonInfo)  break;
- 	}
--    } else if (radeon_output->pI2CBus && info->ddc2 && DDCReg == RADEON_LCD_GPIO_MASK) {
-+    } else if (radeon_output->pI2CBus && info->ddc2 && ((DDCReg == RADEON_LCD_GPIO_MASK) || (DDCReg == RADEON_MDGPIO_EN_REG))) {
-          *MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex, radeon_output->pI2CBus);
-     } else {
- 	xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "DDC2/I2C is not properly initialized\n");
-@@ -669,9 +670,19 @@ static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, xf86OutputPtr
-     RADEONOutputPrivatePtr radeon_output = output->driver_private;
-     RADEONMonitorType MonType = MT_NONE;
- 
--
-     if (radeon_output->type == OUTPUT_LVDS) {
--	    MonType =  MT_LCD;
-+#if defined(__powerpc__)
-+	/* not sure on ppc, OF? */
-+#else
-+	if (!info->IsAtomBios) {
-+	    /* see if the lid is closed -- only works at boot */
-+	    if (INREG(RADEON_BIOS_6_SCRATCH) & 0x10)
-+		MonType = MT_NONE;
-+	    else
-+		MonType = MT_LCD;
-+	} else
-+#endif
-+	    MonType = MT_LCD;
-     } else if (radeon_output->type == OUTPUT_DVI) {
- 	if (radeon_output->TMDSType == TMDS_INT) {
- 	    if (INREG(RADEON_FP_GEN_CNTL) & RADEON_FP_DETECT_SENSE)
-@@ -765,10 +776,14 @@ radeon_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
- 	}
-     }
- 
--    /* update clock for LVDS always and DFP if RMX is active */
--    if ((radeon_output->MonType == MT_LCD) ||
--	((radeon_output->MonType == MT_DFP) &&
--	 (radeon_output->Flags & RADEON_USE_RMX))) {
-+    /* 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;
-     }
-@@ -1636,6 +1651,16 @@ radeon_detect(xf86OutputPtr output)
- 	  break;
+     /*0x0028023;*/
+-    RADEONInitTvDacCntl(pScrn, save);
++    RADEONInitTvDacCntl(output, save);
+ 
+     if (IS_R300_VARIANT)
+ 	save->gpiopad_a = info->SavedReg.gpiopad_a | 1;
+@@ -1671,9 +1673,13 @@ radeon_detect(xf86OutputPtr output)
+ 	   * so we can get something on the screen
+ 	   */
+ 	  if (((radeon_output->type == OUTPUT_VGA || radeon_output->type == OUTPUT_DVI) &&
+-	       radeon_output->DACType == DAC_TVDAC) ||
+-	      (info->IsIGP && radeon_output->type == OUTPUT_DVI))
++	       radeon_output->DACType == DAC_TVDAC)) {
++	      radeon_output->MonType = MT_CRT;
+ 	      return XF86OutputStatusUnknown;
++	  } else if  (info->IsIGP && radeon_output->type == OUTPUT_DVI) {
++	      radeon_output->MonType = MT_DFP; /* MT_LCD ??? */
++	      return XF86OutputStatusUnknown;
++	  }
        }
  
-+      if (!connected) {
-+	  /* default to unknown for flaky chips/connectors
-+	   * so we can get something on the screen
-+	   */
-+	  if (((radeon_output->type == OUTPUT_VGA || radeon_output->type == OUTPUT_DVI) &&
-+	       radeon_output->DACType == DAC_TVDAC) ||
-+	      (info->IsIGP && radeon_output->type == OUTPUT_DVI))
-+	      return XF86OutputStatusUnknown;
-+      }
-+
        if (connected)
- 	  return XF86OutputStatusConnected;
-       else
-@@ -1911,7 +1936,7 @@ radeon_create_resources(xf86OutputPtr output)
- 	    xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- 		       "RRConfigureOutputProperty error, %d\n", err);
- 	}
--	/* Set the current value of the backlight property */
-+	/* Set the current value of the property */
- 	switch (radeon_output->default_tvStd) {
- 	case TV_STD_PAL:
- 	    s = "pal";
-@@ -2081,47 +2106,23 @@ radeon_set_property(xf86OutputPtr output, Atom property,
- 	    return FALSE;
- 	s = (char*)value->data;
- 	if (value->size == strlen("ntsc") && !strncmp("ntsc", s, strlen("ntsc"))) {
--	    if (radeon_output->SupportedTVStds & TV_STD_NTSC) {
--		radeon_output->tvStd = TV_STD_NTSC;
--		return TRUE;
--	    } else {
--		return FALSE;
--	    }
-+	    radeon_output->tvStd = TV_STD_NTSC;
-+	    return TRUE;
- 	} else if (value->size == strlen("pal") && !strncmp("pal", s, strlen("pal"))) {
--	    if (radeon_output->SupportedTVStds & TV_STD_PAL) {
--		radeon_output->tvStd = TV_STD_PAL;
--		return TRUE;
--	    } else {
--		return FALSE;
--	    }
-+	    radeon_output->tvStd = TV_STD_PAL;
-+	    return TRUE;
- 	} else if (value->size == strlen("pal-m") && !strncmp("pal-m", s, strlen("pal-m"))) {
--	    if (radeon_output->SupportedTVStds & TV_STD_PAL_M) {
--		radeon_output->tvStd = TV_STD_PAL_M;
--		return TRUE;
--	    } else {
--		return FALSE;
--	    }
-+	    radeon_output->tvStd = TV_STD_PAL_M;
-+	    return TRUE;
- 	} else if (value->size == strlen("pal-60") && !strncmp("pal-60", s, strlen("pal-60"))) {
--	    if (radeon_output->SupportedTVStds & TV_STD_PAL_60) {
--		radeon_output->tvStd = TV_STD_PAL_60;
--		return TRUE;
--	    } else {
--		return FALSE;
--	    }
-+	    radeon_output->tvStd = TV_STD_PAL_60;
-+	    return TRUE;
- 	} else if (value->size == strlen("ntsc-j") && !strncmp("ntsc-j", s, strlen("ntsc-j"))) {
--	    if (radeon_output->SupportedTVStds & TV_STD_NTSC_J) {
--		radeon_output->tvStd = TV_STD_NTSC_J;
--		return TRUE;
--	    } else {
--		return FALSE;
--	    }
-+	    radeon_output->tvStd = TV_STD_NTSC_J;
-+	    return TRUE;
- 	} else if (value->size == strlen("scart-pal") && !strncmp("scart-pal", s, strlen("scart-pal"))) {
--	    if (radeon_output->SupportedTVStds & TV_STD_SCART_PAL) {
--		radeon_output->tvStd = TV_STD_SCART_PAL;
--		return TRUE;
--	    } else {
--		return FALSE;
--	    }
-+	    radeon_output->tvStd = TV_STD_SCART_PAL;
-+	    return TRUE;
- 	}
- 	return FALSE;
-     }
-@@ -2206,6 +2207,10 @@ static void RADEONI2CGetBits(I2CBusPtr b, int *Clock, int *data)
-         val = INREG(b->DriverPrivate.uval+4);
-         *Clock = (val & (1<<13)) != 0;
-         *data  = (val & (1<<12)) != 0;
-+    } else if (b->DriverPrivate.uval == RADEON_MDGPIO_EN_REG) {
-+        val = INREG(b->DriverPrivate.uval+4);
-+        *Clock = (val & (1<<19)) != 0;
-+        *data  = (val & (1<<18)) != 0;
-     } else {
-         val = INREG(b->DriverPrivate.uval);
-         *Clock = (val & RADEON_GPIO_Y_1) != 0;
-@@ -2225,6 +2230,11 @@ static void RADEONI2CPutBits(I2CBusPtr b, int Clock, int data)
-         val |= (Clock ? 0:(1<<13));
-         val |= (data ? 0:(1<<12));
-         OUTREG(b->DriverPrivate.uval, val);
-+    } else if (b->DriverPrivate.uval == RADEON_MDGPIO_EN_REG) {
-+        val = INREG(b->DriverPrivate.uval) & (CARD32)~((1<<18) | (1<<19));
-+        val |= (Clock ? 0:(1<<19));
-+        val |= (data ? 0:(1<<18));
-+        OUTREG(b->DriverPrivate.uval, val);
-     } else {
-         val = INREG(b->DriverPrivate.uval) & (CARD32)~(RADEON_GPIO_EN_0 | RADEON_GPIO_EN_1);
-         val |= (Clock ? 0:RADEON_GPIO_EN_1);
-@@ -2430,6 +2440,15 @@ RADEONGetLVDSInfo (xf86OutputPtr output)
- 	}
-     }
- 
-+    info->LVDSBiosNativeMode = TRUE;
-+    if (!xf86ReturnOptValBool(info->Options, OPTION_LVDS_BIOS_NATIVE_MODE, TRUE)) {
-+	info->LVDSBiosNativeMode = FALSE;
-+	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using CVT mode for LVDS\n");
-+    } else {
-+	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Using LVDS Native Mode\n");
-+    }
-+
-+
-     /* The panel size we collected from BIOS may not be the
-      * maximum size supported by the panel.  If not, we update
-      * it now.  These will be used if no matching mode can be
-@@ -2547,6 +2566,7 @@ void RADEONInitConnector(xf86OutputPtr output)
-     case DDC_VGA  : DDCReg = RADEON_GPIO_VGA_DDC; break;
-     case DDC_CRT2 : DDCReg = RADEON_GPIO_CRT2_DDC; break;
-     case DDC_LCD  : DDCReg = RADEON_LCD_GPIO_MASK; break;
-+    case DDC_GPIO : DDCReg = RADEON_MDGPIO_EN_REG; break;
-     default: break;
-     }
- 
-@@ -2791,6 +2811,78 @@ static void RADEONSetupGenericConnectors(ScrnInfoPtr pScrn)
- 
- }
- 
-+#if defined(__powerpc__)
-+
-+/*
-+ * Returns RADEONMacModel or 0 based on lines 'detected as' and 'machine'
-+ * in /proc/cpuinfo (on Linux) */
-+static RADEONMacModel RADEONDetectMacModel(ScrnInfoPtr pScrn)
-+{
-+    RADEONMacModel ret = 0;
-+#ifdef __linux__
-+    char cpuline[50];  /* 50 should be sufficient for our purposes */
-+    FILE *f = fopen ("/proc/cpuinfo", "r");
-+
-+    if (f != NULL) {
-+	while (fgets(cpuline, sizeof cpuline, f)) {
-+	    if (!strncmp(cpuline, "machine", strlen ("machine"))) {
-+		if (strstr(cpuline, "PowerBook5,6") ||
-+		    strstr(cpuline, "PowerBook5,7") ||
-+		    strstr(cpuline, "PowerBook5,8") ||
-+		    strstr(cpuline, "PowerBook5,9")) {
-+		    ret = RADEON_MAC_POWERBOOK_DL;
-+		    break;
-+		}
-+
-+		if (strstr(cpuline, "PowerMac10,1") ||
-+		    strstr(cpuline, "PowerMac10,2")) {
-+		    ret = RADEON_MAC_MINI;
-+		    break;
-+		}
-+	    } else if (!strncmp(cpuline, "detected as", strlen("detected as"))) {
-+                if (strstr(cpuline, "iBook")) {
-+                    ret = RADEON_MAC_IBOOK;
-+		    break;
-+		} else if (strstr(cpuline, "PowerBook")) {
-+		    ret = RADEON_MAC_POWERBOOK_DL;
-+		    break;
-+                }
-+
-+                /* No known PowerMac model detected */
-+                break;
-+            }
-+        }
-+
-+	fclose (f);
-+    } else
-+	xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-+		   "Cannot detect PowerMac model because /proc/cpuinfo not "
-+		   "readable.\n");
-+
-+#endif /* __linux */
-+
-+    if (ret) {
-+	xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT, "Detected %s.\n",
-+		   ret == RADEON_MAC_POWERBOOK_DL ? "PowerBook with dual link DVI" :
-+		   ret == RADEON_MAC_POWERBOOK ? "PowerBook with single link DVI" :
-+		   ret == RADEON_MAC_IBOOK ? "iBook" :
-+		   "Mac Mini");
-+	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-+		   "If this is not correct, try Option \"MacModel\" and "
-+		   "consider reporting to the\n");
-+	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
-+		   "xorg-driver-ati at lists.x.org mailing list"
-+#ifdef __linux__
-+		   " with the contents of /proc/cpuinfo"
-+#endif
-+		   ".\n");
-+    }
-+
-+    return ret;
-+}
-+
-+#endif /* __powerpc__ */
-+
- /*
-  * initialise the static data sos we don't have to re-do at randr change */
- Bool RADEONSetupConnectors(ScrnInfoPtr pScrn)
-@@ -2816,9 +2908,8 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn)
-     }
- 
- #if defined(__powerpc__)
--    optstr = (char *)xf86GetOptValString(info->Options, OPTION_MAC_MODEL);
--
-     info->MacModel = 0;
-+    optstr = (char *)xf86GetOptValString(info->Options, OPTION_MAC_MODEL);
-     if (optstr) {
- 	if (!strncmp("ibook", optstr, strlen("ibook")))
- 	    info->MacModel = RADEON_MAC_IBOOK;
-@@ -2830,12 +2921,16 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn)
- 	    info->MacModel = RADEON_MAC_MINI;
- 	else {
- 	    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Invalid Mac Model: %s\n", optstr);
--	    return FALSE;
- 	}
-+    }
-+
-+    if (!info->MacModel) {
-+	info->MacModel = RADEONDetectMacModel(pScrn);
-+    }
- 
-+    if (info->MacModel){
- 	if (!RADEONSetupAppleConnectors(pScrn))
- 	    RADEONSetupGenericConnectors(pScrn);
--
-     } else
- #endif
-     if (xf86ReturnOptValBool(info->Options, OPTION_DEFAULT_CONNECTOR_TABLE, FALSE)) {
-diff --git a/src/radeon_probe.h b/src/radeon_probe.h
-index dbd50d7..66ece94 100644
---- a/src/radeon_probe.h
-+++ b/src/radeon_probe.h
-@@ -60,6 +60,7 @@ typedef enum
-     DDC_VGA,
-     DDC_CRT2,
-     DDC_LCD,
-+    DDC_GPIO,
- } RADEONDDCType;
- 
- typedef enum
+@@ -2623,6 +2629,7 @@ void RADEONInitConnector(xf86OutputPtr output)
+     if (radeon_output->type == OUTPUT_STV ||
+ 	radeon_output->type == OUTPUT_CTV) {
+ 	RADEONGetTVInfo(output);
++	RADEONGetTVDacAdjInfo(output);
+     }
+ 
+     if (radeon_output->DACType == DAC_TVDAC) {
+diff --git a/src/radeon_tv.c b/src/radeon_tv.c
+index 3a26a0a..2a8873c 100644
+--- a/src/radeon_tv.c
++++ b/src/radeon_tv.c
+@@ -434,7 +434,7 @@ void RADEONInitTVRegisters(xf86OutputPtr output, RADEONSavePtr save,
+ 
+     save->tv_vscaler_cntl2 = ((save->tv_vscaler_cntl2 & 0x00fffff0)
+ 			      | (0x10 << 24)
+-			      | RADEON_DITHER_MODE 
++			      | RADEON_DITHER_MODE
+ 			      | RADEON_Y_OUTPUT_DITHER_EN
+ 			      | RADEON_UV_OUTPUT_DITHER_EN
+ 			      | RADEON_UV_TO_BUF_DITHER_EN);
+@@ -444,10 +444,12 @@ void RADEONInitTVRegisters(xf86OutputPtr output, RADEONSavePtr save,
+     tmp = (tmp << RADEON_UV_OUTPUT_POST_SCALE_SHIFT) | 0x000b0000;
+     save->tv_timing_cntl = tmp;
+ 
+-    save->tv_dac_cntl = RADEON_TV_DAC_NBLANK | RADEON_TV_DAC_NHOLD | (8 << 16) | (6 << 20);
++    save->tv_dac_cntl = (RADEON_TV_DAC_NBLANK |
++			 RADEON_TV_DAC_NHOLD |
++			 radeon_output->tv_dac_adj /*(8 << 16) | (6 << 20)*/);
+ 
+     if (radeon_output->tvStd == TV_STD_NTSC ||
+-        radeon_output->tvStd == TV_STD_NTSC_J)
++	radeon_output->tvStd == TV_STD_NTSC_J)
+ 	save->tv_dac_cntl |= RADEON_TV_DAC_STD_NTSC;
+     else
+ 	save->tv_dac_cntl |= RADEON_TV_DAC_STD_PAL;


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-8/sources,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- sources	6 Oct 2007 18:20:36 -0000	1.20
+++ sources	19 Nov 2007 00:13:28 -0000	1.21
@@ -1 +1 @@
-2f11b8e699fadd93e6932b07cc01bc64  xf86-video-ati-6.7.195.tar.bz2
+06db625391c75c8be86c4dd5a5d713e6  xf86-video-ati-6.7.196.tar.bz2


Index: xorg-x11-drv-ati.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-8/xorg-x11-drv-ati.spec,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- xorg-x11-drv-ati.spec	16 Oct 2007 02:28:19 -0000	1.66
+++ xorg-x11-drv-ati.spec	19 Nov 2007 00:13:28 -0000	1.67
@@ -4,8 +4,8 @@
 
 Summary:   Xorg X11 ati video driver
 Name:      xorg-x11-drv-ati
-Version:   6.7.195
-Release:   3%{?dist}
+Version:   6.7.196
+Release:   1%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -83,6 +83,9 @@
 %{_mandir}/man4/radeon.4*
 
 %changelog
+* Mon Nov 19 2007 Dave Airlie <airlied at redhat.com> 6.7.196-1
+- rebase to 6.7.196 upstream + fixes from git
+
 * Tue Oct 16 2007 Dave Airlie <airlied at redhat.com> 6.7.195-3
 - upstream fixes including previous patches + attempted mac detection
 




More information about the fedora-extras-commits mailing list