xserver-xorg-video-ati: Changes to 'debian-experimental'
configure.ac | 2 +-
debian/changelog | 7 +++++++
man/radeon.man | 20 +++++++++++++++-----
src/Makefile.am | 1 +
src/atombios_output.c | 15 +++++++++++----
src/radeon_atombios.c | 14 ++++++++++----
src/radeon_dri.c | 11 +++++++++--
src/radeon_exa_render.c | 22 +++++++++++++++-------
8 files changed, 69 insertions(+), 23 deletions(-)
New commits:
commit 37d2e492b4d933ea326b3106091c2a853461bd7d
Author: Brice Goglin <bgoglin@debian.org>
Date: Wed Jan 7 09:30:26 2009 +0100
New upstream release
diff --git a/debian/changelog b/debian/changelog
index 8c5c53b..ccfd8bf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-ati (1:6.10.0-1) experimental; urgency=low
+
+ * New upstream release.
+ + Add AGP quirk for Fujitsu-Siemens E8010, closes: #510208.
+
+ -- Brice Goglin <bgoglin@debian.org> Wed, 07 Jan 2009 09:23:15 +0100
+
xserver-xorg-video-ati (1:6.9.0.91-1) experimental; urgency=low
* New upstream release candidate.
commit a0dd5d7ee3f038a9bfe051db8dbfac4934a81581
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Tue Jan 6 19:08:28 2009 -0500
Bump version for release
diff --git a/configure.ac b/configure.ac
index 4b9c6b1..19f6f2a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-ati],
- 6.9.0.91,
+ 6.10.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-ati)
commit e23baa2fa8b25b68cd473aec7a3d8cf3ee7b0ea8
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Tue Jan 6 14:38:06 2009 -0500
R100: Fix typo in e55598cc1b35d398c9eb2c3946df71456775f621
Noticed by Andreas Stenglein
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 39c987c..50446ca 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -324,7 +324,7 @@ static Bool R100CheckCompositeTexture(PicturePtr pPict, int unit)
* see 197a62704742a4a19736c2637ac92d1dc5ab34ed
*/
- if ((w > 2048) || (h > 2048))
+ if ((w > 2047) || (h > 2047))
RADEON_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h));
for (i = 0; i < sizeof(R100TexFormats) / sizeof(R100TexFormats[0]); i++) {
commit d5cb24075928690377fd2dfaa32abfebff9990df
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Sun Jan 4 21:04:52 2009 -0500
ATOM: add format rev 2 for digitial command tables
should fix bug 18911
diff --git a/src/atombios_output.c b/src/atombios_output.c
index c111d76..eb52f5c 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -298,6 +298,7 @@ atombios_output_digital_setup(xf86OutputPtr output, int device, DisplayModePtr m
switch (major) {
case 0:
case 1:
+ case 2:
switch (minor) {
case 1:
disp_data.ucMisc = 0;
commit 1813456af3def38c6f53103054976f3092491746
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Sun Jan 4 21:01:05 2009 -0500
ATOM: fail on more tables with unhandled revisions
diff --git a/src/atombios_output.c b/src/atombios_output.c
index 3030a10..c111d76 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -356,8 +356,14 @@ atombios_output_digital_setup(xf86OutputPtr output, int device, DisplayModePtr m
}
data.exec.pspace = &disp_data2;
break;
+ default:
+ ErrorF("Unknown table version\n");
+ exit(-1);
}
break;
+ default:
+ ErrorF("Unknown table version\n");
+ exit(-1);
}
data.exec.index = index;
@@ -479,7 +485,7 @@ atombios_output_dig_transmitter_setup(xf86OutputPtr output, int device, DisplayM
int major, minor;
memset(&disp_data,0, sizeof(disp_data));
- if (IS_DCE32_VARIANT)
+ if (IS_DCE32_VARIANT)
index = GetIndexIntoMasterTable(COMMAND, UNIPHYTransmitterControl);
else {
switch (device) {
@@ -874,7 +880,7 @@ atombios_set_output_crtc_source(xf86OutputPtr output)
/*ErrorF("select crtc source table is %d %d\n", major, minor);*/
switch(major) {
- case 1: {
+ case 1:
switch(minor) {
case 0:
case 1:
@@ -959,9 +965,9 @@ atombios_set_output_crtc_source(xf86OutputPtr output)
break;
}
break;
- }
default:
- break;
+ ErrorF("Unknown table version\n");
+ exit(-1);
}
data.exec.index = index;
commit 90ce00a3dbf37833a71db234372695460c8f0342
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Sun Jan 4 19:13:53 2009 -0500
AGP: Print both device and subsytem pci ids for agp
helpful for adding quirks with libpciaccess
diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index f3c510b..596c1c0 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -866,10 +866,12 @@ static Bool RADEONSetAgpMode(RADEONInfoPtr info, ScreenPtr pScreen)
} /* Don't mention this otherwise, so that people don't get funny ideas */
xf86DrvMsg(pScreen->myNum, X_INFO,
- "[agp] Mode 0x%08lx [AGP 0x%04x/0x%04x; Card 0x%04x/0x%04x]\n",
+ "[agp] Mode 0x%08lx [AGP 0x%04x/0x%04x; Card 0x%04x/0x%04x 0x%04x/0x%04x]\n",
mode, vendor, device,
PCI_DEV_VENDOR_ID(info->PciInfo),
- PCI_DEV_DEVICE_ID(info->PciInfo));
+ PCI_DEV_DEVICE_ID(info->PciInfo),
+ PCI_SUB_VENDOR_ID(info->PciInfo),
+ PCI_SUB_DEVICE_ID(info->PciInfo));
if (drmAgpEnable(info->dri->drmFD, mode) < 0) {
xf86DrvMsg(pScreen->myNum, X_ERROR, "[agp] AGP not enabled\n");
commit 006d736d890a6b2f1d7eb8ee20ccf467a939516f
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Sun Jan 4 19:08:37 2009 -0500
Another AGP quirk
debian bug 510208
diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index c0200f1..f3c510b 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -750,6 +750,8 @@ static radeon_agpmode_quirk radeon_agpmode_quirk_list[] = {
{ PCI_VENDOR_INTEL,0x3580, PCI_VENDOR_ATI,0x4e50, 0x1043,0x1942, 1 },
/* Intel 82852/82855 host bridge / Mobility FireGL 9000 R250 Needs AGPMode 1 (lp #296617) */
{ PCI_VENDOR_INTEL,0x3580, PCI_VENDOR_ATI,0x4c66, 0x1028,0x0149, 1 },
+ /* Intel 82852/82855 host bridge / Mobility 9600/9700 Needs AGPMode 1 (deb #510208) */
+ { PCI_VENDOR_INTEL,0x3580, PCI_VENDOR_ATI,0x4e50, 0x10cf,0x127f, 1 },
/* ASRock K7VT4A+ AGP 8x / ATI Radeon 9250 AGP Needs AGPMode 4 (LP: #133192) */
{ 0x1849,0x3189, PCI_VENDOR_ATI,0x5960, 0x1787, 0x5960, 4},
commit c39ca66a7e216b7492fc5e3680ac535831cfb9a1
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Tue Dec 30 19:05:58 2008 -0500
R2xx: add another AGP quirk
from http://www.phoronix.com/forums/showthread.php?t=14626
diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index 7c317e6..c0200f1 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -763,6 +763,9 @@ static radeon_agpmode_quirk radeon_agpmode_quirk_list[] = {
/* VIA K8M800 Host Bridge / RV280 [Radeon 9200 PRO] Needs AGPMode 4 (fdo #12544) */
{ 0x1106,0x0204, PCI_VENDOR_ATI,0x5960, 0x17af,0x2020, 4 },
+ /* ATI Host Bridge / RV280 [M9+] Needs AGPMode 1 (phoronix forum) */
+ { 0x1002,0xcbb2, PCI_VENDOR_ATI,0x5c61, 0x104d,0x8175, 1 },
+
{ 0, 0, 0, 0, 0, 0, 0 },
};
commit 877be1b268f275b8ad83d5e245a0f0d3b1a05091
Author: Fabio <fabio.ped@libero.it>
Date: Mon Dec 29 18:11:10 2008 -0500
man page updates
bug 19329
diff --git a/man/radeon.man b/man/radeon.man
index 19ffb94..3bc3a56 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -25,14 +25,17 @@ Full support for 8, 15, 16 and 24 bit pixel depths;
RandR 1.2 and RandR 1.3 support;
.TP
\(bu
-TV Out support (only on R/RV/RS1xx, R/RV/RS2xx, R/RV/RS3xx);
+TV-out support (only on R/RV/RS1xx, R/RV/RS2xx, R/RV/RS3xx. Experimental
+support on R/RV5xx, R/RV6xx, and R/RV7xx through the
+.B ATOMTvOut
+option);
.TP
\(bu
Full EXA 2D acceleration (not supported on R/RV6xx and R/RV/RS7xx);
.TP
\(bu
Full XAA 2D acceleration (not supported on R/RV6xx and R/RV/RS7xx. XAA Render
-acceleration supported only on R/RV100, R/RV/RS2xx and RS300);
+acceleration supported only on R/RV100, R/RV/RS2xx and RS3xx);
.TP
\(bu
Textured XVideo acceleration (not supported on R/RV6xx and R/RV/RS7xx.
@@ -151,6 +154,12 @@ Radeon HD 3450/3470
.B RS780
Radeon HD 3100/3200/3300
.TP 12
+.B RV710
+Radeon HD 4350/4550
+.TP 12
+.B RV730
+Radeon HD 4650/4670
+.TP 12
.B RV770
Radeon HD 4850/4870
.PD
@@ -325,7 +334,7 @@ parameter may be specified as a float value with standard suffixes like
.BI "Option \*qRenderAccel\*q \*q" boolean \*q
Enables or disables hardware Render acceleration. It is supported on all
Radeon cards when using EXA acceleration and on Radeon R/RV/RS1xx,
-R/RV/RS2xx and RS300 when usig XAA. The default is to
+R/RV/RS2xx and RS3xx when usig XAA. The default is to
.B enable
Render acceleration.
.TP
@@ -552,8 +561,9 @@ The default is
.B off.
.TP
.BI "Option \*qATOMTvOut\*q \*q" boolean \*q
-This option enables experimental TV-out support for r500 and r600 atombios chips.
-tv-out is experimental and may not function on these chips as well as hoped for.
+This option enables experimental TV-out support for R/RV5xx, R/RV6xx, and R/RV7xx
+atombios chips. TV-out is experimental and may not function on these chips as
+well as hoped for.
The default is
.B off.
commit 837f7e8a48ea35d21de24b620830a2c6db854861
Author: Dave Airlie <airlied@linux.ie>
Date: Tue Dec 30 06:50:54 2008 +1000
atombios: endian fix in r600 object table handling
This fixes the r600 object table on r600.
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index 43f2c18..1ca9f86 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -1644,8 +1644,8 @@ RADEONGetATOMConnectorInfoFromBIOSObject (ScrnInfoPtr pScrn)
for (j = 0; j < SrcDstTable->ucNumberOfSrc; j++) {
uint8_t sobj_id;
- sobj_id = (SrcDstTable->usSrcObjectID[j] & OBJECT_ID_MASK) >> OBJECT_ID_SHIFT;
- ErrorF("src object id %04x %d\n", SrcDstTable->usSrcObjectID[j], sobj_id);
+ sobj_id = (le16_to_cpu(SrcDstTable->usSrcObjectID[j]) & OBJECT_ID_MASK) >> OBJECT_ID_SHIFT;
+ ErrorF("src object id %04x %d\n", le16_to_cpu(SrcDstTable->usSrcObjectID[j]), sobj_id);
switch(sobj_id) {
case ENCODER_OBJECT_ID_INTERNAL_LVDS:
commit 45f8b911659dba7f43b9b70bde4b9c3be51b0b5b
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Mon Dec 29 10:25:33 2008 -0500
RS600: remove gpio quirk for ddc
Doesn't seem necessary on RS600. I'll try and find out more.
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index b674a41..43f2c18 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -2049,8 +2049,7 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn)
(i == ATOM_DEVICE_TV2_INDEX) ||
(i == ATOM_DEVICE_CV_INDEX))
info->BiosConnector[i].ddc_i2c.valid = FALSE;
- else if ((info->ChipFamily == CHIP_FAMILY_RS600) ||
- (info->ChipFamily == CHIP_FAMILY_RS690) ||
+ else if ((info->ChipFamily == CHIP_FAMILY_RS690) ||
(info->ChipFamily == CHIP_FAMILY_RS740)) {
/* IGP DFP ports use non-standard gpio entries */
if ((i == ATOM_DEVICE_DFP2_INDEX) || (i == ATOM_DEVICE_DFP3_INDEX))
commit e913990030c536427bfecdb7b3d1e18f1beb90d2
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Mon Dec 29 10:22:20 2008 -0500
Revert "radeon: maybe special handling only needed for DVI port not HDMI one."
This reverts commit c877450a75d3fd4a2f200af197c691669966f6f4.
This breaks RS690 setups. I think for now we just apply this quirk to
RS690/RS740. I'll follow up with the bios folks about RS600.
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index ce1ac03..b674a41 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -2052,9 +2052,8 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn)
else if ((info->ChipFamily == CHIP_FAMILY_RS600) ||
(info->ChipFamily == CHIP_FAMILY_RS690) ||
(info->ChipFamily == CHIP_FAMILY_RS740)) {
- /* IGP DVI ports use non-standard gpio entries - HDMI appears to
- * possibly be okay - radeonhd channel Dec 29th 2008 */
- if (i == ATOM_DEVICE_DFP2_INDEX)
+ /* IGP DFP ports use non-standard gpio entries */
+ if ((i == ATOM_DEVICE_DFP2_INDEX) || (i == ATOM_DEVICE_DFP3_INDEX))
info->BiosConnector[i].ddc_i2c =
RADEONLookupGPIOLineForDDC(pScrn, ci.sucI2cId.sbfAccess.bfI2C_LineMux + 1);
else
commit c877450a75d3fd4a2f200af197c691669966f6f4
Author: Dave Airlie <airlied@linux.ie>
Date: Mon Dec 29 09:05:45 2008 +1000
radeon: maybe special handling only needed for DVI port not HDMI one.
fixes ciaranm's rs600 board on radeon DDC
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index b674a41..ce1ac03 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -2052,8 +2052,9 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable (ScrnInfoPtr pScrn)
else if ((info->ChipFamily == CHIP_FAMILY_RS600) ||
(info->ChipFamily == CHIP_FAMILY_RS690) ||
(info->ChipFamily == CHIP_FAMILY_RS740)) {
- /* IGP DFP ports use non-standard gpio entries */
- if ((i == ATOM_DEVICE_DFP2_INDEX) || (i == ATOM_DEVICE_DFP3_INDEX))
+ /* IGP DVI ports use non-standard gpio entries - HDMI appears to
+ * possibly be okay - radeonhd channel Dec 29th 2008 */
+ if (i == ATOM_DEVICE_DFP2_INDEX)
info->BiosConnector[i].ddc_i2c =
RADEONLookupGPIOLineForDDC(pScrn, ci.sucI2cId.sbfAccess.bfI2C_LineMux + 1);
else
commit 2a9bc6be3246ec230b181391221e3a46beb94a23
Author: Dave Airlie <airlied@linux.ie>
Date: Mon Dec 29 09:05:16 2008 +1000
radeon: a-bit motherboard has no DVI output
thanks to ciaranm for finding this.
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index 3cd7eae..b674a41 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -1530,6 +1530,13 @@ static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int index)
info->BiosConnector[index].ConnectorType = CONNECTOR_DVI_D;
}
}
+ /* a-bit f-i90hd - ciaranm on #radeonhd - this board has no DVI */
+ if ((info->Chipset == PCI_CHIP_RS600_7941) &&
+ (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x147b) &&
+ (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x2412)) {
+ if (info->BiosConnector[index].ConnectorType == CONNECTOR_DVI_I)
+ info->BiosConnector[index].valid = FALSE;
+ }
/* Falcon NW laptop lists vga ddc line for LVDS */
if ((info->Chipset == PCI_CHIP_RV410_5653) &&
commit eccf3fed2be54f5c02fefef32e39c4084acbbe22
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Fri Dec 26 19:51:58 2008 -0500
Make sure to include radeon_drm.h in the tarball
diff --git a/src/Makefile.am b/src/Makefile.am
index a13bfad..c15cc30 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -134,6 +134,7 @@ EXTRA_DIST = \
generic_bus.h \
radeon_commonfuncs.c \
radeon_dri.h \
+ radeon_drm.h \
radeon_exa_render.c \
radeon_exa_funcs.c \
radeon.h \
commit e55598cc1b35d398c9eb2c3946df71456775f621
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Fri Dec 26 19:31:55 2008 -0500
R2xx EXA: limit composite to 2047 like r1xx
See bug 19269
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index c285109..39c987c 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -324,7 +324,7 @@ static Bool R100CheckCompositeTexture(PicturePtr pPict, int unit)
* see 197a62704742a4a19736c2637ac92d1dc5ab34ed
*/
- if ((w > 2047) || (h > 2047))
+ if ((w > 2048) || (h > 2048))
RADEON_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h));
for (i = 0; i < sizeof(R100TexFormats) / sizeof(R100TexFormats[0]); i++) {
@@ -643,7 +643,11 @@ static Bool R200CheckCompositeTexture(PicturePtr pPict, int unit)
int h = pPict->pDrawable->height;
int i;
- if ((w > 2048) || (h > 2048))
+ /* r200 limit should be 2048, there are issues with 2048
+ * see bug 19269
+ */
+
+ if ((w > 2047) || (h > 2047))
RADEON_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h));
for (i = 0; i < sizeof(R200TexFormats) / sizeof(R200TexFormats[0]); i++)
@@ -768,10 +772,14 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP
if (!pSrcPicture->pDrawable)
return FALSE;
+ /* r200 limit should be 2048, there are issues with 2048
+ * see bug 19269
+ */
+
pSrcPixmap = RADEONGetDrawablePixmap(pSrcPicture->pDrawable);
- if (pSrcPixmap->drawable.width > 2048 ||
- pSrcPixmap->drawable.height > 2048) {
+ if (pSrcPixmap->drawable.width > 2047 ||
+ pSrcPixmap->drawable.height > 2047) {
RADEON_FALLBACK(("Source w/h too large (%d,%d).\n",
pSrcPixmap->drawable.width,
pSrcPixmap->drawable.height));
@@ -779,8 +787,8 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP
pDstPixmap = RADEONGetDrawablePixmap(pDstPicture->pDrawable);
- if (pDstPixmap->drawable.width > 2048 ||
- pDstPixmap->drawable.height > 2048) {
+ if (pDstPixmap->drawable.width > 2047 ||
+ pDstPixmap->drawable.height > 2047) {
RADEON_FALLBACK(("Dest w/h too large (%d,%d).\n",
pDstPixmap->drawable.width,
pDstPixmap->drawable.height));
@@ -789,8 +797,8 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP
if (pMaskPicture) {
PixmapPtr pMaskPixmap = RADEONGetDrawablePixmap(pMaskPicture->pDrawable);
- if (pMaskPixmap->drawable.width > 2048 ||
- pMaskPixmap->drawable.height > 2048) {
+ if (pMaskPixmap->drawable.width > 2047 ||
+ pMaskPixmap->drawable.height > 2047) {
RADEON_FALLBACK(("Mask w/h too large (%d,%d).\n",
pMaskPixmap->drawable.width,
pMaskPixmap->drawable.height));
Reply to: