xf86-video-ati: Branch 'master' - 3 commits

Alex Deucher agd5f at kemper.freedesktop.org
Thu Nov 15 20:26:58 PST 2007


 configure.ac        |    2 +-
 src/radeon_output.c |   23 +++++++++++++++--------
 src/radeon_tv.c     |    8 +++++---
 3 files changed, 21 insertions(+), 12 deletions(-)

New commits:
commit 49055d8aff91ff12186feaf5343c8fd2f96bcba0
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date:   Thu Nov 15 22:56:09 2007 -0500

    RADEON: set proper defaults for tv dac BGADJ/DACADJ
    
    we should get these values from the bios tables, but for now use
    some reasonable defaults.  This should fix the washed out color
    problems on bugs 1082 and 12844.

diff --git a/src/radeon_output.c b/src/radeon_output.c
index a5e07d7..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
-RADEONInitTvDacCntl(ScrnInfoPtr pScrn, RADEONSavePtr save)
+RADEONInitTvDacCntl(xf86OutputPtr output, RADEONSavePtr save)
 {
+    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);
 
 }
 
@@ -1078,7 +1080,7 @@ static void RADEONInitDAC2Registers(xf86OutputPtr output, RADEONSavePtr save,
     RADEONInfoPtr  info       = RADEONPTR(pScrn);
 
     /*0x0028023;*/
-    RADEONInitTvDacCntl(pScrn, save);
+    RADEONInitTvDacCntl(output, save);
 
     if (IS_R300_VARIANT)
 	save->gpiopad_a = info->SavedReg.gpiopad_a | 1;
@@ -2627,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;
commit 821acf38b716ab87c3d07263d6e4a139fe54803f
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date:   Thu Nov 15 22:28:42 2007 -0500

    RADEON: Make sure we set the MT properly for connected status unknown

diff --git a/src/radeon_output.c b/src/radeon_output.c
index 599a89c..a5e07d7 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -1671,9 +1671,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)
commit a94123f33ec6584fbdfc4b9ecd543d1357de8814
Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
Date:   Thu Nov 15 22:19:54 2007 -0500

    Revert "Portability fix from netbsd"
    
    This reverts commit c9264aa53bf1470ad9104d1e7c4a8ce13c49c270.
    This breaks damage support.  See bug 13244

diff --git a/configure.ac b/configure.ac
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 "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],


More information about the xorg-commit mailing list