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 scm-commits
mailing list