[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-ati: Changes to 'debian-experimental'



 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 <Brice.Goglin@ens-lyon.org>
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           \fIalanh@fairlite.demon.co.uk\fP
- Marc Aurele La France    \fItsi@xfree86.org\fP
- Benjamin Herrenschmidt   \fIbenh@kernel.crashing.org\fP
--Michel Dänzer            \fImichel@tungstengraphics.com\fP
-+Michel D\(:anzer            \fImichel@tungstengraphics.com\fP
- Alex Deucher             \fIalexdeucher@gmail.com\fP
- Bogdan D.                \fIbogdand@users.sourceforge.net\fP
- Eric Anholt              \fIeric@anholt.net\fP
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 <Brice.Goglin@ens-lyon.org>
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 <airlied@linux.ie>
+Date:   Sat Aug 4 17:58:58 2007 +1000
+
+    update configure.ac for 6.6.193 release
+
+commit 371001c0433db1d17e468f3ea99ea57f922145a3
+Author: Dave Airlie <airlied@linux.ie>
+Date:   Sat Aug 4 17:51:19 2007 +1000
+
+    radeon: remove unused variables
+
+commit 90946c53d7a4b23d03270ad6da0450759a11de3d
+Author: Dave Airlie <airlied@linux.ie>
+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 <airlied@linux.ie>
+Date:   Sat Aug 4 17:44:46 2007 +1000
+
+    radeon: cleanup some pieces of the dpms/blank register programming
+
+commit a156db5e8b037ed12a448f70045453baf9d0c504
+Author: Luc Verhaegen <libv@skynet.be>
+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 <Brice.Goglin@ens-lyon.org>
+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 <alex@t41p.hsd1.va.comcast.net>
+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 <brice.goglin@ens-lyon.org>
+Date:   Thu Jul 19 18:44:27 2007 -0400
+
+    MACH64: avoid crash in Xv code
+    
+    fixes bug 11054
+
+commit ac9cbaf32176cf144bc694ac879e7c9e2920f762
+Author: Michel Dänzer <michel@tungstengraphics.com>
+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 <alex@t41p.hsd1.va.comcast.net>
+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 <randrik@mail.ru>
+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 <alex@t41p.hsd1.va.comcast.net>
+Date:   Mon Jun 18 21:51:45 2007 -0400
+
+    RADEON: only touch LVDS on mobility chips
+
+commit 80313621ffa8c409ae63fc1b28c15fc4abdc3a7b
+Author: Henry Zhao <henryz@localhost.localdomain>
+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 <alex@t41p.hsd1.va.comcast.net>
+Date:   Tue Jun 12 23:44:41 2007 -0400
+
+    RADEON: additional LVDS off fix (missed in previous commit)
+
+commit 44748a826b52924a6e050215d8d62755e0ac7fb2
+Author: Tormod Volden <bugzi06.fdo.tormod@xoxy.net>
+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 <alex@t41p.hsd1.va.comcast.net>
+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 <michel@tungstengraphics.com>
+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 <michel@tungstengraphics.com>
+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 <michel@tungstengraphics.com>
+Date:   Mon Jun 11 09:39:38 2007 +0200
+
+    radeon: Fix some more ErrorFs when setting mode.
+
+commit 2d40fa55e8d7a1cfb204d66ca4a4d95a3b13d5b5
+Author: Dave Airlie <airlied@linux.ie>
+Date:   Sun Jun 3 17:32:43 2007 +1000
+
+    radeon: disable irqs at server start until 3D app starts
+
+commit dcb64a4d3947e5a9fbda4b72e29a5b6102370f07
+Author: Dave Airlie <airlied@linux.ie>
+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 <matthieu@deville.herrb.com>
+Date:   Tue May 29 21:35:35 2007 -0600
+
+    Fix build without XF86DRI
+
+commit 5337e7bd0069a3f2c4ab22b21a19471427ad3d81
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date:   Wed May 30 08:10:44 2007 +1000
+
+    radeon: add bios quirk for nx6125 monid
+
+commit bff809dc8ed07ac39e9b576a87916486a5e37156
+Author: Dave Airlie <airlied@nx6125b.(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 <airlied@nx6125b.(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 <airlied@nx6125b.(none)>
+Date:   Tue May 29 07:23:24 2007 +1000
+
+    rs480: only has single dac
+
+commit c52322354fe64725733842b3356798c50e7735d5
+Merge: dd6a966... 975da59...
+Author: Dave Airlie <airlied@nx6125b.(none)>
+Date:   Tue May 29 07:21:48 2007 +1000
+
+    Merge branch 'origin'
+
+commit 975da595f032c145ad74079ff8edeaead779dc7b
+Author: Michel Dänzer <michel@tungstengraphics.com>
+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 <michel@tungstengraphics.com>
+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 <michel@tungstengraphics.com>
+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 <alex@t41p.hsd1.va.comcast.net>
 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 <airlied@nx6125b.(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 <airlied@linux.ie>
 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 <bug-autoconf@gnu.org>."
 _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 <jcristau@debian.org>  Fri, 06 Jul 2007 17:36:51 +0200
+ -- Brice Goglin <Brice.Goglin@ens-lyon.org>  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 <airlied@linux.ie>
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 <airlied@linux.ie>
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 <airlied@linux.ie>
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 <airlied@linux.ie>
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 <libv@skynet.be>
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);



Reply to: