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 <bgog...@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 <bgog...@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 <alexdeuc...@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 <alexdeuc...@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 <alexdeuc...@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 <alexdeuc...@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 <alexdeuc...@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 <alexdeuc...@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 <alexdeuc...@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....@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 <airl...@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 <alexdeuc...@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 <alexdeuc...@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 <airl...@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 <airl...@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 <alexdeuc...@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 <alexdeuc...@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)); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org