summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <dberkholz@gentoo.org>2008-04-10 07:36:25 +0000
committerDonnie Berkholz <dberkholz@gentoo.org>2008-04-10 07:36:25 +0000
commit7e747f79f3f0fcb92726fd6623589e71471d31e8 (patch)
tree3a886153c42fe5f0879d0fc9c43d34c798b0792a /x11-drivers
parentRestored usage of virtual/libintl from -r1. Supposedly needed on ~x86-fbsd at... (diff)
downloadhistorical-7e747f79f3f0fcb92726fd6623589e71471d31e8.tar.gz
historical-7e747f79f3f0fcb92726fd6623589e71471d31e8.tar.bz2
historical-7e747f79f3f0fcb92726fd6623589e71471d31e8.zip
Add some patches from upstream to fix a number of bugs, including #216637.
Package-Manager: portage-2.1.5_rc2
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/xf86-video-ati/ChangeLog15
-rw-r--r--x11-drivers/xf86-video-ati/Manifest19
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch49
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch56
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch46
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch35
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch77
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch25
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch76
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch70
-rw-r--r--x11-drivers/xf86-video-ati/files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch32
-rw-r--r--x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild14
12 files changed, 507 insertions, 7 deletions
diff --git a/x11-drivers/xf86-video-ati/ChangeLog b/x11-drivers/xf86-video-ati/ChangeLog
index 329f0d3bd7a5..f72d7b36c870 100644
--- a/x11-drivers/xf86-video-ati/ChangeLog
+++ b/x11-drivers/xf86-video-ati/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for x11-drivers/xf86-video-ati
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/ChangeLog,v 1.60 2008/02/24 02:27:48 dberkholz Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/ChangeLog,v 1.61 2008/04/10 07:36:24 dberkholz Exp $
+
+ 10 Apr 2008; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch,
+ +files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch
+ , +files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch,
+ +files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch,
+ +files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch,
+ +files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch,
+ +files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patc
+ h, +files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch,
+ +files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.pat
+ ch, xf86-video-ati-6.8.0.ebuild:
+ Add some patches from upstream to fix a number of bugs, including #216637.
24 Feb 2008; Donnie Berkholz <dberkholz@gentoo.org>; ChangeLog:
Update my email.
diff --git a/x11-drivers/xf86-video-ati/Manifest b/x11-drivers/xf86-video-ati/Manifest
index b5ab140ce11f..f038af8a33d2 100644
--- a/x11-drivers/xf86-video-ati/Manifest
+++ b/x11-drivers/xf86-video-ati/Manifest
@@ -1,6 +1,15 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
+AUX 6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch 1475 RMD160 823ae425d7483b4bcb76944feb3185c6a694d361 SHA1 e781e6f8ef97d0546de3cf9c664086adb7d8c1f9 SHA256 ef6ed53daa1a382804b3ecd18f5d04899c1e2f8902e09e12fd6132017e740e30
+AUX 6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch 1149 RMD160 e3d43190941ead01962b5376036373c27e8a984a SHA1 e58e7e23ac4ba2e48893f4386d69324b9feaf4aa SHA256 aa0baace33d075c4d2bd16b25a8526b1bfdb96557000b4cfdfcd170b25b3bace
+AUX 6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch 1380 RMD160 75448199255a65e47a119607aa2eb6c61a5a3557 SHA1 1d5f4b34b5e155a5db57340f486c8c1f7993955e SHA256 e34afe7401104d120acd2e55c16521ca7da03205de45b2334ed4c73ae9164372
+AUX 6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch 1134 RMD160 f5be7b9d409390ea6710046c4939b3b567687e32 SHA1 86427e37fd6aaf2e9a2e8dd1241c073bd4889fc4 SHA256 fb0fdd06e8edd3805508a5f71044e1a4ff4e739d70a52cead3aebf4e6cce7e60
+AUX 6.8.0/0005-R100-fix-render-accel-for-transforms.patch 4277 RMD160 7fc545e1a9fca6bfdafd16739caeb1ff03dd2a88 SHA1 d335a0333d5eb7a8093a6bcc726254ca78f843ab SHA256 da404e9bbbede7fd301749feacfb28693934737045bc71d11b6a4945d6f25b2a
+AUX 6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch 947 RMD160 2d05797b7a20285b7d27b5874f9b64abb0f9effd SHA1 3ae0217e7f96d73bdf5ebfac248da21c5f58ef48 SHA256 b3de58cf07209c120f09ffe72bbc9d245553710c2beac36cae576800b51bda62
+AUX 6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch 2905 RMD160 a751f52c11aa55a12ed950c9aeb1bb384163f50e SHA1 116e70eaf5525cecab15870749c60955129b0f4a SHA256 647d3f9a46da62ac5dc24ff2edfe3122aa00359127dfee0134b8e7eec350177c
+AUX 6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch 2135 RMD160 4ac5fb71fa37f55dbb801d81d26633fc4df1fc48 SHA1 159faea1bf1e07507bb4b744274df2bd191feb84 SHA256 b4180842b91c78ad97d93ed16a9a2e42b3fb1837e1588c5a150b9997931079f1
+AUX 6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch 1048 RMD160 fd2a80e1f3ad197097135471074960fa9d6671ac SHA1 2b59254e490c36e40c6fc997b1e318595712c490 SHA256 e1651882ceebfad2fb88d7d0e7dc09b7962acd3013a8d1e50db55af958e3ead7
AUX ati.xinf 2028 RMD160 0f57c7452bbf9d2d8d0a96f6f480b98e8a5c6d5f SHA1 51dc48aba9d3e2613d230837d369ebcab86b4c5c SHA256 79540e91ab1baf462ded22a5ef0f3cff0d95bef22db4ec13ea7101dbff29aa74
AUX r128.xinf 2491 RMD160 02f5ae030596643bdc2ce4982ee47fdbdf656f95 SHA1 cee72fd687711845f4fc435cac00b715fc19b1d3 SHA256 d8f50f12b291d526353aa5d76c95137dafbff22bf47cbb751b686252d104279b
AUX radeon.xinf 12504 RMD160 48b32c2d4acc1edff0e814a173ecce1b6026ba7c SHA1 1f4d98536d013d3ac6999781578d381bbd94023f SHA256 f23555826bfce07dfaafba60957e347e36fdb694c71bc3ad39d172e3863e7c96
@@ -11,13 +20,13 @@ DIST xf86-video-ati-6.7.197.tar.bz2 750653 RMD160 8852b45803d3c6ef4e29e737507dbb
DIST xf86-video-ati-6.8.0.tar.bz2 901737 RMD160 8414af2de5f21f4106a25631cfb8a4a206f5b0dd SHA1 b6974237b6ae9b45b32fc37f31a3fee7358230d3 SHA256 3863851e3c85d25cc38941eec63e866656806821b028519ae32ab8b276664fba
EBUILD xf86-video-ati-6.6.3.ebuild 891 RMD160 adce8436c6484ab2bd94f54027639278bf9f1e98 SHA1 d1af926a37d18983eaf8077df11da78e761f9ae3 SHA256 caf088ba3169d3d23fd5134f6e39ab07abf9f93f29067cfd4ca85385810c5ca7
EBUILD xf86-video-ati-6.7.197.ebuild 913 RMD160 1bd6febc90e2a496651e593a5551904603753a64 SHA1 880a540b5277d3f03acfbe2a35a916ccbee29481 SHA256 63d69e3d479978bade889e41874dee938a2fbf4e8ac55a8fd2afb3856ecba820
-EBUILD xf86-video-ati-6.8.0.ebuild 911 RMD160 daa04bc0088299d64fe19c8a4f5a395ff575d5fc SHA1 3ce1e18573fb6404b777bca0a1fed9769dae1add SHA256 a623dd2ad0739a66e4e7222f2d351e83523939a1f9aaaceaf262400154925454
-MISC ChangeLog 10833 RMD160 fbddabe05542bffa543ec5e22faed5e7ecf7248e SHA1 87dee4ced8aec65c2e9833483860b8a058d51aca SHA256 fd922ae5d31ca15c7ceea985bd3a2eaf4647eccd057dcf8213a6be0fc9e68c5e
+EBUILD xf86-video-ati-6.8.0.ebuild 1593 RMD160 88db7a432ca2bd5b29f80a201252eeb0d33061f7 SHA1 fe5ae254c7071099b72f1be65407b78d41f692f6 SHA256 28bed893fdf39102f497f9ce3340884c0b050828630f9df7d081624b394844ad
+MISC ChangeLog 11641 RMD160 ba68b6fa1c09e2442ad1edd60c74c22b94b6b976 SHA1 670c78a6f9378ff0da4b0652324700e69ae0d6bf SHA256 1658cadac80bb137aad124ee85b06894032ff524c311b9ab3c464ed02402ff43
MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
-iD8DBQFHwNYqXVaO67S1rtsRAgXpAKDkiaBpsCR40fM/QsraHVOjN3xkOQCfbAI9
-m+38BGzvstgsR8uGo1qEBTA=
-=vues
+iD8DBQFH/cOAXVaO67S1rtsRAlUkAKCT00YoVqqwk/efaF56riIX8eI/dgCglb/O
+u0zQYX5KRCkBx7IyvZudh8s=
+=ACEi
-----END PGP SIGNATURE-----
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch
new file mode 100644
index 000000000000..06391030d9da
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch
@@ -0,0 +1,49 @@
+From 3de2dc88cf26ff5932f11cecdf975777b8aa2a4a Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 16 Jan 2008 14:55:05 -0500
+Subject: [PATCH] Bump CRTC size limits on AVIVO chips so 30" displays work without tweaking.
+
+Note that the CRTC size limits we're using right now are _not_ the
+hardware limits, they're just heuristics until we can resize the front
+buffer properly.
+---
+ src/radeon_driver.c | 19 ++++++++++++-------
+ 1 files changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/src/radeon_driver.c b/src/radeon_driver.c
+index 98b8c68..a5127db 100644
+--- a/src/radeon_driver.c
++++ b/src/radeon_driver.c
+@@ -2731,17 +2731,22 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
+ if (crtc_max_Y > 8192)
+ crtc_max_Y = 8192;
+ } else {
++ /*
++ * note that these aren't really the CRTC limits, they're just
++ * heuristics until we have a better memory manager.
++ */
+ if (pScrn->videoRam <= 16384) {
+ crtc_max_X = 1600;
+ crtc_max_Y = 1200;
++ } else if (IS_R300_VARIANT) {
++ crtc_max_X = 2560;
++ crtc_max_Y = 1200;
++ } else if (IS_AVIVO_VARIANT) {
++ crtc_max_X = 2560;
++ crtc_max_Y = 1600;
+ } else {
+- if (IS_R300_VARIANT || IS_AVIVO_VARIANT) {
+- crtc_max_X = 2560;
+- crtc_max_Y = 1200;
+- } else {
+- crtc_max_X = 2048;
+- crtc_max_Y = 1200;
+- }
++ crtc_max_X = 2048;
++ crtc_max_Y = 1200;
+ }
+ }
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Max desktop size set to %dx%d\n",
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch
new file mode 100644
index 000000000000..4003bde56c35
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0002-RADEON-update-man-page-with-supported-chips.patch
@@ -0,0 +1,56 @@
+From af82172a82f2bdf96e571def659a1c70f92dfdbf Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alex@botch2.(none)>
+Date: Tue, 19 Feb 2008 19:39:35 -0500
+Subject: [PATCH] RADEON: update man page with supported chips
+
+---
+ man/radeon.man | 26 +++++++++++++++++++++++++-
+ 1 files changed, 25 insertions(+), 1 deletions(-)
+
+diff --git a/man/radeon.man b/man/radeon.man
+index b4ade32..86be965 100644
+--- a/man/radeon.man
++++ b/man/radeon.man
+@@ -53,7 +53,7 @@ Radeon 9100 IGP
+ Radeon 9200 IGP
+ .TP 12
+ .B RS400
+-Radeon XPRESS 200/200M IGP (2d only)
++Radeon XPRESS 200/200M IGP
+ .TP 12
+ .B RV280
+ Radeon 9200PRO/9200/9200SE, M9+
+@@ -90,6 +90,30 @@ Radeon X800, M28 PCIE
+ .TP 12
+ .B R480/R481
+ Radeon X850 PCIE/AGP
++.TP 12
++.B RV515
++Radeon X1300/X1400/X1500
++.TP 12
++.B R520
++Radeon X1800
++.TP 12
++.B RV530/RV560
++Radeon X1600/X1650/X1700
++.TP 12
++.B RV570/R580
++Radeon X1900/X1950
++.TP 12
++.B RS600/RS690
++Radeon X1200
++.TP 12
++.B R600
++Radeon HD 2900
++.TP 12
++.B RV610/RV630
++Radeon HD 2400/2600
++.TP 12
++.B RV670
++Radeon HD 3850/3870
+
+ .SH CONFIGURATION DETAILS
+ Please refer to __xconfigfile__(__filemansuffix__) for general configuration
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch
new file mode 100644
index 000000000000..92c17b1aeda9
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0003-RADEON-fix-DDC-types-5-and-6.patch
@@ -0,0 +1,46 @@
+From b77e2aff7453a9f370beba37ca3c25b92b3f97ff Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alex@botch2.(none)>
+Date: Tue, 19 Feb 2008 19:55:41 -0500
+Subject: [PATCH] RADEON: fix DDC types 5 and 6
+
+---
+ src/radeon_output.c | 23 +++++++++++++++++------
+ 1 files changed, 17 insertions(+), 6 deletions(-)
+
+diff --git a/src/radeon_output.c b/src/radeon_output.c
+index aceb3d8..e65e269 100644
+--- a/src/radeon_output.c
++++ b/src/radeon_output.c
+@@ -1754,12 +1754,23 @@ legacy_setup_i2c_bus(int ddc_line)
+ i2c.put_data_mask = RADEON_GPIO_EN_0;
+ i2c.get_clk_mask = RADEON_GPIO_Y_1;
+ i2c.get_data_mask = RADEON_GPIO_Y_0;
+- i2c.mask_clk_reg = ddc_line;
+- i2c.mask_data_reg = ddc_line;
+- i2c.put_clk_reg = ddc_line;
+- i2c.put_data_reg = ddc_line;
+- i2c.get_clk_reg = ddc_line;
+- i2c.get_data_reg = ddc_line;
++ if ((ddc_line == RADEON_LCD_GPIO_MASK) ||
++ (ddc_line == RADEON_MDGPIO_EN_REG)) {
++ i2c.mask_clk_reg = ddc_line;
++ i2c.mask_data_reg = ddc_line;
++ i2c.put_clk_reg = ddc_line;
++ i2c.put_data_reg = ddc_line;
++ i2c.get_clk_reg = ddc_line + 4;
++ i2c.get_data_reg = ddc_line + 4;
++ } else {
++ i2c.mask_clk_reg = ddc_line;
++ i2c.mask_data_reg = ddc_line;
++ i2c.put_clk_reg = ddc_line;
++ i2c.put_data_reg = ddc_line;
++ i2c.get_clk_reg = ddc_line;
++ i2c.get_data_reg = ddc_line;
++ }
++
+ if (ddc_line)
+ i2c.valid = TRUE;
+ else
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch
new file mode 100644
index 000000000000..4e496bdc1d3f
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch
@@ -0,0 +1,35 @@
+From a0a73208a21546ac120fb9a463261836c9ea7b55 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alex@botch2.(none)>
+Date: Tue, 19 Feb 2008 20:11:19 -0500
+Subject: [PATCH] RADEON: restore clock gating and CP clock errata on VT switch
+
+This may help people with hangs on resume
+---
+ src/radeon_driver.c | 11 +++++++++++
+ 1 files changed, 11 insertions(+), 0 deletions(-)
+
+diff --git a/src/radeon_driver.c b/src/radeon_driver.c
+index 9c5fce6..abf7d5c 100644
+--- a/src/radeon_driver.c
++++ b/src/radeon_driver.c
+@@ -4906,6 +4906,17 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
+ /* Makes sure the engine is idle before doing anything */
+ RADEONWaitForIdleMMIO(pScrn);
+
++ if (info->IsMobility && !IS_AVIVO_VARIANT) {
++ if (xf86ReturnOptValBool(info->Options, OPTION_DYNAMIC_CLOCKS, FALSE)) {
++ RADEONSetDynamicClock(pScrn, 1);
++ } else {
++ RADEONSetDynamicClock(pScrn, 0);
++ }
++ }
++
++ if (IS_R300_VARIANT || IS_RV100_VARIANT)
++ RADEONForceSomeClocks(pScrn);
++
+ pScrn->vtSema = TRUE;
+ for (i = 0; i < xf86_config->num_crtc; i++) {
+ xf86CrtcPtr crtc = xf86_config->crtc[i];
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch
new file mode 100644
index 000000000000..b92a3a649bd5
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0005-R100-fix-render-accel-for-transforms.patch
@@ -0,0 +1,77 @@
+From b5bd442b60dbc72fe4c1e928ab864aeb0fd7a3cb Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alex@botch2.(none)>
+Date: Tue, 19 Feb 2008 20:47:40 -0500
+Subject: [PATCH] R100: fix render accel for transforms
+
+Not sure why we had a separate broken path for r100 vertex
+submission.
+---
+ src/radeon_exa_render.c | 38 ++++++++++++--------------------------
+ 1 files changed, 12 insertions(+), 26 deletions(-)
+
+diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
+index 6003587..da1fa47 100644
+--- a/src/radeon_exa_render.c
++++ b/src/radeon_exa_render.c
+@@ -1103,7 +1103,6 @@ static void FUNC_NAME(RadeonComposite)(PixmapPtr pDst,
+ int w, int h)
+ {
+ RINFO_FROM_SCREEN(pDst->drawable.pScreen);
+- int srcXend, srcYend, maskXend, maskYend;
+ int vtx_count;
+ xPointFixed srcTopLeft, srcTopRight, srcBottomLeft, srcBottomRight;
+ xPointFixed maskTopLeft, maskTopRight, maskBottomLeft, maskBottomRight;
+@@ -1114,11 +1113,6 @@ static void FUNC_NAME(RadeonComposite)(PixmapPtr pDst,
+ /* ErrorF("RadeonComposite (%d,%d) (%d,%d) (%d,%d) (%d,%d)\n",
+ srcX, srcY, maskX, maskY,dstX, dstY, w, h); */
+
+- srcXend = srcX + w;
+- srcYend = srcY + h;
+- maskXend = maskX + w;
+- maskYend = maskY + h;
+-
+ srcTopLeft.x = IntToxFixed(srcX);
+ srcTopLeft.y = IntToxFixed(srcY);
+ srcTopRight.x = IntToxFixed(srcX + w);
+@@ -1202,26 +1196,18 @@ static void FUNC_NAME(RadeonComposite)(PixmapPtr pDst,
+ }
+ #endif
+
+- if (info->texW[0] == 1 && info->texH[0] == 1 &&
+- info->texW[1] == 1 && info->texH[1] == 1) {
+- VTX_OUT(dstX, dstY, srcX, srcY, maskX, maskY);
+- VTX_OUT(dstX, dstY + h, srcX, srcYend, maskX, maskYend);
+- VTX_OUT(dstX + w, dstY + h, srcXend, srcYend, maskXend, maskYend);
+- VTX_OUT(dstX + w, dstY, srcXend, srcY, maskXend, maskY);
+- } else {
+- VTX_OUT((float)dstX, (float)dstY,
+- xFixedToFloat(srcTopLeft.x) / info->texW[0], xFixedToFloat(srcTopLeft.y) / info->texH[0],
+- xFixedToFloat(maskTopLeft.x) / info->texW[1], xFixedToFloat(maskTopLeft.y) / info->texH[1]);
+- VTX_OUT((float)dstX, (float)(dstY + h),
+- xFixedToFloat(srcBottomLeft.x) / info->texW[0], xFixedToFloat(srcBottomLeft.y) / info->texH[0],
+- xFixedToFloat(maskBottomLeft.x) / info->texW[1], xFixedToFloat(maskBottomLeft.y) / info->texH[1]);
+- VTX_OUT((float)(dstX + w), (float)(dstY + h),
+- xFixedToFloat(srcBottomRight.x) / info->texW[0], xFixedToFloat(srcBottomRight.y) / info->texH[0],
+- xFixedToFloat(maskBottomRight.x) / info->texW[1], xFixedToFloat(maskBottomRight.y) / info->texH[1]);
+- VTX_OUT((float)(dstX + w), (float)dstY,
+- xFixedToFloat(srcTopRight.x) / info->texW[0], xFixedToFloat(srcTopRight.y) / info->texH[0],
+- xFixedToFloat(maskTopRight.x) / info->texW[1], xFixedToFloat(maskTopRight.y) / info->texH[1]);
+- }
++ VTX_OUT((float)dstX, (float)dstY,
++ xFixedToFloat(srcTopLeft.x) / info->texW[0], xFixedToFloat(srcTopLeft.y) / info->texH[0],
++ xFixedToFloat(maskTopLeft.x) / info->texW[1], xFixedToFloat(maskTopLeft.y) / info->texH[1]);
++ VTX_OUT((float)dstX, (float)(dstY + h),
++ xFixedToFloat(srcBottomLeft.x) / info->texW[0], xFixedToFloat(srcBottomLeft.y) / info->texH[0],
++ xFixedToFloat(maskBottomLeft.x) / info->texW[1], xFixedToFloat(maskBottomLeft.y) / info->texH[1]);
++ VTX_OUT((float)(dstX + w), (float)(dstY + h),
++ xFixedToFloat(srcBottomRight.x) / info->texW[0], xFixedToFloat(srcBottomRight.y) / info->texH[0],
++ xFixedToFloat(maskBottomRight.x) / info->texW[1], xFixedToFloat(maskBottomRight.y) / info->texH[1]);
++ VTX_OUT((float)(dstX + w), (float)dstY,
++ xFixedToFloat(srcTopRight.x) / info->texW[0], xFixedToFloat(srcTopRight.y) / info->texH[0],
++ xFixedToFloat(maskTopRight.x) / info->texW[1], xFixedToFloat(maskTopRight.y) / info->texH[1]);
+
+ if (IS_R300_VARIANT) {
+ OUT_ACCEL_REG(R300_RB3D_DSTCACHE_CTLSTAT, 0xA);
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch
new file mode 100644
index 000000000000..26af81fe7143
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch
@@ -0,0 +1,25 @@
+From 1d0e9ab8b9451101b1b91943546f6c5833c21b3f Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Michel=20D=C3=A4nzer?= <michel@tungstengraphics.com>
+Date: Wed, 20 Feb 2008 10:21:49 +0100
+Subject: [PATCH] radeon: Fix typo flagged by gcc -Wall.
+
+---
+ src/radeon_output.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/radeon_output.c b/src/radeon_output.c
+index e65e269..48cac7d 100644
+--- a/src/radeon_output.c
++++ b/src/radeon_output.c
+@@ -393,7 +393,7 @@ void RADEONConnectorFindMonitor(ScrnInfoPtr pScrn, xf86OutputPtr output)
+ /* panel is probably busted or not connected */
+ if ((radeon_output->MonType == MT_LCD) &&
+ ((radeon_output->PanelXRes == 0) || (radeon_output->PanelYRes == 0)))
+- radeon_output->MonType == MT_NONE;
++ radeon_output->MonType = MT_NONE;
+
+ if (output->MonInfo) {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "EDID data from the display on output: %s ----------------------\n",
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch
new file mode 100644
index 000000000000..137a0df293bc
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch
@@ -0,0 +1,76 @@
+From 3327a681e21101cc6f6e162f4e29f9937b69ccc3 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alex@cube.(none)>
+Date: Fri, 22 Feb 2008 17:05:56 -0500
+Subject: [PATCH] ATOM: properly set up DDIA output on RS6xx boards
+
+---
+ src/atombios_output.c | 39 ++++++++++++++++++++++++++++++++++++---
+ 1 files changed, 36 insertions(+), 3 deletions(-)
+
+diff --git a/src/atombios_output.c b/src/atombios_output.c
+index 6c638b1..07d212f 100644
+--- a/src/atombios_output.c
++++ b/src/atombios_output.c
+@@ -235,6 +235,35 @@ atombios_external_tmds_setup(xf86OutputPtr output, DisplayModePtr mode)
+ }
+
+ static int
++atombios_ddia_setup(xf86OutputPtr output, DisplayModePtr mode)
++{
++ RADEONInfoPtr info = RADEONPTR(output->scrn);
++ DVO_ENCODER_CONTROL_PS_ALLOCATION disp_data;
++ AtomBiosArgRec data;
++ unsigned char *space;
++
++ disp_data.sDVOEncoder.ucAction = ATOM_ENABLE;
++ disp_data.sDVOEncoder.usPixelClock = mode->Clock / 10;
++
++ if (mode->Clock > 165000)
++ disp_data.sDVOEncoder.usDevAttr.sDigAttrib.ucAttribute = PANEL_ENCODER_MISC_DUAL;
++ else
++ disp_data.sDVOEncoder.usDevAttr.sDigAttrib.ucAttribute = 0;
++
++ data.exec.index = GetIndexIntoMasterTable(COMMAND, DVOEncoderControl);
++ data.exec.dataSpace = (void *)&space;
++ data.exec.pspace = &disp_data;
++
++ if (RHDAtomBiosFunc(info->atomBIOS->scrnIndex, info->atomBIOS, ATOMBIOS_EXEC, &data) == ATOM_SUCCESS) {
++ ErrorF("DDIA setup success\n");
++ return ATOM_SUCCESS;
++ }
++
++ ErrorF("DDIA setup failed\n");
++ return ATOM_NOT_IMPLEMENTED;
++}
++
++static int
+ atombios_output_tmds1_setup(xf86OutputPtr output, DisplayModePtr mode)
+ {
+ RADEONInfoPtr info = RADEONPTR(output->scrn);
+@@ -536,6 +565,7 @@ atombios_output_mode_set(xf86OutputPtr output,
+ DisplayModePtr adjusted_mode)
+ {
+ RADEONOutputPrivatePtr radeon_output = output->driver_private;
++ RADEONInfoPtr info = RADEONPTR(output->scrn);
+
+ atombios_output_scaler_setup(output, mode);
+ atombios_set_output_crtc_source(output);
+@@ -551,9 +581,12 @@ atombios_output_mode_set(xf86OutputPtr output,
+ } else if (radeon_output->MonType == MT_DFP) {
+ if (radeon_output->devices & ATOM_DEVICE_DFP1_SUPPORT)
+ atombios_output_tmds1_setup(output, adjusted_mode);
+- else if (radeon_output->devices & ATOM_DEVICE_DFP2_SUPPORT)
+- atombios_external_tmds_setup(output, adjusted_mode);
+- else if (radeon_output->devices & ATOM_DEVICE_DFP3_SUPPORT)
++ else if (radeon_output->devices & ATOM_DEVICE_DFP2_SUPPORT) {
++ if (info->IsIGP)
++ atombios_ddia_setup(output, adjusted_mode);
++ else
++ atombios_external_tmds_setup(output, adjusted_mode);
++ } else if (radeon_output->devices & ATOM_DEVICE_DFP3_SUPPORT)
+ atombios_output_tmds2_setup(output, adjusted_mode);
+ } else if (radeon_output->MonType == MT_LCD) {
+ if (radeon_output->devices & ATOM_DEVICE_LCD1_SUPPORT)
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch
new file mode 100644
index 000000000000..f8a78ee4e5ee
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch
@@ -0,0 +1,70 @@
+From a7b5c3bb74fc4de5e38a75ac31656445ce823464 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alex@cube.(none)>
+Date: Fri, 22 Feb 2008 19:35:11 -0500
+Subject: [PATCH] RS6xx: fix DDC on DDIA output (usually HDMI port)
+
+---
+ src/radeon_atombios.c | 6 +++++-
+ src/radeon_output.c | 3 ++-
+ src/radeon_probe.h | 3 ++-
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
+index ddd332f..fbe937d 100644
+--- a/src/radeon_atombios.c
++++ b/src/radeon_atombios.c
+@@ -1759,6 +1759,10 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn)
+ (i == ATOM_DEVICE_TV2_INDEX) ||
+ (i == ATOM_DEVICE_CV_INDEX))
+ info->BiosConnector[i].ddc_i2c.valid = FALSE;
++ else if ((i == ATOM_DEVICE_DFP3_INDEX) && info->IsIGP)
++ /* DDIA port uses gpio entry 3 */
++ info->BiosConnector[i].ddc_i2c =
++ RADEONLookupGPIOLineForDDC(pScrn, 3);
+ else
+ info->BiosConnector[i].ddc_i2c =
+ RADEONLookupGPIOLineForDDC(pScrn, ci.sucI2cId.sbfAccess.bfI2C_LineMux);
+@@ -1772,7 +1776,7 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn)
+ info->BiosConnector[i].TMDSType = TMDS_EXT;
+ } else if (i == ATOM_DEVICE_DFP3_INDEX) {
+ if (info->IsIGP)
+- info->BiosConnector[i].TMDSType = TMDS_EXT;
++ info->BiosConnector[i].TMDSType = TMDS_DDIA;
+ else
+ info->BiosConnector[i].TMDSType = TMDS_LVTMA;
+ } else
+diff --git a/src/radeon_output.c b/src/radeon_output.c
+index 48cac7d..62cc5d4 100644
+--- a/src/radeon_output.c
++++ b/src/radeon_output.c
+@@ -74,11 +74,12 @@ const RADEONMonitorType MonTypeID[10] = {
+ MT_DP
+ };
+
+-const char *TMDSTypeName[4] = {
++const char *TMDSTypeName[5] = {
+ "None",
+ "Internal",
+ "External",
+ "LVTMA",
++ "DDIA"
+ };
+
+ const char *DACTypeName[4] = {
+diff --git a/src/radeon_probe.h b/src/radeon_probe.h
+index a3cf1fc..9c1bdc5 100644
+--- a/src/radeon_probe.h
++++ b/src/radeon_probe.h
+@@ -103,7 +103,8 @@ typedef enum
+ TMDS_NONE = 0,
+ TMDS_INT = 1,
+ TMDS_EXT = 2,
+- TMDS_LVTMA = 3
++ TMDS_LVTMA = 3,
++ TMDS_DDIA = 4
+ } RADEONTmdsType;
+
+ typedef enum
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch b/x11-drivers/xf86-video-ati/files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch
new file mode 100644
index 000000000000..3589a59009cd
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/files/6.8.0/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch
@@ -0,0 +1,32 @@
+From 5e3b21284482df9974c9a58f248f0100def2bb0c Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alex@samba.(none)>
+Date: Wed, 19 Mar 2008 19:15:05 -0400
+Subject: [PATCH] Disable the setting of HARDWARE_CURSOR_BIT_ORDER_MSBFIRST
+
+See bug 11796
+---
+ src/radeon_cursor.c | 8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
+index 0f7e668..de64dee 100644
+--- a/src/radeon_cursor.c
++++ b/src/radeon_cursor.c
+@@ -346,14 +346,6 @@ Bool RADEONCursorInit(ScreenPtr pScreen)
+
+ return xf86_cursors_init (pScreen, CURSOR_WIDTH, CURSOR_HEIGHT,
+ (HARDWARE_CURSOR_TRUECOLOR_AT_8BPP |
+-#if X_BYTE_ORDER == X_BIG_ENDIAN
+- /* this is a lie --
+- * HARDWARE_CURSOR_BIT_ORDER_MSBFIRST
+- * actually inverts the bit order, so
+- * this switches to LSBFIRST
+- */
+- HARDWARE_CURSOR_BIT_ORDER_MSBFIRST |
+-#endif
+ HARDWARE_CURSOR_AND_SOURCE_WITH_MASK |
+ HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_1 |
+ HARDWARE_CURSOR_ARGB));
+--
+1.5.4.5
+
diff --git a/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild b/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild
index df6ecd0e86e1..f00cf02295d6 100644
--- a/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild
+++ b/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild,v 1.1 2008/02/19 08:22:44 dberkholz Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-6.8.0.ebuild,v 1.2 2008/04/10 07:36:24 dberkholz Exp $
# Must be before x-modular eclass is inherited
#SNAPSHOT="yes"
@@ -28,6 +28,18 @@ DEPEND="${RDEPEND}
CONFIGURE_OPTIONS="$(use_enable dri)"
+PATCHES="
+ ${FILESDIR}/${PV}/0001-Bump-CRTC-size-limits-on-AVIVO-chips-so-30-displays.patch
+ ${FILESDIR}/${PV}/0002-RADEON-update-man-page-with-supported-chips.patch
+ ${FILESDIR}/${PV}/0003-RADEON-fix-DDC-types-5-and-6.patch
+ ${FILESDIR}/${PV}/0004-RADEON-restore-clock-gating-and-CP-clock-errata-on.patch
+ ${FILESDIR}/${PV}/0005-R100-fix-render-accel-for-transforms.patch
+ ${FILESDIR}/${PV}/0006-radeon-Fix-typo-flagged-by-gcc-Wall.patch
+ ${FILESDIR}/${PV}/0007-ATOM-properly-set-up-DDIA-output-on-RS6xx-boards.patch
+ ${FILESDIR}/${PV}/0008-RS6xx-fix-DDC-on-DDIA-output-usually-HDMI-port.patch
+ ${FILESDIR}/${PV}/0134-Disable-the-setting-of-HARDWARE_CURSOR_BIT_ORDER_MSB.patch
+ "
+
pkg_setup() {
if use dri && ! built_with_use x11-base/xorg-server dri; then
die "Build x11-base/xorg-server with USE=dri."