rpms/xorg-x11-drv-ati/F-8 radeon-6.7.196-atombios-support.patch, 1.2, 1.3 radeon-git-upstream-fixes.patch, 1.3, 1.4 xorg-x11-drv-ati.spec, 1.71, 1.72 radeon-6.6.3-renderaccel-buglet.patch, 1.1, NONE radeon-fix-randr-gamma.patch, 1.1, NONE

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Wed Dec 19 04:58:00 UTC 2007


Author: airlied

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

Modified Files:
	radeon-6.7.196-atombios-support.patch 
	radeon-git-upstream-fixes.patch xorg-x11-drv-ati.spec 
Removed Files:
	radeon-6.6.3-renderaccel-buglet.patch 
	radeon-fix-randr-gamma.patch 
Log Message:
* Wed Dec 19 2007 Dave Airlie <airlied at redhat.com> 6.7.196-5
- update to git upstream and update atombios support for r600 shadow framebuffer


radeon-6.7.196-atombios-support.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.2 -r 1.3 radeon-6.7.196-atombios-support.patch
Index: radeon-6.7.196-atombios-support.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-8/radeon-6.7.196-atombios-support.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- radeon-6.7.196-atombios-support.patch	6 Dec 2007 08:26:32 -0000	1.2
+++ radeon-6.7.196-atombios-support.patch	19 Dec 2007 04:57:35 -0000	1.3
@@ -1,3 +1,99 @@
+commit 78fb6c77f88d2ce5d2e1ec925958b97c51955ec6
+Merge: f5e8c18... ce4fa1c...
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Dec 19 14:45:11 2007 +1000
+
+    Merge branch 'master' into atombios-support
+    
+    Conflicts:
+    
+        src/radeon_display.c
+
+diff --git a/configure.ac b/configure.ac
+index 1570e54..d395899 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,6 +62,11 @@ AC_ARG_ENABLE(exa,
+               [EXA="$enableval"],
+               [EXA=yes])
+ 
++AC_ARG_WITH(xserver-source,AC_HELP_STRING([--with-xserver-source=XSERVER_SOURCE],
++                                          [Path to X server source tree]),
++                           [ XSERVER_SOURCE="$withval" ],
++                           [ XSERVER_SOURCE="" ])
++
+ # Checks for extensions
+ XORG_DRIVER_CHECK_EXT(XINERAMA, xineramaproto)
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+@@ -71,7 +76,7 @@ XORG_DRIVER_CHECK_EXT(XF86MISC, xf86miscproto)
+ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+ 
+ # Checks for pkg-config packages
+-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.3 xproto fontsproto $REQUIRED_MODULES])
++PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
+ sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+ 
+ # Checks for libraries.
+@@ -112,6 +117,10 @@ if test "$DRI" = yes; then
+ 	fi
+ fi
+ 
++CFLAGS="$XORG_CFLAGS"
++AC_CHECK_HEADER(xf86Modes.h,[XMODES=yes],[XMODES=no],[#include "xorg-server.h"])
++CFLAGS="$save_CFLAGS"
++
+ # Note that this is sort of inverted from drivers/ati/Imakefile in
+ # the monolith.  We test for foo, not for !foo (i.e. ATMISC_CPIO, not
+ # ATIMISC_AVOID_CPIO), but the defines are negative.  So beware.  Oh yeah,
+@@ -208,6 +217,48 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
+ 	      [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
+ 	      [#include "xorg-server.h"])
+ 
++AM_CONDITIONAL(XMODES, test "x$XMODES" = xno)
++
++if test "x$XSERVER_SOURCE" = x; then
++        if test -d ../../xserver; then
++                XSERVER_SOURCE="`cd ../../xserver && pwd`"
++        fi
++fi
++
++if test -d "$XSERVER_SOURCE"; then
++        case "$XSERVER_SOURCE" in
++        /*)
++                ;;
++        *)
++                XSERVER_SOURCE="`cd $XSERVER_SOURCE && pwd`"
++        esac
++        if test -f src/modes/xf86Modes.h; then
++                :
++        else
++                ln -sf $XSERVER_SOURCE/hw/xfree86/modes src/modes
++        fi
++
++        if test -f src/parser/xf86Parser.h; then
++                :
++        else
++                ln -sf $XSERVER_SOURCE/hw/xfree86/parser src/parser
++        fi
++fi
++if test "x$XMODES" = xyes; then
++        AC_MSG_NOTICE([X server has new mode code])
++        AC_DEFINE(XMODES, 1,[X server has built-in mode code])
++        XMODES_CFLAGS=
++else
++        if test -f src/modes/xf86Modes.h -a -f src/parser/xf86Parser.h; then
++                AC_MSG_NOTICE([X server is missing new mode code, using local copy])
++        else
++                AC_MSG_ERROR([Must have X server >= 1.3 source tree for mode setting code. Please specify --with-xserver-source])
++        fi
++        XMODES_CFLAGS='-DXF86_MODES_RENAME -I$(top_srcdir)/src -I$(top_srcdir)/src/modes -I$(top_srcdir)/src/parser'
++fi
++
++AC_SUBST([XMODES_CFLAGS])
++
+ CPPFLAGS="$SAVE_CPPFLAGS"
+ 
+ AM_CONDITIONAL(USE_EXA, test "x$USE_EXA" = xyes)
 diff --git a/src/AtomBios/CD_Operations.c b/src/AtomBios/CD_Operations.c
 new file mode 100644
 index 0000000..1e48f81
@@ -7691,10 +7787,10 @@
 +//Without this file, compatibility will be broken among ASICs and  BIOs vs. driver
 +//James H. Apr. 22/03
 diff --git a/src/Makefile.am b/src/Makefile.am
-index 5152577..fd870c4 100644
+index 5152577..3e0352b 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -32,6 +32,22 @@ R128_DRI_SRCS = r128_dri.c
+@@ -32,6 +32,38 @@ R128_DRI_SRCS = r128_dri.c
  RADEON_DRI_SRCS = radeon_dri.c
  endif
  
@@ -7713,31 +7809,60 @@
 +        AtomBios/includes/ObjectID.h \
 +        AtomBios/includes/regsdef.h
 +
++XMODE_SRCS=\
++        local_xf86Rename.h \
++	parser/xf86Parser.h \
++        parser/xf86Optrec.h \
++        modes/xf86Modes.h \
++        modes/xf86Modes.c \
++        modes/xf86cvt.c \
++        modes/xf86Crtc.h \
++        modes/xf86Crtc.c \
++        modes/xf86Cursors.c \
++        modes/xf86EdidModes.c \
++        modes/xf86RandR12.c \
++        modes/xf86RandR12.h \
++        modes/xf86Rename.h \
++        modes/xf86Rotate.c \
++        modes/xf86DiDGA.c
 +
  if ATIMISC_CPIO
  ATIMISC_CPIO_SOURCES = ativga.c ativgaio.c atibank.c atiwonder.c atiwonderio.c
  endif
-@@ -45,7 +61,8 @@ ATIMISC_EXA_SOURCES = atimach64exa.c
+@@ -45,7 +77,8 @@ ATIMISC_EXA_SOURCES = atimach64exa.c
  RADEON_EXA_SOURCES = radeon_exa.c
  endif
  
 -AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@
-+AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ -DDISABLE_EASF -DENABLE_ALL_SERVICE_FUNCTIONS -DATOM_BIOS -DATOM_BIOS_PARSER
++AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ @XMODES_CFLAGS@ -DDISABLE_EASF -DENABLE_ALL_SERVICE_FUNCTIONS -DATOM_BIOS -DATOM_BIOS_PARSER
 +INCLUDES = -I$(srcdir)/AtomBios/includes
  
  ati_drv_la_LTLIBRARIES = ati_drv.la
  ati_drv_la_LDFLAGS = -module -avoid-version
-@@ -85,7 +102,8 @@ radeon_drv_la_SOURCES = \
+@@ -85,7 +118,13 @@ radeon_drv_la_SOURCES = \
  	radeon_driver.c radeon_video.c radeon_bios.c radeon_mm_i2c.c \
  	radeon_vip.c radeon_misc.c radeon_probe.c radeon_display.c \
  	radeon_crtc.c radeon_output.c radeon_modes.c radeon_tv.c \
 -	$(RADEON_DRI_SRCS) $(RADEON_EXA_SOURCES)
 +	$(RADEON_ATOMBIOS_SOURCES) radeon_atombios.c radeon_atomwrapper.c \
 +	$(RADEON_DRI_SRCS) $(RADEON_EXA_SOURCES) atombios_output.c atombios_crtc.c
++
++if XMODES
++radeon_drv_la_SOURCES += \
++	$(XMODE_SRCS)
++endif
  
  theatre_detect_drv_la_LTLIBRARIES = theatre_detect_drv.la
  theatre_detect_drv_la_LDFLAGS = -module -avoid-version
-@@ -185,6 +203,7 @@ EXTRA_DIST = \
+@@ -109,6 +148,7 @@ theatre200_drv_la_SOURCES = \
+ 	theatre200.c theatre200_module.c
+ 
+ EXTRA_DIST = \
++	$(XMODE_SRCS) \
+ 	atimach64render.c \
+ 	radeon_render.c \
+ 	radeon_accelfuncs.c \
+@@ -185,6 +225,7 @@ EXTRA_DIST = \
  	radeon_version.h \
  	radeon_video.h \
  	radeon_tv.h \
@@ -7745,7 +7870,7 @@
  	theatre200.h \
  	theatre_detect.h \
  	theatre.h \
-@@ -196,4 +215,5 @@ EXTRA_DIST = \
+@@ -196,4 +237,5 @@ EXTRA_DIST = \
  	radeon_chipset_gen.h \
  	radeon_pci_chipset_gen.h \
  	pcidb/ati_pciids.csv \
@@ -7914,10 +8039,10 @@
  
 diff --git a/src/atombios_crtc.c b/src/atombios_crtc.c
 new file mode 100644
-index 0000000..5c2d261
[...3713 lines suppressed...]
 +
++#define AVIVO_D1MODE_DESKTOP_HEIGHT             0x652C
 +#define AVIVO_D1MODE_VIEWPORT_START             0x6580
 +#define AVIVO_D1MODE_VIEWPORT_SIZE              0x6584
 +#define AVIVO_D1MODE_EXT_OVERSCAN_LEFT_RIGHT    0x6588
 +#define AVIVO_D1MODE_EXT_OVERSCAN_TOP_BOTTOM    0x658c
 +
 +#define AVIVO_D1SCL_SCALER_ENABLE               0x6590
++#define AVIVO_D1SCL_UPDATE                      0x65cc
++#       define AVIVO_D1SCL_UPDATE_LOCK         (1<<16)
 +
 +/* second crtc */
 +#define AVIVO_D2CRTC_H_TOTAL					0x6800
@@ -16836,9 +18699,11 @@
 +#define AVIVO_LVTMA_DATA_SYNCHRONIZATION                0x78d8
 +#   define AVIVO_LVTMA_DATA_SYNCHRONIZATION_DSYNSEL           (1 << 0)
 +#   define AVIVO_LVTMA_DATA_SYNCHRONIZATION_PFREQCHG          (1 << 8)
-+#define AVIVO_LVTMA_CLOCK_ENABLE			0x7b00
++#define R500_LVTMA_CLOCK_ENABLE			0x7b00
++#define R600_LVTMA_CLOCK_ENABLE			0x7b04
 +
-+#define AVIVO_LVTMA_TRANSMITTER_ENABLE              0x7b04
++#define R500_LVTMA_TRANSMITTER_ENABLE              0x7b04
++#define R600_LVTMA_TRANSMITTER_ENABLE              0x7b08
 +#   define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKC0EN             (1 << 1)
 +#   define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD00EN            (1 << 2)
 +#   define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD01EN            (1 << 3)
@@ -16851,7 +18716,8 @@
 +#   define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKCEN_HPD_MASK     (1 << 17)
 +#   define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKDEN_HPD_MASK     (1 << 18)
 +
-+#define AVIVO_LVTMA_TRANSMITTER_CONTROL			        0x7b10
++#define R500_LVTMA_TRANSMITTER_CONTROL			        0x7b10
++#define R600_LVTMA_TRANSMITTER_CONTROL			        0x7b14
 +#	define AVIVO_LVTMA_TRANSMITTER_CONTROL_PLL_ENABLE	  (1 << 0)
 +#	define AVIVO_LVTMA_TRANSMITTER_CONTROL_PLL_RESET  	  (1 << 1)
 +#	define AVIVO_LVTMA_TRANSMITTER_CONTROL_PLL_HPD_MASK_SHIFT (2)
@@ -16867,7 +18733,8 @@
 +#       define AVIVO_LVTMA_TRANSMITTER_CONTROL_USE_CLK_DATA       (1 << 29)
 +#	define AVIVO_LVTMA_TRANSMITTER_CONTROL_INPUT_TEST_CLK_SEL (1 << 31)
 +
-+#define AVIVO_LVTMA_PWRSEQ_CNTL						0x7af0
++#define R500_LVTMA_PWRSEQ_CNTL						0x7af0
++#define R600_LVTMA_PWRSEQ_CNTL						0x7af4
 +#	define AVIVO_LVTMA_PWRSEQ_EN					    (1 << 0)
 +#	define AVIVO_LVTMA_PWRSEQ_PLL_ENABLE_MASK			    (1 << 2)
 +#	define AVIVO_LVTMA_PWRSEQ_PLL_RESET_MASK			    (1 << 3)
@@ -16882,7 +18749,8 @@
 +#	define AVIVO_LVTMA_BLON_OVRD					    (1 << 25)
 +#	define AVIVO_LVTMA_BLON_POL					    (1 << 26)
 +
-+#define AVIVO_LVTMA_PWRSEQ_STATE                        0x7af4
++#define R500_LVTMA_PWRSEQ_STATE                        0x7af4
++#define R600_LVTMA_PWRSEQ_STATE                        0x7af8
 +#       define AVIVO_LVTMA_PWRSEQ_STATE_TARGET_STATE_R          (1 << 0)
 +#       define AVIVO_LVTMA_PWRSEQ_STATE_DIGON                   (1 << 1)
 +#       define AVIVO_LVTMA_PWRSEQ_STATE_SYNCEN                  (1 << 2)
@@ -16957,3 +18825,142 @@
 +#define R600_CONFIG_F0_BASE                                     0x542C
 +#define R600_CONFIG_APER_SIZE                                   0x5430
  #endif
+diff --git a/src/radeon_render.c b/src/radeon_render.c
+index 490dec1..a80d136 100644
+--- a/src/radeon_render.c
++++ b/src/radeon_render.c
+@@ -317,7 +317,7 @@ static Bool RADEONSetupRenderByteswap(ScrnInfoPtr pScrn, int tex_bytepp)
+ {
+     RADEONInfoPtr info = RADEONPTR(pScrn);
+     unsigned char *RADEONMMIO = info->MMIO;
+-    CARD32 swapper = info->ModeReg.surface_cntl;
++    CARD32 swapper = info->ModeReg->surface_cntl;
+ 
+     swapper &= ~(RADEON_NONSURF_AP0_SWP_16BPP | RADEON_NONSURF_AP1_SWP_16BPP |
+ 		 RADEON_NONSURF_AP0_SWP_32BPP | RADEON_NONSURF_AP1_SWP_32BPP);
+@@ -345,7 +345,7 @@ static void RADEONRestoreByteswap(RADEONInfoPtr info)
+ {
+     unsigned char *RADEONMMIO = info->MMIO;
+ 
+-    OUTREG(RADEON_SURFACE_CNTL, info->ModeReg.surface_cntl);
++    OUTREG(RADEON_SURFACE_CNTL, info->ModeReg->surface_cntl);
+ }
+ #endif	/* X_BYTE_ORDER == X_BIG_ENDIAN */
+ 
+diff --git a/src/radeon_tv.c b/src/radeon_tv.c
+index 2a8873c..5e9a9c8 100644
+--- a/src/radeon_tv.c
++++ b/src/radeon_tv.c
+@@ -540,7 +540,7 @@ void RADEONInitTVRegisters(xf86OutputPtr output, RADEONSavePtr save,
+     save->dac_cntl &= ~RADEON_DAC_TVO_EN;
+ 
+     if (IS_R300_VARIANT)
+-        save->gpiopad_a = info->SavedReg.gpiopad_a & ~1;
++        save->gpiopad_a = info->SavedReg->gpiopad_a & ~1;
+ 
+     if (IsPrimary) {
+ 	save->disp_output_cntl &= ~RADEON_DISP_TVDAC_SOURCE_MASK;
+@@ -571,7 +571,7 @@ void RADEONUpdateHVPosition(xf86OutputPtr output, DisplayModePtr mode)
+     RADEONInfoPtr  info = RADEONPTR(pScrn);
+     unsigned char *RADEONMMIO = info->MMIO;
+     Bool reloadTable;
+-    RADEONSavePtr restore = &info->ModeReg;
++    RADEONSavePtr restore = info->ModeReg;
+ 
+     reloadTable = RADEONInitTVRestarts(output, restore, mode);
+ 
+diff --git a/src/radeon_tv.h b/src/radeon_tv.h
+index 5c8c8c9..c4b7838 100644
+--- a/src/radeon_tv.h
++++ b/src/radeon_tv.h
+@@ -3,11 +3,6 @@
+  * Federico Ulivi <fulivi at lycos.com>
+  */
+ 
+-/*
+- * Maximum length of horizontal/vertical code timing tables for state storage
+- */
+-#define MAX_H_CODE_TIMING_LEN 32
+-#define MAX_V_CODE_TIMING_LEN 32
+ 
+ /*
+  * Limits of h/v positions (hPos & vPos)
+diff --git a/src/radeon_video.c b/src/radeon_video.c
+index 3f0209e..a84662e 100644
+--- a/src/radeon_video.c
++++ b/src/radeon_video.c
+@@ -1430,7 +1430,7 @@ RADEONAllocAdaptor(ScrnInfoPtr pScrn)
+      * 0 for PIXCLK < 175Mhz, and 1 (divide by 2)
+      * for higher clocks, sure makes life nicer
+      */
+-    dot_clock = info->ModeReg.dot_clock_freq;
++    dot_clock = info->ModeReg->dot_clock_freq;
+ 
+     if (dot_clock < 17500)
+         info->ecp_div = 0;
+@@ -2156,7 +2156,7 @@ RADEONCopyData(
+     {
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+ 	unsigned char *RADEONMMIO = info->MMIO;
+-	unsigned int swapper = info->ModeReg.surface_cntl &
++	unsigned int swapper = info->ModeReg->surface_cntl &
+ 		~(RADEON_NONSURF_AP0_SWP_32BPP | RADEON_NONSURF_AP1_SWP_32BPP |
+ 		  RADEON_NONSURF_AP0_SWP_16BPP | RADEON_NONSURF_AP1_SWP_16BPP);
+ 
+@@ -2182,7 +2182,7 @@ RADEONCopyData(
+ 
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+ 	/* restore byte swapping */
+-	OUTREG(RADEON_SURFACE_CNTL, info->ModeReg.surface_cntl);
++	OUTREG(RADEON_SURFACE_CNTL, info->ModeReg->surface_cntl);
+ #endif
+     }
+ }
+@@ -2238,7 +2238,7 @@ RADEONCopyRGB24Data(
+     {
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+ 	unsigned char *RADEONMMIO = info->MMIO;
+-	OUTREG(RADEON_SURFACE_CNTL, (info->ModeReg.surface_cntl
++	OUTREG(RADEON_SURFACE_CNTL, (info->ModeReg->surface_cntl
+ 				   | RADEON_NONSURF_AP0_SWP_32BPP)
+ 				  & ~RADEON_NONSURF_AP0_SWP_16BPP);
+ #endif
+@@ -2254,7 +2254,7 @@ RADEONCopyRGB24Data(
+ 
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+ 	/* restore byte swapping */
+-	OUTREG(RADEON_SURFACE_CNTL, info->ModeReg.surface_cntl);
++	OUTREG(RADEON_SURFACE_CNTL, info->ModeReg->surface_cntl);
+ #endif
+     }
+ }
+@@ -2333,7 +2333,7 @@ RADEONCopyMungedData(
+ 
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+ 	unsigned char *RADEONMMIO = info->MMIO;
+-	OUTREG(RADEON_SURFACE_CNTL, (info->ModeReg.surface_cntl
++	OUTREG(RADEON_SURFACE_CNTL, (info->ModeReg->surface_cntl
+ 				   | RADEON_NONSURF_AP0_SWP_32BPP)
+ 				  & ~RADEON_NONSURF_AP0_SWP_16BPP);
+ #endif
+@@ -2371,7 +2371,7 @@ RADEONCopyMungedData(
+ 	}
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+ 	/* restore byte swapping */
+-	OUTREG(RADEON_SURFACE_CNTL, info->ModeReg.surface_cntl);
++	OUTREG(RADEON_SURFACE_CNTL, info->ModeReg->surface_cntl);
+ #endif
+     }
+ }
+@@ -2552,9 +2552,9 @@ RADEONDisplayVideo(
+ 
+     /* Figure out which head we are on for dot clock */
+     if (radeon_crtc->crtc_id == 1)
+-        dot_clock = info->ModeReg.dot_clock_freq_2;
++        dot_clock = info->ModeReg->dot_clock_freq_2;
+     else
+-        dot_clock = info->ModeReg.dot_clock_freq;
++        dot_clock = info->ModeReg->dot_clock_freq;
+ 
+     if (dot_clock < 17500)
+         ecp_div = 0;

radeon-git-upstream-fixes.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.3 -r 1.4 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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- radeon-git-upstream-fixes.patch	6 Dec 2007 05:47:11 -0000	1.3
+++ radeon-git-upstream-fixes.patch	19 Dec 2007 04:57:35 -0000	1.4
@@ -1,7 +1,384 @@
+commit ce4fa1cedec0cf56b9979dfaa12a8d3a7c643df4
+Author: Arkadiusz Miskiewicz <arekm at maven.pl>
+Date:   Tue Dec 18 15:34:14 2007 -0500
+
+    RADEON: fix fd leak in lid detect code
+
+commit 20568f66f9a9a60a33bd9a69ccc14a891c656836
+Author: Arkadiusz Miskiewicz <arekm at maven.pl>
+Date:   Tue Dec 18 15:32:10 2007 -0500
+
+    RADEON: more cleanups and warning fixes
+
+commit 1496194200adbcb044ec3977367a0908262e389c
+Author: Arkadiusz Miskiewicz <arekm at maven.pl>
+Date:   Tue Dec 18 15:29:53 2007 -0500
+
+    RADEON: driver cleanups, warning fixes
+
+commit 44d07c4ccce9acb5bd21a17acb082e91f7225764
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Mon Dec 17 18:56:12 2007 -0500
+
+    RADEON: typo from last commit
+
+commit 4da3782239921eb377216d4de4a9cc5bb55e0e8a
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Mon Dec 17 18:51:31 2007 -0500
+
+    RADEON: add output enable masks
+    
+    add output enable masks for outputs that drive
+    more than one connector.  Make sure we don't turn off
+    an output that's driving another connector.
+
+commit 5c5d2d19b2b032a06dd333b4ecc029aac342fb93
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Mon Dec 17 18:15:55 2007 -0500
+
+    RADEON: whitespace clean-ups
+
+commit 9f1d8220315c8894a17f2cc328025dc682b0c6e0
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Mon Dec 17 18:04:05 2007 -0500
+
+    RADEON: more PLL fixes
+    
+    - reduce the calculation accuracy
+    - certain LVDS panels seem to only like certain ref_divs
+    - add pll flags to handle special cases
+    - adjust the pll limits on legacy cards
+
+commit 4747c1f3cd4167b6a51d4864a297719ea48b9346
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Sun Dec 16 14:07:29 2007 -0500
+
+    RADEON: Make sure LVDS_EN bit is set when enabling LVDS
+
+commit b653e5a628bfa4dfb168e96f93f41eb910f409fb
+Author: Michel Dänzer <michel at tungstengraphics.com>
+Date:   Sat Dec 15 00:50:10 2007 +0100
+
+    radeon: Default to 1x again with non-v3 AGP cards.
+    
+    Seems more reliable in general than what was set up by firmware - fingers
+    crossed...
+
+commit 6229825fa5d6715569098afbb21a40f7a2e7e6be
+Author: Michel Dänzer <michel at tungstengraphics.com>
+Date:   Sat Dec 15 00:48:26 2007 +0100
+
+    radeon: Warning fixes.
+    
+    The lid detection code probably wouldn't work on other non-x86 platforms
+    though...
+
+commit 818ccf0fd4b5879171c5f20526d5a58638f8fde5
+Author: Fredrik Höglund <fredrik at kde.org>
+Date:   Fri Dec 14 23:56:12 2007 +0100
+
+    RADEON: Fix the vertex coordinates for transformed pictures
+    
+    This partially fixes transformed pictures on R100/R200 based
+    cards.  The texture still doesn't appear to be clamped correctly,
+    but since that doesn't matter for rotations at perpendicular
+    angles, I'm committing this now so randr rotation and reflection
+    will work properly.
+
+commit 3cfbcf4cafbdfdb33411d16e51fb1f77cd0f93dd
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Fri Dec 14 17:11:00 2007 -0500
+
+    RADEON: Fix PLL set up on certain notebooks
+    
+    Some LVDS panels require specific PLL dividers as
+    specified in the bios tables.  Make sure to use them
+    if the output is LVDS.
+
+commit a84d446fd301d456bcea8f7abdc52e5a30776412
+Author: Alex Deucher <alex at botch2.(none)>
+Date:   Fri Dec 14 02:17:14 2007 -0500
+
+    RADEON: select fb_div0 for LVDS on RV410 (x700) mobility
+    
+    Fixes bug 8038
+    I wonder if desktop RV410 need a similar fix.
+    If your x700 laptop panel has problems after this let me know.
+
+commit 6ccf5b33d27218ae1c45ab93c122438ed536d8ba
+Author: Alex Deucher <alex at botch2.(none)>
+Date:   Wed Dec 12 20:12:06 2007 -0500
+
+    RADEON: only enable vblanks if we want them
+    
+    should fix bug 13610
+
+commit 1668f2056f56370f1b5681c13f1e14904e301216
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Wed Dec 12 19:39:08 2007 -0500
+
+    RADEON: use /proc/acpi to determine lid status
+    
+    Linux only
+
+commit 33a39947f7f79533cd90007a17d57b20126642c6
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Wed Dec 12 18:50:18 2007 -0500
+
+    RADEON: fix cursors when using rotation
+    
+    allocate separate cursor buffers for each crtc
+
+commit 9e5efdecd12092031a4aebce58747cb4a6f48f28
+Author: Arkadiusz Miskiewicz <arekm at maven.pl>
+Date:   Tue Dec 11 23:53:03 2007 -0500
+
+    sparse fixes and cleanups from arekm
+
+commit f3d2ec3a5ae61215c792018320158750e7aa937c
+Author: Alex Deucher <alex at botch2.(none)>
+Date:   Tue Dec 11 11:57:27 2007 -0500
+
+    RADEON: rewrite PLL computation
+    
+    Algorithm adapted from BeOS radeon driver with some tweaks by me.
+    Actually calulate and use the reference divider rather than using the bios default.
+    Also, always calculate the PLL, rather than falling back to bios dividers.
+    This should fix bugs 12913, 13590, 13533, possibly others.
+
+commit 9b125312ab6edc585e4f5931a6a6de81e13b6acc
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Mon Dec 10 13:53:15 2007 -0500
+
+    RADEON: only update crtc values when RMX is active
+
+commit 3a161e1b5d80361e318ced8da5c19e797749d693
+Author: Alex Deucher <alex at botch2.(none)>
+Date:   Mon Dec 10 00:57:26 2007 -0500
+
+    RADEON: bios PLL cleanup
+
+commit 5896ca4097d439f59f90f397939132c061c3c364
+Author: LisaWu <liswu at ati.com>
+Date:   Fri Dec 7 09:45:05 2007 +0100
+
+    radeon: Use %u instead of %d for unsigned value.
+
+commit df44f8380268c27d3978c4e91d736f093322b8b8
+Author: Michel Dänzer <michel at tungstengraphics.com>
+Date:   Fri Dec 7 09:41:47 2007 +0100
+
+    radeon: Use gettimeofday instead of xf86getsecs.
+
+commit 64ab1cdf343a9a69e7e9e64f0bba77c54a94e9d0
+Author: James Cloos <cloos at jhcloos.com>
+Date:   Thu Dec 6 15:51:12 2007 -0500
+
+    Add missing PHONY line for automatic ChangeLog generation
+
+commit 21ed435398e4a398dd8a0a5d7c1d4cc45e916332
+Author: Alex Deucher <alex at t41p.hsd1.va.comcast.net>
+Date:   Tue Dec 4 17:08:58 2007 -0500
+
+    RADEON: add MacModel imac-g5-isight for iMac G5 iSight
+    
+    Thanks to Étienne Bersac for helping to figure this out.
+
+commit 54bfd522405d9fdfb69d3a59e111ac3d63483dbb
+Author: Étienne Bersac <bersace03 at laposte.net>
+Date:   Tue Dec 4 14:22:42 2007 -0500
+
+    RADEON: fix typo
[...1911 lines suppressed...]
+-    if ((radeon_output->MonType == MT_LCD) || (radeon_output->Flags & RADEON_USE_RMX)) {
++    if (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;
+@@ -937,7 +990,10 @@ static void RADEONInitLVDSRegisters(xf86OutputPtr output, RADEONSavePtr save,
+ 
+     save->lvds_gen_cntl = info->SavedReg.lvds_gen_cntl;
+     save->lvds_gen_cntl |= RADEON_LVDS_DISPLAY_DIS;
+-    save->lvds_gen_cntl &= ~(RADEON_LVDS_ON | RADEON_LVDS_BLON);
++    save->lvds_gen_cntl &= ~(RADEON_LVDS_ON |
++			     RADEON_LVDS_BLON |
++			     RADEON_LVDS_EN |
++			     RADEON_LVDS_RST_FM);
+ 
+     if (IS_R300_VARIANT)
+ 	save->lvds_pll_cntl &= ~(R300_LVDS_SRC_SEL_MASK);
+@@ -1039,11 +1095,12 @@ static void RADEONInitDACRegisters(xf86OutputPtr output, RADEONSavePtr save,
      save->dac_macro_cntl = info->SavedReg.dac_macro_cntl;
  }
  
@@ -1988,7 +3919,7 @@
  
      if (info->ChipFamily == CHIP_FAMILY_R420 ||
  	info->ChipFamily == CHIP_FAMILY_RV410) {
-@@ -1064,10 +1083,11 @@ RADEONInitTvDacCntl(ScrnInfoPtr pScrn, RADEONSavePtr save)
+@@ -1064,10 +1121,11 @@ RADEONInitTvDacCntl(ScrnInfoPtr pScrn, RADEONSavePtr save)
  			       RADEON_TV_DAC_GDACPD |
  			       RADEON_TV_DAC_GDACPD);
      }
@@ -2003,7 +3934,7 @@
  
  }
  
-@@ -1078,7 +1098,7 @@ static void RADEONInitDAC2Registers(xf86OutputPtr output, RADEONSavePtr save,
+@@ -1078,7 +1136,7 @@ static void RADEONInitDAC2Registers(xf86OutputPtr output, RADEONSavePtr save,
      RADEONInfoPtr  info       = RADEONPTR(pScrn);
  
      /*0x0028023;*/
@@ -2012,7 +3943,7 @@
  
      if (IS_R300_VARIANT)
  	save->gpiopad_a = info->SavedReg.gpiopad_a | 1;
-@@ -1670,10 +1690,16 @@ radeon_detect(xf86OutputPtr output)
+@@ -1670,10 +1728,16 @@ radeon_detect(xf86OutputPtr output)
  	  /* default to unknown for flaky chips/connectors
  	   * so we can get something on the screen
  	   */
@@ -2032,7 +3963,7 @@
        }
  
        if (connected)
-@@ -1740,6 +1766,7 @@ radeon_create_resources(xf86OutputPtr output)
+@@ -1740,6 +1804,7 @@ radeon_create_resources(xf86OutputPtr output)
      INT32 range[2];
      int data, err;
      const char *s;
@@ -2040,7 +3971,7 @@
  
      /* backlight control */
      if (radeon_output->type == OUTPUT_LVDS) {
-@@ -1975,6 +2002,26 @@ radeon_create_resources(xf86OutputPtr output)
+@@ -1975,6 +2040,26 @@ radeon_create_resources(xf86OutputPtr output)
  	    s = "ntsc";
  	    break;
  	}
@@ -2067,7 +3998,7 @@
  	err = RRChangeOutputProperty(output->randr_output, tv_std_atom,
  				     XA_STRING, 8, PropModeReplace, strlen(s), (pointer)s,
  				     FALSE, FALSE);
-@@ -2623,6 +2670,7 @@ void RADEONInitConnector(xf86OutputPtr output)
+@@ -2623,6 +2708,7 @@ void RADEONInitConnector(xf86OutputPtr output)
      if (radeon_output->type == OUTPUT_STV ||
  	radeon_output->type == OUTPUT_CTV) {
  	RADEONGetTVInfo(output);
@@ -2075,7 +4006,7 @@
      }
  
      if (radeon_output->DACType == DAC_TVDAC) {
-@@ -2658,7 +2706,7 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
+@@ -2658,7 +2744,7 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
  	info->BiosConnector[2].DDCType = DDC_NONE_DETECTED;
  	info->BiosConnector[2].valid = TRUE;
  	return TRUE;
@@ -2084,7 +4015,7 @@
  	info->BiosConnector[0].DDCType = DDC_DVI;
  	info->BiosConnector[0].DACType = DAC_NONE;
  	info->BiosConnector[0].TMDSType = TMDS_NONE;
-@@ -2677,7 +2725,7 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
+@@ -2677,7 +2763,7 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
  	info->BiosConnector[2].DDCType = DDC_NONE_DETECTED;
  	info->BiosConnector[2].valid = TRUE;
  	return TRUE;
@@ -2093,7 +4024,7 @@
  	info->BiosConnector[0].DDCType = DDC_DVI;
  	info->BiosConnector[0].DACType = DAC_NONE;
  	info->BiosConnector[0].TMDSType = TMDS_NONE;
-@@ -2696,7 +2744,26 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
+@@ -2696,7 +2782,26 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
  	info->BiosConnector[2].DDCType = DDC_NONE_DETECTED;
  	info->BiosConnector[2].valid = TRUE;
  	return TRUE;
@@ -2121,7 +4052,7 @@
  	info->BiosConnector[0].DDCType = DDC_CRT2;
  	info->BiosConnector[0].DACType = DAC_TVDAC;
  	info->BiosConnector[0].TMDSType = TMDS_EXT;
-@@ -2709,6 +2776,38 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
+@@ -2709,6 +2814,38 @@ static Bool RADEONSetupAppleConnectors(ScrnInfoPtr pScrn)
  	info->BiosConnector[1].DDCType = DDC_NONE_DETECTED;
  	info->BiosConnector[1].valid = TRUE;
  	return TRUE;
@@ -2160,7 +4091,7 @@
      default:
  	return FALSE;
      }
-@@ -2793,11 +2892,19 @@ static void RADEONSetupGenericConnectors(ScrnInfoPtr pScrn)
+@@ -2793,11 +2930,19 @@ static void RADEONSetupGenericConnectors(ScrnInfoPtr pScrn)
  	    info->BiosConnector[0].ConnectorType = CONNECTOR_DVI_I;
  	    info->BiosConnector[0].valid = TRUE;
  
@@ -2180,7 +4111,7 @@
  	}
      }
  
-@@ -2826,40 +2933,81 @@ static void RADEONSetupGenericConnectors(ScrnInfoPtr pScrn)
+@@ -2826,40 +2971,81 @@ static void RADEONSetupGenericConnectors(ScrnInfoPtr pScrn)
   * in /proc/cpuinfo (on Linux) */
  static RADEONMacModel RADEONDetectMacModel(ScrnInfoPtr pScrn)
  {
@@ -2276,7 +4207,7 @@
  
  	fclose (f);
      } else
-@@ -2871,10 +3019,13 @@ static RADEONMacModel RADEONDetectMacModel(ScrnInfoPtr pScrn)
+@@ -2871,10 +3057,13 @@ static RADEONMacModel RADEONDetectMacModel(ScrnInfoPtr pScrn)
  
      if (ret) {
  	xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT, "Detected %s.\n",
@@ -2293,7 +4224,7 @@
  	xf86DrvMsg(pScrn->scrnIndex, X_INFO,
  		   "If this is not correct, try Option \"MacModel\" and "
  		   "consider reporting to the\n");
-@@ -2921,12 +3072,24 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn)
+@@ -2921,12 +3110,24 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn)
      if (optstr) {
  	if (!strncmp("ibook", optstr, strlen("ibook")))
  	    info->MacModel = RADEON_MAC_IBOOK;
@@ -2324,6 +4255,21 @@
  	else {
  	    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Invalid Mac Model: %s\n", optstr);
  	}
+@@ -3009,6 +3210,14 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn)
+ 	}
+     }
+ 
++    /* clear the enable masks */
++    info->output_crt1 = 0;
++    info->output_crt2 = 0;
++    info->output_dfp1 = 0;
++    info->output_dfp2 = 0;
++    info->output_lcd1 = 0;
++    info->output_tv1 = 0;
++
+     for (i = 0 ; i < RADEON_MAX_BIOS_CONNECTOR; i++) {
+ 	if (info->BiosConnector[i].valid) {
+ 	    RADEONOutputPrivatePtr radeon_output = xnfcalloc(sizeof(RADEONOutputPrivateRec), 1);
 diff --git a/src/radeon_pci_chipset_gen.h b/src/radeon_pci_chipset_gen.h
 new file mode 100644
 index 0000000..7a36242
@@ -2628,6 +4574,30 @@
  
  int gRADEONEntityIndex = -1;
  
+diff --git a/src/radeon_probe.h b/src/radeon_probe.h
+index 66ece94..7f8ce45 100644
+--- a/src/radeon_probe.h
++++ b/src/radeon_probe.h
+@@ -166,6 +166,7 @@ typedef struct _RADEONCrtcPrivateRec {
+ #endif
+     int crtc_id;
+     int binding;
++    CARD32 cursor_offset;
+     /* Lookup table values to be set when the CRTC is enabled */
+     CARD8 lut_r[256], lut_g[256], lut_b[256];
+ } RADEONCrtcPrivateRec, *RADEONCrtcPrivatePtr;
+diff --git a/src/radeon_reg.h b/src/radeon_reg.h
+index 2653339..6e4e383 100644
+--- a/src/radeon_reg.h
++++ b/src/radeon_reg.h
+@@ -916,6 +916,7 @@
+ #       define RADEON_LVDS_DISPLAY_DIS      (1   <<  1)
+ #       define RADEON_LVDS_PANEL_TYPE       (1   <<  2)
+ #       define RADEON_LVDS_PANEL_FORMAT     (1   <<  3)
++#       define RADEON_LVDS_RST_FM           (1   <<  6)
+ #       define RADEON_LVDS_EN               (1   <<  7)
+ #       define RADEON_LVDS_BL_MOD_LEVEL_SHIFT 8
+ #       define RADEON_LVDS_BL_MOD_LEVEL_MASK (0xff << 8)
 diff --git a/src/radeon_render.c b/src/radeon_render.c
 index 5074fe1..490dec1 100644
 --- a/src/radeon_render.c


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.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- xorg-x11-drv-ati.spec	6 Dec 2007 08:26:32 -0000	1.71
+++ xorg-x11-drv-ati.spec	19 Dec 2007 04:57:35 -0000	1.72
@@ -5,7 +5,7 @@
 Summary:   Xorg X11 ati video driver
 Name:      xorg-x11-drv-ati
 Version:   6.7.196
-Release:   4%{?dist}
+Release:   5%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -17,9 +17,7 @@
 Source3:   radeon.xinf
 
 # Radeon patches (0-99)
-Patch2:     radeon-6.6.3-renderaccel-buglet.patch
 Patch3:     radeon-git-upstream-fixes.patch
-Patch4:     radeon-fix-randr-gamma.patch
 Patch5:     radeon-6.7.196-atombios-support.patch
 # Rage 128 patches (100-199)
 
@@ -44,9 +42,7 @@
 %prep
 %setup -q -n %{tarball}-%{version}
 
-%patch2 -p1 -b .renderaccel
 %patch3 -p1 -b .fixes
-%patch4 -p1 -b .randr-gamma
 %patch5 -p1 -b .atombios
 
 %build
@@ -89,6 +85,9 @@
 %{_mandir}/man4/radeon.4*
 
 %changelog
+* Wed Dec 19 2007 Dave Airlie <airlied at redhat.com> 6.7.196-5
+- update to git upstream and update atombios support for r600 shadow framebuffer
+
 * Thu Dec 06 2007 Dave Airlie <airlied at redhat.com> 6.7.196-4
 - radeon-6.7.196-atombios-support.patch - update for ppc build
 


--- radeon-6.6.3-renderaccel-buglet.patch DELETED ---


--- radeon-fix-randr-gamma.patch DELETED ---




More information about the fedora-extras-commits mailing list