ChangeLog | 251 +++++ aclocal.m4 | 2 configure | 32 configure.ac | 6 debian/changelog | 17 debian/patches/01_ati_r128_update_chip_identification.diff | 75 - debian/patches/02_radeon_manpage.diff | 13 debian/patches/series | 2 man/ati.man | 4 man/radeon.man | 4 src/atimach64xv.c | 3 src/r128_driver.c | 3 src/radeon.h | 22 src/radeon_accel.c | 38 src/radeon_bios.c | 21 src/radeon_common.h | 7 src/radeon_commonfuncs.c | 14 src/radeon_cursor.c | 64 - src/radeon_display.c | 611 +++++-------- src/radeon_dri.c | 51 + src/radeon_driver.c | 493 +++++----- src/radeon_exa.c | 17 src/radeon_probe.h | 3 src/radeon_reg.h | 8 src/radeon_video.c | 16 25 files changed, 981 insertions(+), 796 deletions(-)
New commits: commit 3a2172a097ca2053f4d57850a01b54c9a98f7c23 Author: Brice Goglin <[EMAIL PROTECTED]> Date: Sat Aug 4 12:09:48 2007 +0200 Drop 01_ati_r128_update_chip_identification.diff and 02_radeon_manpage.diff diff --git a/debian/changelog b/debian/changelog index e53f1e7..15744c6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,11 @@ xserver-xorg-video-ati (1:6.6.193-1) UNRELEASED; urgency=low in the ati(4) manpage (closes: #386001). + Fix typo in "specifying" in the radeon(4) manpage (closes: #432059). + + Drop 01_ati_r128_update_chip_identification.diff since + this information is redundant and does not matter anyway + since the driver auto-detects how the card is connected + to the system. + + Drop 02_radeon_manpage.diff, merged upstream. [ Julien Cristau ] * Add upstream URL to debian/copyright. Thanks, Loïc Minier. diff --git a/debian/patches/01_ati_r128_update_chip_identification.diff b/debian/patches/01_ati_r128_update_chip_identification.diff deleted file mode 100644 index ce9f892..0000000 --- a/debian/patches/01_ati_r128_update_chip_identification.diff +++ /dev/null @@ -1,75 +0,0 @@ -Index: xf86-video-ati-X11R7.0-6.5.7.3/src/r128_chipset.h -=================================================================== ---- xf86-video-ati-X11R7.0-6.5.7.3.orig/src/r128_chipset.h 2006-01-12 22:54:09.000000000 -0500 -+++ xf86-video-ati-X11R7.0-6.5.7.3/src/r128_chipset.h 2006-02-26 17:42:19.000000000 -0500 -@@ -7,43 +7,43 @@ - { PCI_CHIP_RAGE128LF, "ATI Rage 128 Mobility M3 LF (AGP)" }, - { PCI_CHIP_RAGE128MF, "ATI Rage 128 Mobility M4 MF (AGP)" }, - { PCI_CHIP_RAGE128ML, "ATI Rage 128 Mobility M4 ML (AGP)" }, -- { PCI_CHIP_RAGE128PA, "ATI Rage 128 Pro GL PA (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PB, "ATI Rage 128 Pro GL PB (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PC, "ATI Rage 128 Pro GL PC (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PA, "ATI Rage 128 Pro GL PA (AGP?)" }, -+ { PCI_CHIP_RAGE128PB, "ATI Rage 128 Pro GL PB (AGP?)" }, -+ { PCI_CHIP_RAGE128PC, "ATI Rage 128 Pro GL PC (AGP?)" }, - { PCI_CHIP_RAGE128PD, "ATI Rage 128 Pro GL PD (PCI)" }, -- { PCI_CHIP_RAGE128PE, "ATI Rage 128 Pro GL PE (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PE, "ATI Rage 128 Pro GL PE (AGP?)" }, - { PCI_CHIP_RAGE128PF, "ATI Rage 128 Pro GL PF (AGP)" }, -- { PCI_CHIP_RAGE128PG, "ATI Rage 128 Pro VR PG (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PH, "ATI Rage 128 Pro VR PH (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PI, "ATI Rage 128 Pro VR PI (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PJ, "ATI Rage 128 Pro VR PJ (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PK, "ATI Rage 128 Pro VR PK (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PL, "ATI Rage 128 Pro VR PL (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PM, "ATI Rage 128 Pro VR PM (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PN, "ATI Rage 128 Pro VR PN (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PO, "ATI Rage 128 Pro VR PO (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PG, "ATI Rage 128 Pro VR PG (AGP?)" }, -+ { PCI_CHIP_RAGE128PH, "ATI Rage 128 Pro VR PH (AGP?)" }, -+ { PCI_CHIP_RAGE128PI, "ATI Rage 128 Pro VR PI (AGP?)" }, -+ { PCI_CHIP_RAGE128PJ, "ATI Rage 128 Pro VR PJ (AGP?)" }, -+ { PCI_CHIP_RAGE128PK, "ATI Rage 128 Pro VR PK (AGP?)" }, -+ { PCI_CHIP_RAGE128PL, "ATI Rage 128 Pro VR PL (AGP?)" }, -+ { PCI_CHIP_RAGE128PM, "ATI Rage 128 Pro VR PM (AGP?)" }, -+ { PCI_CHIP_RAGE128PN, "ATI Rage 128 Pro VR PN (AGP?)" }, -+ { PCI_CHIP_RAGE128PO, "ATI Rage 128 Pro VR PO (AGP?)" }, - { PCI_CHIP_RAGE128PP, "ATI Rage 128 Pro VR PP (PCI)" }, -- { PCI_CHIP_RAGE128PQ, "ATI Rage 128 Pro VR PQ (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PQ, "ATI Rage 128 Pro VR PQ (AGP?)" }, - { PCI_CHIP_RAGE128PR, "ATI Rage 128 Pro VR PR (PCI)" }, -- { PCI_CHIP_RAGE128PS, "ATI Rage 128 Pro VR PS (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PT, "ATI Rage 128 Pro VR PT (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PU, "ATI Rage 128 Pro VR PU (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PV, "ATI Rage 128 Pro VR PV (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PW, "ATI Rage 128 Pro VR PW (PCI/AGP)" }, -- { PCI_CHIP_RAGE128PX, "ATI Rage 128 Pro VR PX (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128PS, "ATI Rage 128 Pro VR PS (AGP?)" }, -+ { PCI_CHIP_RAGE128PT, "ATI Rage 128 Pro VR PT (AGP?)" }, -+ { PCI_CHIP_RAGE128PU, "ATI Rage 128 Pro VR PU (AGP?)" }, -+ { PCI_CHIP_RAGE128PV, "ATI Rage 128 Pro VR PV (AGP?)" }, -+ { PCI_CHIP_RAGE128PW, "ATI Rage 128 Pro VR PW (AGP?)" }, -+ { PCI_CHIP_RAGE128PX, "ATI Rage 128 Pro VR PX (AGP?)" }, - { PCI_CHIP_RAGE128RE, "ATI Rage 128 GL RE (PCI)" }, - { PCI_CHIP_RAGE128RF, "ATI Rage 128 GL RF (AGP)" }, - { PCI_CHIP_RAGE128RG, "ATI Rage 128 RG (AGP)" }, - { PCI_CHIP_RAGE128RK, "ATI Rage 128 VR RK (PCI)" }, - { PCI_CHIP_RAGE128RL, "ATI Rage 128 VR RL (AGP)" }, -- { PCI_CHIP_RAGE128SE, "ATI Rage 128 4X SE (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SF, "ATI Rage 128 4X SF (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SG, "ATI Rage 128 4X SG (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SH, "ATI Rage 128 4X SH (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SK, "ATI Rage 128 4X SK (PCI/AGP)" }, -- { PCI_CHIP_RAGE128SL, "ATI Rage 128 4X SL (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128SE, "ATI Rage 128 4X SE (AGP?)" }, -+ { PCI_CHIP_RAGE128SF, "ATI Rage 128 4X SF (AGP?)" }, -+ { PCI_CHIP_RAGE128SG, "ATI Rage 128 4X SG (AGP?)" }, -+ { PCI_CHIP_RAGE128SH, "ATI Rage 128 4X SH (AGP?)" }, -+ { PCI_CHIP_RAGE128SK, "ATI Rage 128 4X SK (AGP?)" }, -+ { PCI_CHIP_RAGE128SL, "ATI Rage 128 4X SL (AGP?)" }, - { PCI_CHIP_RAGE128SM, "ATI Rage 128 4X SM (AGP)" }, -- { PCI_CHIP_RAGE128SN, "ATI Rage 128 4X SN (PCI/AGP)" }, -+ { PCI_CHIP_RAGE128SN, "ATI Rage 128 4X SN (AGP?)" }, - { PCI_CHIP_RAGE128TF, "ATI Rage 128 Pro ULTRA TF (AGP)" }, - { PCI_CHIP_RAGE128TL, "ATI Rage 128 Pro ULTRA TL (AGP)" }, - { PCI_CHIP_RAGE128TR, "ATI Rage 128 Pro ULTRA TR (AGP)" }, diff --git a/debian/patches/02_radeon_manpage.diff b/debian/patches/02_radeon_manpage.diff deleted file mode 100644 index 7cdd526..0000000 --- a/debian/patches/02_radeon_manpage.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: xserver-xorg-video-ati/man/radeon.man -=================================================================== ---- xserver-xorg-video-ati.orig/man/radeon.man 2007-05-21 00:59:25.000000000 +0200 -+++ xserver-xorg-video-ati/man/radeon.man 2007-05-21 00:59:29.000000000 +0200 -@@ -644,7 +644,7 @@ - Alan Hourihane [EMAIL PROTECTED] - Marc Aurele La France [EMAIL PROTECTED] - Benjamin Herrenschmidt [EMAIL PROTECTED] --Michel Dänzer [EMAIL PROTECTED] -+Michel D\(:anzer [EMAIL PROTECTED] - Alex Deucher [EMAIL PROTECTED] - Bogdan D. [EMAIL PROTECTED] - Eric Anholt [EMAIL PROTECTED] diff --git a/debian/patches/series b/debian/patches/series index 639c724..e69de29 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +0,0 @@ -01_ati_r128_update_chip_identification.diff -02_radeon_manpage.diff commit 4161818fc1276c2eda1c11ddc332edff82f5721d Author: Brice Goglin <[EMAIL PROTECTED]> Date: Sat Aug 4 12:01:20 2007 +0200 New upstream release 6.6.193 diff --git a/ChangeLog b/ChangeLog index 0dafab0..c3f5057 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,242 @@ +commit 1de52d91ff3a04b9b587b858e1e5be40d3a7fd0a +Author: Dave Airlie <[EMAIL PROTECTED]> +Date: Sat Aug 4 17:58:58 2007 +1000 + + update configure.ac for 6.6.193 release + +commit 371001c0433db1d17e468f3ea99ea57f922145a3 +Author: Dave Airlie <[EMAIL PROTECTED]> +Date: Sat Aug 4 17:51:19 2007 +1000 + + radeon: remove unused variables + +commit 90946c53d7a4b23d03270ad6da0450759a11de3d +Author: Dave Airlie <[EMAIL PROTECTED]> +Date: Sat Aug 4 17:51:06 2007 +1000 + + ati: add -Wall for gcc + + As per luc's "suggestion" in Novell bug. + + This may generate warnings on 64-bit until we get rid of CARD32 + +commit e30a145934df8f6a7f71290d6c75e4239f9d52f7 +Author: Dave Airlie <[EMAIL PROTECTED]> +Date: Sat Aug 4 17:44:46 2007 +1000 + + radeon: cleanup some pieces of the dpms/blank register programming + +commit a156db5e8b037ed12a448f70045453baf9d0c504 +Author: Luc Verhaegen <[EMAIL PROTECTED]> +Date: Sat Aug 4 17:37:18 2007 +1000 + + Clean up PortInfo to CRTC mapping + + Also sanitise blanking and DPMS functions + + Fixes from Novell Bug 264720, and fd.o 10772 + +commit 165a07cbbfcd94e3d1fac434b8fada8d29428a09 +Author: Brice Goglin <[EMAIL PROTECTED]> +Date: Wed Jul 25 19:01:02 2007 +0200 + + Minor fixes in the manpages + + - ati.man + . add references to radeon and r128 manpages in SEE ALSO + (Xavier Bestel in Debian bug #386001). + . remove the manpage suffix from atimisc reference in the text + since there is no such manpage for now. + - radeon.man + . typo in "specifying" (reported by A. Costa in Debian bug #432059). + . replace a non-ascii character with the corresponding groff escape + sequence so that it works whatever the locale (Julien Cristau). + +commit 18b00b47a483e7854727e99126808ddf361e7a4a +Author: Alex Deucher <[EMAIL PROTECTED]> +Date: Thu Jul 19 19:01:42 2007 -0400 + + R128: don't clip modes to panel on laptops when only using the CRT port + + fixes bug 5832 + +commit 882fe7631586b0a7919f808588a2ea4fb555f7e8 +Author: Brice Goglin <[EMAIL PROTECTED]> +Date: Thu Jul 19 18:44:27 2007 -0400 + + MACH64: avoid crash in Xv code + + fixes bug 11054 + +commit ac9cbaf32176cf144bc694ac879e7c9e2920f762 +Author: Michel Dänzer <[EMAIL PROTECTED]> +Date: Mon Jul 2 10:06:02 2007 +0200 + + radeon: Fully zero-initialize info->CRT2pScrn->monitor. + + This prevents modes from getting rejected due to the uninitialized maxPixClock + value. + + Fixes http://bugs.freedesktop.org/show_bug.cgi?id=9816 . + +commit 5b5b90c2cea7e36895354f5872acd3fc769653f9 +Author: Alex Deucher <[EMAIL PROTECTED]> +Date: Mon Jun 25 16:27:54 2007 -0400 + + RADEON: fix possible segfault on mobility chips with MM tables + + spotted by Stefan Buehler + +commit 92e65d5e0d6817ff4c9a08020a0a9b3a8c3c98b0 +Author: Andrew Randrianasulu <[EMAIL PROTECTED]> +Date: Fri Jun 22 00:55:00 2007 -0400 + + RADEON: Fix VT switch hangs + + - reorder RADEONDRISetVBlankInterrupt() and RADEONDRIResume() + - see bug 11287 + +commit b72ff160f908bf3aa9f64705377e92d80360a4f7 +Author: Alex Deucher <[EMAIL PROTECTED]> +Date: Mon Jun 18 21:51:45 2007 -0400 + + RADEON: only touch LVDS on mobility chips + +commit 80313621ffa8c409ae63fc1b28c15fc4abdc3a7b +Author: Henry Zhao <[EMAIL PROTECTED]> +Date: Fri Jun 15 17:00:05 2007 -0700 + + Update CRT2pScrn->monitor->Last to reflect the + last mode of CRT2pScrn. See bug 11278. + +commit f19a6f7ee5bf4ec632e7813359f167599c08e823 +Author: Alex Deucher <[EMAIL PROTECTED]> +Date: Tue Jun 12 23:44:41 2007 -0400 + + RADEON: additional LVDS off fix (missed in previous commit) + +commit 44748a826b52924a6e050215d8d62755e0ac7fb2 +Author: Tormod Volden <[EMAIL PROTECTED]> +Date: Tue Jun 12 23:23:49 2007 -0400 + + RADEON: limit PanelPwrDly to 2000 ms on ATOM bios as per legacy bios + + - fixes bug 11238 + +commit c292fc64499ff4cc135c07deda99cf4169f8fef4 +Author: Alex Deucher <[EMAIL PROTECTED]> +Date: Tue Jun 12 23:20:18 2007 -0400 + + RADEON: make sure RADEON_LVDS_ON is cleared when turning LVDS off + + - fixes bug 3483 + +commit c6a3286d6f6ddda89115d98d45665dadd78bf41d +Author: Michel Dänzer <[EMAIL PROTECTED]> +Date: Mon Jun 11 09:39:38 2007 +0200 + + radeon: Fix panel size detection from registers with stretched mode programmed. + +commit 7a6b3c0f77c69019268f585c51c3dcbcc99014d4 +Author: Michel Dänzer <[EMAIL PROTECTED]> +Date: Mon Jun 11 09:39:38 2007 +0200 + + radeon: Don't loop indefinitely if no mode matches detected panel size. + +commit f31fd9ce598841c505a0b5ed32bf124f49fea332 +Author: Michel Dänzer <[EMAIL PROTECTED]> +Date: Mon Jun 11 09:39:38 2007 +0200 + + radeon: Fix some more ErrorFs when setting mode. + +commit 2d40fa55e8d7a1cfb204d66ca4a4d95a3b13d5b5 +Author: Dave Airlie <[EMAIL PROTECTED]> +Date: Sun Jun 3 17:32:43 2007 +1000 + + radeon: disable irqs at server start until 3D app starts + +commit dcb64a4d3947e5a9fbda4b72e29a5b6102370f07 +Author: Dave Airlie <[EMAIL PROTECTED]> +Date: Sun Jun 3 17:10:49 2007 +1000 + + radeon: disable vbl interrupts when no 3d is running on a new enough drm + +commit 4c61c0ee91a2ffeefce30972a584486f1df1d1ae +Author: Matthieu Herrb <[EMAIL PROTECTED]> +Date: Tue May 29 21:35:35 2007 -0600 + + Fix build without XF86DRI + +commit 5337e7bd0069a3f2c4ab22b21a19471427ad3d81 +Author: Dave Airlie <[EMAIL PROTECTED](none)> +Date: Wed May 30 08:10:44 2007 +1000 + + radeon: add bios quirk for nx6125 monid + +commit bff809dc8ed07ac39e9b576a87916486a5e37156 +Author: Dave Airlie <[EMAIL PROTECTED](none)> +Date: Wed May 30 08:02:26 2007 +1000 + + rs480: more unknown regs + + Hardcode the values from a working fglrx run, this works for me now + + I've no idea what it might do for anyone else + +commit 104105fee5c3945d3f210e6a4cb73ab492c61543 +Author: Dave Airlie <[EMAIL PROTECTED](none)> +Date: Tue May 29 19:09:33 2007 +1000 + + rs480: make second crtc work with magic number in magic register. + + I've no idea why or what this does. + +commit 5aa603bcabbb077dec169c48438c2e2ebe1195d7 +Author: Dave Airlie <[EMAIL PROTECTED](none)> +Date: Tue May 29 07:23:24 2007 +1000 + + rs480: only has single dac + +commit c52322354fe64725733842b3356798c50e7735d5 +Merge: dd6a966... 975da59... +Author: Dave Airlie <[EMAIL PROTECTED](none)> +Date: Tue May 29 07:21:48 2007 +1000 + + Merge branch 'origin' + +commit 975da595f032c145ad74079ff8edeaead779dc7b +Author: Michel Dänzer <[EMAIL PROTECTED]> +Date: Tue May 22 10:56:47 2007 +0200 + + radeon: Provide new DRI texOffsetStart hook when available with EXA. + +commit 8275151baac22c34149cef0b7d922771d24abc3e +Author: Michel Dänzer <[EMAIL PROTECTED]> +Date: Mon May 21 10:25:48 2007 +0200 + + radeon: HW cursor cleanup. + + Don't needlessly turn the HW cursor on/off in RADEONLoadCursor*(). + + Besides cleaning up the code, this semms to avoid some HW cursor related 3D + lockups, see https://bugs.freedesktop.org/show_bug.cgi?id=10815 . My best + guess is that this is because the engine is now always idled before touching + the CRTC registers. + +commit 137e3fc1899078af0f72303ab0a4e6cf35804a7b +Author: Michel Dänzer <[EMAIL PROTECTED]> +Date: Mon May 21 10:25:48 2007 +0200 + + radeon: Suppress debugging output by default. + + It can be enabled at runtime by increasing the log verbosity level. + + Also change the prefix from (**) to (II) to make grepping the log file for + defaults overridden by xorg.conf more useful again. + + Turn some MC related debugging output into normal informational output as it's + useful for recognizing corner cases that can cause stability issues. + commit 09bfc8ed000f95ede5b73f2bad69edc1a4d9bac6 Author: Alex Deucher <[EMAIL PROTECTED]> Date: Sun May 20 18:06:22 2007 -0400 @@ -37,6 +276,18 @@ Date: Sun Apr 22 11:36:00 2007 +1000 So now I get DDC from the LCD on this laptop. +commit dd6a966e862b774a8e8b9e1a085309219673efad +Author: Dave Airlie <[EMAIL PROTECTED](none)> +Date: Sun Apr 22 11:36:00 2007 +1000 + + radeon: add support for DDC on some laptop chipsets + + I noticed fglrx has DDC for the panel in the rs480 laptop, however radeon + didn't pick it up, so I valgrinded fglrx and spotted 0x1a0/0x1a4 accesses + I actually noticed this before from the BIOS but never figured it out. + + So now I get DDC from the LCD on this laptop. + commit c81ed9bd7b37c9d02141d10f6c7bad3d0c57032f Author: Dave Airlie <[EMAIL PROTECTED]> Date: Sat Apr 21 18:58:40 2007 +1000 diff --git a/aclocal.m4 b/aclocal.m4 index aaae5ad..f8a69fa 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -6528,7 +6528,7 @@ path to pkg-config. _PKG_TEXT -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])], +To get pkg-config, see <http://pkg-config.freedesktop.org/>.])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS diff --git a/configure b/configure index f8257d0..83d5852 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for xf86-video-ati 6.6.192. +# Generated by GNU Autoconf 2.61 for xf86-video-ati 6.6.193. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='xf86-video-ati' PACKAGE_TARNAME='xf86-video-ati' -PACKAGE_VERSION='6.6.192' -PACKAGE_STRING='xf86-video-ati 6.6.192' +PACKAGE_VERSION='6.6.193' +PACKAGE_STRING='xf86-video-ati 6.6.193' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' ac_unique_file="Makefile.am" @@ -1436,7 +1436,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xf86-video-ati 6.6.192 to adapt to many kinds of systems. +\`configure' configures xf86-video-ati 6.6.193 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1506,7 +1506,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-video-ati 6.6.192:";; + short | recursive ) echo "Configuration of xf86-video-ati 6.6.193:";; esac cat <<\_ACEOF @@ -1622,7 +1622,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xf86-video-ati configure 6.6.192 +xf86-video-ati configure 6.6.193 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1636,7 +1636,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xf86-video-ati $as_me 6.6.192, which was +It was created by xf86-video-ati $as_me 6.6.193, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2311,7 +2311,7 @@ fi # Define the identity of the package. PACKAGE='xf86-video-ati' - VERSION='6.6.192' + VERSION='6.6.193' cat >>confdefs.h <<_ACEOF @@ -19976,6 +19976,10 @@ fi +if test "x$GCC" = "xyes"; then + CFLAGS="$CFLAGS -Wall" +fi + @@ -20566,7 +20570,7 @@ Alternatively, you may set the environment variables XORG_CFLAGS and XORG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>. +To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details." >&5 echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full @@ -20576,7 +20580,7 @@ Alternatively, you may set the environment variables XORG_CFLAGS and XORG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>. +To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else @@ -20985,7 +20989,7 @@ Alternatively, you may set the environment variables DRI_CFLAGS and DRI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>. +To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details." >&5 echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full @@ -20995,7 +20999,7 @@ Alternatively, you may set the environment variables DRI_CFLAGS and DRI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. -To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>. +To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else @@ -22182,7 +22186,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xf86-video-ati $as_me 6.6.192, which was +This file was extended by xf86-video-ati $as_me 6.6.193, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22235,7 +22239,7 @@ Report bugs to <[EMAIL PROTECTED]>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -xf86-video-ati config.status 6.6.192 +xf86-video-ati config.status 6.6.193 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/debian/changelog b/debian/changelog index 04dbb9c..e53f1e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,16 @@ -xserver-xorg-video-ati (1:6.6.192-2) UNRELEASED; urgency=low +xserver-xorg-video-ati (1:6.6.193-1) UNRELEASED; urgency=low + [ Brice Goglin ] + * New upstream release candidate. + + Add references to radeon and r128 manpages in SEE ALSO + in the ati(4) manpage (closes: #386001). + + Fix typo in "specifying" in the radeon(4) manpage + (closes: #432059). + + [ Julien Cristau ] * Add upstream URL to debian/copyright. Thanks, Loïc Minier. - -- Julien Cristau <[EMAIL PROTECTED]> Fri, 06 Jul 2007 17:36:51 +0200 + -- Brice Goglin <[EMAIL PROTECTED]> Sat, 04 Aug 2007 11:51:07 +0200 xserver-xorg-video-ati (1:6.6.192-1) experimental; urgency=low commit 1de52d91ff3a04b9b587b858e1e5be40d3a7fd0a Author: Dave Airlie <[EMAIL PROTECTED]> Date: Sat Aug 4 17:58:58 2007 +1000 update configure.ac for 6.6.193 release diff --git a/configure.ac b/configure.ac index f444afb..441e723 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-video-ati], - 6.6.192, + 6.6.193, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-video-ati) commit 371001c0433db1d17e468f3ea99ea57f922145a3 Author: Dave Airlie <[EMAIL PROTECTED]> Date: Sat Aug 4 17:51:19 2007 +1000 radeon: remove unused variables diff --git a/src/radeon_display.c b/src/radeon_display.c index 95e669d..02f5960 100644 --- a/src/radeon_display.c +++ b/src/radeon_display.c @@ -2071,7 +2071,6 @@ RADEONCRTC2Blank(RADEONInfoPtr info, Bool Blank) void RADEONBlank(ScrnInfoPtr pScrn, Bool Blank) { RADEONInfoPtr info = RADEONPTR(pScrn); - unsigned char *RADEONMMIO = info->MMIO; RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); if (!pRADEONEnt->HasSecondary || @@ -2223,7 +2222,6 @@ RADEONDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int { RADEONInfoPtr info = RADEONPTR(pScrn); RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); - RADEONConnector *pPort; if (!pScrn->vtSema) return; commit 90946c53d7a4b23d03270ad6da0450759a11de3d Author: Dave Airlie <[EMAIL PROTECTED]> Date: Sat Aug 4 17:51:06 2007 +1000 ati: add -Wall for gcc As per luc's "suggestion" in Novell bug. This may generate warnings on 64-bit until we get rid of CARD32 diff --git a/configure.ac b/configure.ac index 8b29d8d..f444afb 100644 --- a/configure.ac +++ b/configure.ac @@ -39,6 +39,10 @@ AC_DISABLE_STATIC AC_PROG_LIBTOOL AC_PROG_CC +if test "x$GCC" = "xyes"; then + CFLAGS="$CFLAGS -Wall" +fi + AH_TOP([#include "xorg-server.h"]) AC_ARG_WITH(xorg-module-dir, commit e30a145934df8f6a7f71290d6c75e4239f9d52f7 Author: Dave Airlie <[EMAIL PROTECTED]> Date: Sat Aug 4 17:44:46 2007 +1000 radeon: cleanup some pieces of the dpms/blank register programming diff --git a/src/radeon_display.c b/src/radeon_display.c index 0bf7271..95e669d 100644 --- a/src/radeon_display.c +++ b/src/radeon_display.c @@ -2020,33 +2020,26 @@ RADEONOutputsBlank(ScrnInfoPtr pScrn, RADEONConnector *pPort, Bool Blank) { RADEONInfoPtr info = RADEONPTR(pScrn); unsigned char *RADEONMMIO = info->MMIO; + CARD32 val; switch(pPort->MonType) { case MT_LCD: - if (Blank) - OUTREGP(RADEON_LVDS_GEN_CNTL, RADEON_LVDS_DISPLAY_DIS, ~RADEON_LVDS_DISPLAY_DIS); - else - OUTREGP(RADEON_LVDS_GEN_CNTL, 0, ~RADEON_LVDS_DISPLAY_DIS); + val = (Blank == TRUE) ? RADEON_LVDS_DISPLAY_DIS : 0; + OUTREGP(RADEON_LVDS_GEN_CNTL, val, ~RADEON_LVDS_DISPLAY_DIS); break; case MT_CRT: if ((info->ChipFamily == CHIP_FAMILY_R200) && (pPort->DACType == DAC_TVDAC)) { - if (Blank) - OUTREGP(RADEON_FP2_GEN_CNTL, RADEON_FP2_BLANK_EN, ~RADEON_FP2_BLANK_EN); - else - OUTREGP(RADEON_FP2_GEN_CNTL, 0, ~RADEON_FP2_BLANK_EN); + val = (Blank == TRUE) ? RADEON_FP2_BLANK_EN : 0; + OUTREGP(RADEON_FP2_GEN_CNTL, val, ~RADEON_FP2_BLANK_EN); } break; case MT_DFP: if (pPort->TMDSType == TMDS_EXT) { - if (Blank) - OUTREGP(RADEON_FP2_GEN_CNTL, RADEON_FP2_BLANK_EN, ~RADEON_FP2_BLANK_EN); - else - OUTREGP(RADEON_FP2_GEN_CNTL, 0, ~RADEON_FP2_BLANK_EN); + val = Blank ? RADEON_FP2_BLANK_EN : 0; + OUTREGP(RADEON_FP2_GEN_CNTL, val, ~RADEON_FP2_BLANK_EN); } else { - if (Blank) - OUTREGP(RADEON_FP_GEN_CNTL, RADEON_FP_BLANK_EN, ~RADEON_FP_BLANK_EN); - else - OUTREGP(RADEON_FP_GEN_CNTL, 0, ~RADEON_FP_BLANK_EN); + val = Blank ? RADEON_FP_BLANK_EN : 0; + OUTREGP(RADEON_FP_GEN_CNTL, val, ~RADEON_FP_BLANK_EN); } break; case MT_NONE: @@ -2059,28 +2052,19 @@ static void RADEONCRTC1Blank(RADEONInfoPtr info, Bool Blank) { unsigned char *RADEONMMIO = info->MMIO; - - if (Blank) - OUTREGP(RADEON_CRTC_EXT_CNTL, - RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_VSYNC_DIS | RADEON_CRTC_HSYNC_DIS, - ~(RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_VSYNC_DIS | RADEON_CRTC_HSYNC_DIS)); - else - OUTREGP(RADEON_CRTC_EXT_CNTL, 0, - ~(RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_VSYNC_DIS | RADEON_CRTC_HSYNC_DIS)); + CARD32 val = (Blank == TRUE) ? (RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_VSYNC_DIS | RADEON_CRTC_HSYNC_DIS) : 0; + + OUTREGP(RADEON_CRTC_EXT_CNTL, val, + ~(RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_VSYNC_DIS | RADEON_CRTC_HSYNC_DIS)); } static void RADEONCRTC2Blank(RADEONInfoPtr info, Bool Blank) { unsigned char *RADEONMMIO = info->MMIO; - - if (Blank) - OUTREGP(RADEON_CRTC2_GEN_CNTL, - RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS, - ~(RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS)); - else - OUTREGP(RADEON_CRTC2_GEN_CNTL, 0, - ~(RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS)); + CARD32 val = (Blank == TRUE) ? (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS) : 0; + OUTREGP(RADEON_CRTC2_GEN_CNTL, val, + ~(RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS)); } /* Blank screen */ @@ -2178,63 +2162,58 @@ void RADEONCRTC1DPMS(RADEONInfoPtr info, int Mode) { unsigned char *RADEONMMIO = info->MMIO; - + CARD32 val; switch (Mode) { case DPMSModeOn: /* Screen: On; HSync: On, VSync: On */ - OUTREGP(RADEON_CRTC_EXT_CNTL, 0, - ~(RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS | RADEON_CRTC_VSYNC_DIS)); + val = 0; break; case DPMSModeStandby: /* Screen: Off; HSync: Off, VSync: On */ - OUTREGP(RADEON_CRTC_EXT_CNTL, (RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS), - ~(RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS | RADEON_CRTC_VSYNC_DIS)); + val = (RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS); break; case DPMSModeSuspend: /* Screen: Off; HSync: On, VSync: Off */ - OUTREGP(RADEON_CRTC_EXT_CNTL, (RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_VSYNC_DIS), - ~(RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS | RADEON_CRTC_VSYNC_DIS)); + val = (RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_VSYNC_DIS); break; case DPMSModeOff: default: /* Screen: Off; HSync: Off, VSync: Off */ - OUTREGP(RADEON_CRTC_EXT_CNTL, - (RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS | RADEON_CRTC_VSYNC_DIS), - ~(RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS | RADEON_CRTC_VSYNC_DIS)); + val = (RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS | RADEON_CRTC_VSYNC_DIS); break; } + OUTREGP(RADEON_CRTC_EXT_CNTL, val, + ~(RADEON_CRTC_DISPLAY_DIS | RADEON_CRTC_HSYNC_DIS | RADEON_CRTC_VSYNC_DIS)); + } void RADEONCRTC2DPMS(RADEONInfoPtr info, int Mode) { unsigned char *RADEONMMIO = info->MMIO; - + CARD32 val; switch (Mode) { case DPMSModeOn: /* Screen: On; HSync: On, VSync: On */ - OUTREGP(RADEON_CRTC2_GEN_CNTL, 0, - ~(RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS)); + val = 0; break; case DPMSModeStandby: /* Screen: Off; HSync: Off, VSync: On */ - OUTREGP(RADEON_CRTC2_GEN_CNTL, (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_HSYNC_DIS), - ~(RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS)); + val = (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_HSYNC_DIS); break; case DPMSModeSuspend: /* Screen: Off; HSync: On, VSync: Off */ - OUTREGP(RADEON_CRTC2_GEN_CNTL, (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS), - ~(RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS)); + val = (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS); break; case DPMSModeOff: default: /* Screen: Off; HSync: Off, VSync: Off */ - OUTREGP(RADEON_CRTC2_GEN_CNTL, - (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS), - ~(RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS)); + val = (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS); break; } + OUTREGP(RADEON_CRTC2_GEN_CNTL, val, + ~(RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS)); } commit a156db5e8b037ed12a448f70045453baf9d0c504 Author: Luc Verhaegen <[EMAIL PROTECTED]> Date: Sat Aug 4 17:37:18 2007 +1000 Clean up PortInfo to CRTC mapping Also sanitise blanking and DPMS functions Fixes from Novell Bug 264720, and fd.o 10772 diff --git a/src/radeon.h b/src/radeon.h index a22e481..5f3f4ab 100644 --- a/src/radeon.h +++ b/src/radeon.h @@ -904,14 +904,12 @@ extern void RADEONEnableDisplay(ScrnInfoPtr pScrn, RADEONConnector* pPort extern void RADEONDisableDisplays(ScrnInfoPtr pScrn); extern void RADEONGetPanelInfo(ScrnInfoPtr pScrn); extern void RADEONGetTVDacAdjInfo(ScrnInfoPtr pScrn); -extern void RADEONUnblank(ScrnInfoPtr pScrn); -extern void RADEONBlank(ScrnInfoPtr pScrn); +extern void RADEONBlank(ScrnInfoPtr pScrn, Bool Blank); extern void RADEONDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags); extern Bool RADEONAllocateControllers(ScrnInfoPtr pScrn); extern Bool RADEONAllocateConnectors(ScrnInfoPtr pScrn); -extern RADEONConnector *RADEONGetCrtcConnector(ScrnInfoPtr pScrn, int crtc_num); extern int RADEONValidateMergeModes(ScrnInfoPtr pScrn); extern int RADEONValidateDDCModes(ScrnInfoPtr pScrn1, char **ppModeName, RADEONMonitorType DisplayType, int crtc2); diff --git a/src/radeon_display.c b/src/radeon_display.c index 6ae8862..0bf7271 100644 --- a/src/radeon_display.c +++ b/src/radeon_display.c @@ -941,6 +941,16 @@ void RADEONGetTVDacAdjInfo(ScrnInfoPtr pScrn) } } +static void +RADEONConnectorReverse(RADEONEntPtr pRADEONEnt) +{ + RADEONConnector *connector; + + connector = pRADEONEnt->PortInfo[0]; + pRADEONEnt->PortInfo[0] = pRADEONEnt->PortInfo[1]; + pRADEONEnt->PortInfo[1] = connector; +} + /* * initialise the static data sos we don't have to re-do at randr change */ void RADEONSetupConnectors(ScrnInfoPtr pScrn) @@ -998,12 +1008,9 @@ void RADEONSetupConnectors(ScrnInfoPtr pScrn) } /* always make TMDS_INT port first*/ - if (pRADEONEnt->PortInfo[1]->TMDSType == TMDS_INT) { - RADEONConnector *connector; - connector = pRADEONEnt->PortInfo[0]; - pRADEONEnt->PortInfo[0] = pRADEONEnt->PortInfo[1]; - pRADEONEnt->PortInfo[1] = connector; - } else if ((pRADEONEnt->PortInfo[0]->TMDSType != TMDS_INT && + if (pRADEONEnt->PortInfo[1]->TMDSType == TMDS_INT) + RADEONConnectorReverse(pRADEONEnt); + else if ((pRADEONEnt->PortInfo[0]->TMDSType != TMDS_INT && pRADEONEnt->PortInfo[1]->TMDSType != TMDS_INT)) { /* no TMDS_INT port, make primary DAC port first */ /* On my Inspiron 8600 both internal and external ports are @@ -1011,10 +1018,7 @@ void RADEONSetupConnectors(ScrnInfoPtr pScrn) swap when the first port is not DAC_PRIMARY */ if ((!(pRADEONEnt->PortInfo[0]->ConnectorType == CONNECTOR_PROPRIETARY)) && (pRADEONEnt->PortInfo[1]->DACType == DAC_PRIMARY) && (pRADEONEnt->PortInfo[0]->DACType != DAC_PRIMARY)) { - RADEONConnector *connector; - connector = pRADEONEnt->PortInfo[0]; - pRADEONEnt->PortInfo[0] = pRADEONEnt->PortInfo[1]; - pRADEONEnt->PortInfo[1] = connector; + RADEONConnectorReverse(pRADEONEnt); } } @@ -1269,10 +1273,7 @@ static void RADEONQueryConnectedDisplays(ScrnInfoPtr pScrn) pRADEONEnt->PortInfo[1]->DACType = DAC_UNKNOWN; pRADEONEnt->PortInfo[1]->TMDSType = TMDS_UNKNOWN; pRADEONEnt->PortInfo[1]->ConnectorType = CONNECTOR_NONE; - - pRADEONEnt->PortInfo[0]->crtc_num = 1; - pRADEONEnt->PortInfo[1]->crtc_num = 2; - + return; } @@ -1307,16 +1308,12 @@ Bool RADEONMapControllers(ScrnInfoPtr pScrn) RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn); unsigned char *RADEONMMIO = info->MMIO; Bool head_reversed = FALSE; - RADEONConnector *connector; info->MergeType = MT_NONE; if (!info->IsSecondary) { RADEONQueryConnectedDisplays(pScrn); - pRADEONEnt->PortInfo[0]->crtc_num = 1; - pRADEONEnt->PortInfo[1]->crtc_num = 2; - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Port1:\n Monitor -- %s\n Connector -- %s\n DAC Type -- %s\n TMDS Type -- %s\n DDC Type -- %s\n", MonTypeName[pRADEONEnt->PortInfo[0]->MonType+1], @@ -1341,8 +1338,8 @@ Bool RADEONMapControllers(ScrnInfoPtr pScrn) if (pRADEONEnt->PortInfo[0]->MonType == MT_NONE) { if (pRADEONEnt->PortInfo[1]->MonType != MT_NONE) { /* Only one detected on secondary, let it to be primary */ - pRADEONEnt->PortInfo[0]->crtc_num = 2; - pRADEONEnt->PortInfo[1]->crtc_num = 1; + if (!head_reversed) + RADEONConnectorReverse(pRADEONEnt); head_reversed = TRUE; } else { /* None detected, Default to a CRT connected */ @@ -1354,10 +1351,10 @@ Bool RADEONMapControllers(ScrnInfoPtr pScrn) (pRADEONEnt->PortInfo[1]->MonType == MT_CRT)) { if (!(INREG(RADEON_LVDS_GEN_CNTL) & RADEON_LVDS_ON)) { /* LCD is switched off, don't turn it on, otherwise it may casue lockup due to SS issue. */ - pRADEONEnt->PortInfo[0]->crtc_num = 2; - pRADEONEnt->PortInfo[1]->crtc_num = 1; - pRADEONEnt->PortInfo[0]->MonType = MT_NONE; + if (!head_reversed) + RADEONConnectorReverse(pRADEONEnt); head_reversed = TRUE; + pRADEONEnt->PortInfo[0]->MonType = MT_NONE; xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "LCD is switched off, only CRT will be used\n"); } } @@ -1371,8 +1368,8 @@ Bool RADEONMapControllers(ScrnInfoPtr pScrn) */ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Reverse Display cannot be used for mobility chip\n"); } else { - pRADEONEnt->PortInfo[0]->crtc_num = 2; - pRADEONEnt->PortInfo[1]->crtc_num = 1; + if (!head_reversed) + RADEONConnectorReverse(pRADEONEnt); head_reversed = TRUE; xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Primary and Secondary mapping is reversed\n"); } @@ -1386,46 +1383,33 @@ Bool RADEONMapControllers(ScrnInfoPtr pScrn) if(pRADEONEnt->HasCRTC2) { if(info->IsSecondary) { - connector = RADEONGetCrtcConnector(pScrn, 2); pRADEONEnt->Controller[1]->binding = 2; - if (connector) { - info->DisplayType = connector->MonType; - pScrn->monitor->DDC = connector->MonInfo; - } + info->DisplayType = pRADEONEnt->PortInfo[1]->MonType; + pScrn->monitor->DDC = pRADEONEnt->PortInfo[1]->MonInfo; } else { - connector = RADEONGetCrtcConnector(pScrn, 1); -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]