xserver-xorg-video-ati: Changes to 'debian-unstable'
0 files changed
New commits:
commit b1f005bf16064db62ae35d362f69250427a45b3b
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Sat Jul 25 14:19:38 2009 -0400
radeon: Set PCI/PCIE bus type properly per asic
- r1xx-rv350 chips have the old pci gart
- rv380+ chips have newer pcie gart
Select the right kind regardless of whether the user selects
PCI or PCIE.
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 83a3374..4efd272 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1932,7 +1932,6 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
}
}
-
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s card detected\n",
(info->cardType==CARD_PCI) ? "PCI" :
(info->cardType==CARD_PCIE) ? "PCIE" : "AGP");
@@ -1952,12 +1951,15 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
if (strcmp(s, "AGP") == 0) {
info->cardType = CARD_AGP;
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into AGP mode\n");
- } else if (strcmp(s, "PCI") == 0) {
- info->cardType = CARD_PCI;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI mode\n");
- } else if (strcmp(s, "PCIE") == 0) {
- info->cardType = CARD_PCIE;
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI Express mode\n");
+ } else if ((strcmp(s, "PCI") == 0) ||
+ (strcmp(s, "PCIE") == 0)) {
+ if (info->ChipFamily >= CHIP_FAMILY_RV380) {
+ info->cardType = CARD_PCIE;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI Express mode\n");
+ } else {
+ info->cardType = CARD_PCI;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI mode\n");
+ }
} else {
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"Invalid BusType option, using detected type\n");
commit a591ba2a45004bce9d1c51fd813edf05d249e50a
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Tue Jul 14 18:13:27 2009 -0400
Add an r420 AGP quirk
fixes bug 22726
diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index d37e0ae..77a3ff7 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -798,6 +798,9 @@ static radeon_agpmode_quirk radeon_agpmode_quirk_list[] = {
/* HP Host Bridge / R300 [FireGL X1] Needs AGPMode 2 (fdo #7770) */
{ PCI_VENDOR_HP,0x122e, PCI_VENDOR_ATI,0x4e47, PCI_VENDOR_ATI,0x0152, 2 },
+ /* nVidia Host Bridge / R420 [X800 Pro] Needs AGPMode 4 (fdo #22726) */
+ { 0x10de,0x00e1, PCI_VENDOR_ATI,0x4a49, PCI_VENDOR_ATI,0x0002, 4 },
+
{ 0, 0, 0, 0, 0, 0, 0 },
};
commit 2abbe22339552c799727433ab7f147b6dc621cbf
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Thu Jul 9 12:48:06 2009 -0400
RV280: another AGP quirk
fdo bug 12544
diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index af56d9f..d37e0ae 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -789,6 +789,8 @@ static radeon_agpmode_quirk radeon_agpmode_quirk_list[] = {
{ PCI_VENDOR_VIA,0x3189, PCI_VENDOR_ATI,0x5960, 0x1462,0x0380, 4 },
/* VIA VT8377 Host Bridge / RV280 Needs AGPMode 4 (ati ML) */
{ PCI_VENDOR_VIA,0x3189, PCI_VENDOR_ATI,0x5964, 0x148c,0x2073, 4 },
+ /* VIA VT8377 Host Bridge / RV280 Needs AGPMode 4 (fdo #12544) */
+ { PCI_VENDOR_VIA,0x3189, PCI_VENDOR_ATI,0x5964, 0x1043,0xc008, 4 },
/* ATI Host Bridge / RV280 [M9+] Needs AGPMode 1 (phoronix forum) */
{ PCI_VENDOR_ATI,0xcbb2, PCI_VENDOR_ATI,0x5c61, PCI_VENDOR_SONY,0x8175, 1 },
commit 9d285dbc55a45f9b852aa0c82a5aa572c5284da7
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Thu Jul 9 12:42:45 2009 -0400
RV280: Add an AGP quirk
lp bug 370205 via fdo bug 12544
diff --git a/src/radeon_dri.c b/src/radeon_dri.c
index 19f7abe..af56d9f 100644
--- a/src/radeon_dri.c
+++ b/src/radeon_dri.c
@@ -767,6 +767,8 @@ static radeon_agpmode_quirk radeon_agpmode_quirk_list[] = {
{ PCI_VENDOR_INTEL,0x3580, PCI_VENDOR_ATI,0x4e50, PCI_VENDOR_ASUS,0x1942, 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 },
+ /* Intel 82443BX/ZX/DX Host bridge / RV280 [Radeon 9200] Needs AGPMode 1 (lp #370205) */
+ { PCI_VENDOR_INTEL,0x7190, PCI_VENDOR_ATI,0x5961, 0x174b,0x7c13, 1 },
/* ASRock K7VT4A+ AGP 8x / ATI Radeon 9250 AGP Needs AGPMode 4 (lp #133192) */
{ 0x1849,0x3189, PCI_VENDOR_ATI,0x5960, 0x1787,0x5960, 4 },
commit e1a582fd40f22d88b94a591c6886fb1b2154c3df
Author: Fredrik Höglund <fredrik@kde.org>
Date: Mon Jun 29 22:38:26 2009 +0200
Check if the composite op is supported in R200CheckComposite.
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index effcd89..65197c0 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -803,6 +803,10 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP
TRACE;
+ /* Check for unsupported compositing operations. */
+ if (op >= sizeof(RadeonBlendOp) / sizeof(RadeonBlendOp[0]))
+ RADEON_FALLBACK(("Unsupported Composite op 0x%x\n", op));
+
if (!pSrcPicture->pDrawable)
return FALSE;
commit d75287b84e830a655f17060de8fea55777b6db55
Author: Roland Scheidegger <sroland@tungstengraphics.com>
Date: Sun Jun 28 16:54:32 2009 -0400
R6xx/R7xx: fix pixel centers
Make sure we are using GL mode (centers at 0.5) rather
than D3D mode (centers at 0.0). This also fixes fdo
bug 21963.
diff --git a/src/r6xx_accel.c b/src/r6xx_accel.c
index e9741cd..65834bf 100644
--- a/src/r6xx_accel.c
+++ b/src/r6xx_accel.c
@@ -974,7 +974,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
EREG(ib, PA_SU_POLY_OFFSET_FRONT_OFFSET, 0);
EREG(ib, PA_SU_LINE_CNTL, (8 << PA_SU_LINE_CNTL__WIDTH_shift)); /* Line width 1 pixel */
- EREG(ib, PA_SU_VTX_CNTL, ((2 << PA_SU_VTX_CNTL__ROUND_MODE_shift) |
+ EREG(ib, PA_SU_VTX_CNTL, ((2 << PA_SU_VTX_CNTL__ROUND_MODE_shift) | PIX_CENTER_bit |
(5 << QUANT_MODE_shift))); /* Round to Even, fixed point 1/256 */
EREG(ib, PA_SU_POLY_OFFSET_CLAMP, 0);
commit 2ba11f922321076027f0a08ec5bd079871ae73f8
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Sun Jun 28 16:20:10 2009 -0400
Add some missing M96 pci ids
fixes fdo bug 22404
diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index 17dc4f9..92ae397 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -354,7 +354,9 @@
#define PCI_CHIP_RV770_946B 0x946B
#define PCI_CHIP_RV770_947A 0x947A
#define PCI_CHIP_RV770_947B 0x947B
+#define PCI_CHIP_RV730_9480 0x9480
#define PCI_CHIP_RV730_9487 0x9487
+#define PCI_CHIP_RV730_9488 0x9488
#define PCI_CHIP_RV730_9489 0x9489
#define PCI_CHIP_RV730_948F 0x948F
#define PCI_CHIP_RV730_9490 0x9490
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index 007deec..5e78bda 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -355,7 +355,9 @@
"0x946B","RV770_946B","RV770",1,,,,,"ATI M98"
"0x947A","RV770_947A","RV770",1,,,,,"ATI M98"
"0x947B","RV770_947B","RV770",1,,,,,"ATI M98"
+"0x9480","RV730_9480","RV730",1,,,,,"ATI Mobility Radeon HD 4650"
"0x9487","RV730_9487","RV730",,,,,,"ATI Radeon RV730 (AGP)"
+"0x9488","RV730_9488","RV730",1,,,,,"ATI Mobility Radeon HD 4670"
"0x9489","RV730_9489","RV730",1,,,,,"ATI FirePro M5750"
"0x948F","RV730_948F","RV730",,,,,,"ATI Radeon RV730 (AGP)"
"0x9490","RV730_9490","RV730",,,,,,"ATI RV730XT [Radeon HD 4670]"
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
index 1527a60..bffe88e 100644
--- a/src/radeon_chipinfo_gen.h
+++ b/src/radeon_chipinfo_gen.h
@@ -274,7 +274,9 @@ RADEONCardInfo RADEONCards[] = {
{ 0x946B, CHIP_FAMILY_RV770, 1, 0, 0, 0, 0 },
{ 0x947A, CHIP_FAMILY_RV770, 1, 0, 0, 0, 0 },
{ 0x947B, CHIP_FAMILY_RV770, 1, 0, 0, 0, 0 },
+ { 0x9480, CHIP_FAMILY_RV730, 1, 0, 0, 0, 0 },
{ 0x9487, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
+ { 0x9488, CHIP_FAMILY_RV730, 1, 0, 0, 0, 0 },
{ 0x9489, CHIP_FAMILY_RV730, 1, 0, 0, 0, 0 },
{ 0x948F, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
{ 0x9490, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
diff --git a/src/radeon_chipset_gen.h b/src/radeon_chipset_gen.h
index 3288386..76966bf 100644
--- a/src/radeon_chipset_gen.h
+++ b/src/radeon_chipset_gen.h
@@ -274,7 +274,9 @@ static SymTabRec RADEONChipsets[] = {
{ PCI_CHIP_RV770_946B, "ATI M98" },
{ PCI_CHIP_RV770_947A, "ATI M98" },
{ PCI_CHIP_RV770_947B, "ATI M98" },
+ { PCI_CHIP_RV730_9480, "ATI Mobility Radeon HD 4650" },
{ PCI_CHIP_RV730_9487, "ATI Radeon RV730 (AGP)" },
+ { PCI_CHIP_RV730_9488, "ATI Mobility Radeon HD 4670" },
{ PCI_CHIP_RV730_9489, "ATI FirePro M5750" },
{ PCI_CHIP_RV730_948F, "ATI Radeon RV730 (AGP)" },
{ PCI_CHIP_RV730_9490, "ATI RV730XT [Radeon HD 4670]" },
diff --git a/src/radeon_pci_chipset_gen.h b/src/radeon_pci_chipset_gen.h
index 0a48ad7..4995b4b 100644
--- a/src/radeon_pci_chipset_gen.h
+++ b/src/radeon_pci_chipset_gen.h
@@ -274,7 +274,9 @@ PciChipsets RADEONPciChipsets[] = {
{ PCI_CHIP_RV770_946B, PCI_CHIP_RV770_946B, RES_SHARED_VGA },
{ PCI_CHIP_RV770_947A, PCI_CHIP_RV770_947A, RES_SHARED_VGA },
{ PCI_CHIP_RV770_947B, PCI_CHIP_RV770_947B, RES_SHARED_VGA },
+ { PCI_CHIP_RV730_9480, PCI_CHIP_RV730_9480, RES_SHARED_VGA },
{ PCI_CHIP_RV730_9487, PCI_CHIP_RV730_9487, RES_SHARED_VGA },
+ { PCI_CHIP_RV730_9488, PCI_CHIP_RV730_9488, RES_SHARED_VGA },
{ PCI_CHIP_RV730_9489, PCI_CHIP_RV730_9489, RES_SHARED_VGA },
{ PCI_CHIP_RV730_948F, PCI_CHIP_RV730_948F, RES_SHARED_VGA },
{ PCI_CHIP_RV730_9490, PCI_CHIP_RV730_9490, RES_SHARED_VGA },
diff --git a/src/radeon_pci_device_match_gen.h b/src/radeon_pci_device_match_gen.h
index f3fd3d9..b087239 100644
--- a/src/radeon_pci_device_match_gen.h
+++ b/src/radeon_pci_device_match_gen.h
@@ -274,7 +274,9 @@ static const struct pci_id_match radeon_device_match[] = {
ATI_DEVICE_MATCH( PCI_CHIP_RV770_946B, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV770_947A, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV770_947B, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_RV730_9480, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV730_9487, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_RV730_9488, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV730_9489, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV730_948F, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV730_9490, 0 ),
commit 6dd7659ef17cf400be94676bcaf6c115fd537439
Author: Markus Gapp <markus.gapp@gmx.net>
Date: Sat Jun 13 11:51:29 2009 -0400
Add quirk for asus hd3450 board
Fixes bug 22266
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index 3ab5fac..e740e59 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -1574,6 +1574,14 @@ static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int index)
info->BiosConnector[index].ConnectorType = CONNECTOR_DVI_D;
}
+ /* ASUS HD 3450 board lists the DVI port as HDMI */
+ if ((info->Chipset == PCI_CHIP_RV620_95C5) &&
+ (PCI_SUB_VENDOR_ID(info->PciInfo) == 0x1043) &&
+ (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x01e2)) {
+ if (info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_B)
+ info->BiosConnector[index].ConnectorType = CONNECTOR_DVI_D;
+ }
+
/* some BIOSes seem to report DAC on HDMI - usually this is a board with
* HDMI + VGA reporting as HDMI
*/
commit a00db22e52631ccbf5bbcbd8175802f9b3407521
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Thu Jun 4 09:57:22 2009 -0400
atom: connector quirk
Some r6xx cards have a VGA and an HDMI port with
a shared ddc line listed as an HDMI port with both
analog and digital encoders.
Fixes bug 19943
diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c
index 10158a8..3ab5fac 100644
--- a/src/radeon_atombios.c
+++ b/src/radeon_atombios.c
@@ -1566,12 +1566,6 @@ static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int index)
}
}
- /* some BIOSes seem to report DAC on HDMI - they hurt me with their lies */
- if ((info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_A) ||
- (info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_B)) {
- info->BiosConnector[index].devices &= ~(ATOM_DEVICE_CRT_SUPPORT);
- }
-
/* ASUS HD 3600 XT board lists the DVI port as HDMI */
if ((info->Chipset == PCI_CHIP_RV635_9598) &&
(PCI_SUB_VENDOR_ID(info->PciInfo) == 0x1043) &&
@@ -1580,6 +1574,18 @@ static void RADEONApplyATOMQuirks(ScrnInfoPtr pScrn, int index)
info->BiosConnector[index].ConnectorType = CONNECTOR_DVI_D;
}
+ /* some BIOSes seem to report DAC on HDMI - usually this is a board with
+ * HDMI + VGA reporting as HDMI
+ */
+ if ((info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_A) ||
+ (info->BiosConnector[index].ConnectorType == CONNECTOR_HDMI_TYPE_B)) {
+ if (info->BiosConnector[index].devices & (ATOM_DEVICE_CRT_SUPPORT)) {
+ info->BiosConnector[index].devices &= ~(ATOM_DEVICE_DFP_SUPPORT);
+ info->BiosConnector[index].ConnectorType = CONNECTOR_VGA;
+ info->BiosConnector[index].connector_object = 0;
+ } else
+ info->BiosConnector[index].devices &= ~(ATOM_DEVICE_CRT_SUPPORT);
+ }
}
commit 486684ba68bc54c54cf86a9e69d224a13bb0a00d
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Fri May 29 16:29:50 2009 -0400
Add RV740 (HD4770) support
Verified by ernstp on IRC
diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index 8b37d5b..17dc4f9 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -363,6 +363,11 @@
#define PCI_CHIP_RV730_949C 0x949C
#define PCI_CHIP_RV730_949E 0x949E
#define PCI_CHIP_RV730_949F 0x949F
+#define PCI_CHIP_RV740_94A0 0x94A0
+#define PCI_CHIP_RV740_94A1 0x94A1
+#define PCI_CHIP_RV740_94B1 0x94B1
+#define PCI_CHIP_RV740_94B3 0x94B3
+#define PCI_CHIP_RV740_94B5 0x94B5
#define PCI_CHIP_RV610_94C0 0x94C0
#define PCI_CHIP_RV610_94C1 0x94C1
#define PCI_CHIP_RV610_94C3 0x94C3
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index 51dafee..007deec 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -364,6 +364,11 @@
"0x949C","RV730_949C","RV730",,,,,,"ATI FirePro V7750 (FireGL)"
"0x949E","RV730_949E","RV730",,,,,,"ATI FirePro V5700 (FireGL)"
"0x949F","RV730_949F","RV730",,,,,,"ATI FirePro V3750 (FireGL)"
+"0x94A0","RV740_94A0","RV740",1,,,,,"ATI Mobility Radeon HD 4830"
+"0x94A1","RV740_94A1","RV740",1,,,,,"ATI Mobility Radeon HD 4850"
+"0x94B1","RV740_94B1","RV740",,,,,,"ATI RV740"
+"0x94B3","RV740_94B3","RV740",,,,,,"ATI Radeon HD 4770"
+"0x94B5","RV740_94B5","RV740",,,,,,"ATI Radeon HD 4770"
"0x94C0","RV610_94C0","RV610",,,,,,"ATI RV610"
"0x94C1","RV610_94C1","RV610",,,,,,"ATI Radeon HD 2400 XT"
"0x94C3","RV610_94C3","RV610",,,,,,"ATI Radeon HD 2400 Pro"
diff --git a/src/r6xx_accel.c b/src/r6xx_accel.c
index bce597b..e9741cd 100644
--- a/src/r6xx_accel.c
+++ b/src/r6xx_accel.c
@@ -784,6 +784,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib)
sq_conf.num_es_stack_entries = 0;
break;
case CHIP_FAMILY_RV730:
+ case CHIP_FAMILY_RV740:
sq_conf.num_ps_gprs = 84;
sq_conf.num_vs_gprs = 36;
sq_conf.num_temp_gprs = 4;
diff --git a/src/radeon.h b/src/radeon.h
index c923793..3826696 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -328,6 +328,7 @@ typedef enum {
CHIP_FAMILY_RV770,
CHIP_FAMILY_RV730,
CHIP_FAMILY_RV710,
+ CHIP_FAMILY_RV740,
CHIP_FAMILY_LAST
} RADEONChipFamily;
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
index 7b2512a..1527a60 100644
--- a/src/radeon_chipinfo_gen.h
+++ b/src/radeon_chipinfo_gen.h
@@ -283,6 +283,11 @@ RADEONCardInfo RADEONCards[] = {
{ 0x949C, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
{ 0x949E, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
{ 0x949F, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
+ { 0x94A0, CHIP_FAMILY_RV740, 1, 0, 0, 0, 0 },
+ { 0x94A1, CHIP_FAMILY_RV740, 1, 0, 0, 0, 0 },
+ { 0x94B1, CHIP_FAMILY_RV740, 0, 0, 0, 0, 0 },
+ { 0x94B3, CHIP_FAMILY_RV740, 0, 0, 0, 0, 0 },
+ { 0x94B5, CHIP_FAMILY_RV740, 0, 0, 0, 0, 0 },
{ 0x94C0, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
{ 0x94C1, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
{ 0x94C3, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
diff --git a/src/radeon_chipset_gen.h b/src/radeon_chipset_gen.h
index 70b9ff6..3288386 100644
--- a/src/radeon_chipset_gen.h
+++ b/src/radeon_chipset_gen.h
@@ -283,6 +283,11 @@ static SymTabRec RADEONChipsets[] = {
{ PCI_CHIP_RV730_949C, "ATI FirePro V7750 (FireGL)" },
{ PCI_CHIP_RV730_949E, "ATI FirePro V5700 (FireGL)" },
{ PCI_CHIP_RV730_949F, "ATI FirePro V3750 (FireGL)" },
+ { PCI_CHIP_RV740_94A0, "ATI Mobility Radeon HD 4830" },
+ { PCI_CHIP_RV740_94A1, "ATI Mobility Radeon HD 4850" },
+ { PCI_CHIP_RV740_94B1, "ATI RV740" },
+ { PCI_CHIP_RV740_94B3, "ATI Radeon HD 4770" },
+ { PCI_CHIP_RV740_94B5, "ATI Radeon HD 4770" },
{ PCI_CHIP_RV610_94C0, "ATI RV610" },
{ PCI_CHIP_RV610_94C1, "ATI Radeon HD 2400 XT" },
{ PCI_CHIP_RV610_94C3, "ATI Radeon HD 2400 Pro" },
diff --git a/src/radeon_pci_chipset_gen.h b/src/radeon_pci_chipset_gen.h
index 7765ee6..0a48ad7 100644
--- a/src/radeon_pci_chipset_gen.h
+++ b/src/radeon_pci_chipset_gen.h
@@ -283,6 +283,11 @@ PciChipsets RADEONPciChipsets[] = {
{ PCI_CHIP_RV730_949C, PCI_CHIP_RV730_949C, RES_SHARED_VGA },
{ PCI_CHIP_RV730_949E, PCI_CHIP_RV730_949E, RES_SHARED_VGA },
{ PCI_CHIP_RV730_949F, PCI_CHIP_RV730_949F, RES_SHARED_VGA },
+ { PCI_CHIP_RV740_94A0, PCI_CHIP_RV740_94A0, RES_SHARED_VGA },
+ { PCI_CHIP_RV740_94A1, PCI_CHIP_RV740_94A1, RES_SHARED_VGA },
+ { PCI_CHIP_RV740_94B1, PCI_CHIP_RV740_94B1, RES_SHARED_VGA },
+ { PCI_CHIP_RV740_94B3, PCI_CHIP_RV740_94B3, RES_SHARED_VGA },
+ { PCI_CHIP_RV740_94B5, PCI_CHIP_RV740_94B5, RES_SHARED_VGA },
{ PCI_CHIP_RV610_94C0, PCI_CHIP_RV610_94C0, RES_SHARED_VGA },
{ PCI_CHIP_RV610_94C1, PCI_CHIP_RV610_94C1, RES_SHARED_VGA },
{ PCI_CHIP_RV610_94C3, PCI_CHIP_RV610_94C3, RES_SHARED_VGA },
diff --git a/src/radeon_pci_device_match_gen.h b/src/radeon_pci_device_match_gen.h
index 397cf63..f3fd3d9 100644
--- a/src/radeon_pci_device_match_gen.h
+++ b/src/radeon_pci_device_match_gen.h
@@ -283,6 +283,11 @@ static const struct pci_id_match radeon_device_match[] = {
ATI_DEVICE_MATCH( PCI_CHIP_RV730_949C, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV730_949E, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV730_949F, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_RV740_94A0, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_RV740_94A1, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_RV740_94B1, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_RV740_94B3, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_RV740_94B5, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV610_94C0, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV610_94C1, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV610_94C3, 0 ),
commit 74cb2aba79049b792c22abf25ade3693b802b260
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Mon May 18 10:48:25 2009 -0400
r4xx: Add some missing pci ids
Noticed by Romain in bug 21798
diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index c0e58e1..8b37d5b 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -60,6 +60,8 @@
#define PCI_CHIP_R420_JN 0x4A4E
#define PCI_CHIP_R420_4A4F 0x4A4F
#define PCI_CHIP_R420_JP 0x4A50
+#define PCI_CHIP_R420_JT 0x4A54
+#define PCI_CHIP_R481_4B48 0x4B48
#define PCI_CHIP_R481_4B49 0x4B49
#define PCI_CHIP_R481_4B4A 0x4B4A
#define PCI_CHIP_R481_4B4B 0x4B4B
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index 32102fb..51dafee 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -61,6 +61,8 @@
"0x4A4E","R420_JN","R420",1,,,,,"ATI Radeon Mobility 9800 (M18) JN (AGP)"
"0x4A4F","R420_4A4F","R420",,,,,,"ATI Radeon X800 SE (R420) (AGP)"
"0x4A50","R420_JP","R420",,,,,,"ATI Radeon X800XT (R420) JP (AGP)"
+"0x4A54","R420_JT","R420",,,,,,"ATI Radeon X800 VE (R420) JT (AGP)"
+"0x4B48","R481_4B48","R420",,,,,,"ATI Radeon X850 (R480) (AGP)"
"0x4B49","R481_4B49","R420",,,,,,"ATI Radeon X850 XT (R480) (AGP)"
"0x4B4A","R481_4B4A","R420",,,,,,"ATI Radeon X850 SE (R480) (AGP)"
"0x4B4B","R481_4B4B","R420",,,,,,"ATI Radeon X850 PRO (R480) (AGP)"
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
index 516c73a..7b2512a 100644
--- a/src/radeon_chipinfo_gen.h
+++ b/src/radeon_chipinfo_gen.h
@@ -40,6 +40,8 @@ RADEONCardInfo RADEONCards[] = {
{ 0x4A4E, CHIP_FAMILY_R420, 1, 0, 0, 0, 0 },
{ 0x4A4F, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
{ 0x4A50, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x4A54, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x4B48, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
{ 0x4B49, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
{ 0x4B4A, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
{ 0x4B4B, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
diff --git a/src/radeon_chipset_gen.h b/src/radeon_chipset_gen.h
index ad0aede..70b9ff6 100644
--- a/src/radeon_chipset_gen.h
+++ b/src/radeon_chipset_gen.h
@@ -40,6 +40,8 @@ static SymTabRec RADEONChipsets[] = {
{ PCI_CHIP_R420_JN, "ATI Radeon Mobility 9800 (M18) JN (AGP)" },
{ PCI_CHIP_R420_4A4F, "ATI Radeon X800 SE (R420) (AGP)" },
{ PCI_CHIP_R420_JP, "ATI Radeon X800XT (R420) JP (AGP)" },
+ { PCI_CHIP_R420_JT, "ATI Radeon X800 VE (R420) JT (AGP)" },
+ { PCI_CHIP_R481_4B48, "ATI Radeon X850 (R480) (AGP)" },
{ PCI_CHIP_R481_4B49, "ATI Radeon X850 XT (R480) (AGP)" },
{ PCI_CHIP_R481_4B4A, "ATI Radeon X850 SE (R480) (AGP)" },
{ PCI_CHIP_R481_4B4B, "ATI Radeon X850 PRO (R480) (AGP)" },
diff --git a/src/radeon_pci_chipset_gen.h b/src/radeon_pci_chipset_gen.h
index 85143a7..7765ee6 100644
--- a/src/radeon_pci_chipset_gen.h
+++ b/src/radeon_pci_chipset_gen.h
@@ -40,6 +40,8 @@ PciChipsets RADEONPciChipsets[] = {
{ PCI_CHIP_R420_JN, PCI_CHIP_R420_JN, RES_SHARED_VGA },
{ PCI_CHIP_R420_4A4F, PCI_CHIP_R420_4A4F, RES_SHARED_VGA },
{ PCI_CHIP_R420_JP, PCI_CHIP_R420_JP, RES_SHARED_VGA },
+ { PCI_CHIP_R420_JT, PCI_CHIP_R420_JT, RES_SHARED_VGA },
+ { PCI_CHIP_R481_4B48, PCI_CHIP_R481_4B48, RES_SHARED_VGA },
{ PCI_CHIP_R481_4B49, PCI_CHIP_R481_4B49, RES_SHARED_VGA },
{ PCI_CHIP_R481_4B4A, PCI_CHIP_R481_4B4A, RES_SHARED_VGA },
{ PCI_CHIP_R481_4B4B, PCI_CHIP_R481_4B4B, RES_SHARED_VGA },
diff --git a/src/radeon_pci_device_match_gen.h b/src/radeon_pci_device_match_gen.h
index 25c683a..397cf63 100644
--- a/src/radeon_pci_device_match_gen.h
+++ b/src/radeon_pci_device_match_gen.h
@@ -40,6 +40,8 @@ static const struct pci_id_match radeon_device_match[] = {
ATI_DEVICE_MATCH( PCI_CHIP_R420_JN, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_R420_4A4F, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_R420_JP, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_R420_JT, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_R481_4B48, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_R481_4B49, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_R481_4B4A, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_R481_4B4B, 0 ),
commit a5a0c4626a982a1823146eab82efc94ea7853b62
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Thu May 14 15:48:54 2009 -0400
radeon: try harder when checking if a card is posted
fixes debian bug 524280, possibly others.
diff --git a/src/radeon_bios.c b/src/radeon_bios.c
index 9b5cb88..2bacc40 100644
--- a/src/radeon_bios.c
+++ b/src/radeon_bios.c
@@ -273,6 +273,7 @@ radeon_card_posted(ScrnInfoPtr pScrn)
unsigned char *RADEONMMIO = info->MMIO;
uint32_t reg;
+ /* first check CRTCs */
if (IS_AVIVO_VARIANT) {
reg = INREG(AVIVO_D1CRTC_CONTROL) | INREG(AVIVO_D2CRTC_CONTROL);
if (reg & AVIVO_CRTC_EN)
@@ -283,6 +284,15 @@ radeon_card_posted(ScrnInfoPtr pScrn)
return TRUE;
}
+ /* then check MEM_SIZE, in case something turned the crtcs off */
+ if (info->ChipFamily >= CHIP_FAMILY_R600)
+ reg = INREG(R600_CONFIG_MEMSIZE);
+ else
+ reg = INREG(RADEON_CONFIG_MEMSIZE);
+
+ if (reg)
+ return TRUE;
+
return FALSE;
}
commit 94d9bb93013c71cb212ea46458cf063cf2aba2fa
Author: Michel Dänzer <daenzer@vmware.com>
Date: Thu May 14 10:24:07 2009 +0200
Pre-R600 EXA: Fix coordinate limits off-by-one error.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21598 .
(cherry picked from commit 22e39392297fa11003df90c175db3c449d8f9853)
diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c
index 59cb46f..482abcd 100644
--- a/src/radeon_exa_funcs.c
+++ b/src/radeon_exa_funcs.c
@@ -532,11 +532,11 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting EXA maxPitchBytes\n");
info->accel_state->exa->maxPitchBytes = 16320;
- info->accel_state->exa->maxX = 8192;
+ info->accel_state->exa->maxX = 8191;
#else
info->accel_state->exa->maxX = 16320 / 4;
#endif
- info->accel_state->exa->maxY = 8192;
+ info->accel_state->exa->maxY = 8191;
if (xf86ReturnOptValBool(info->Options, OPTION_EXA_VSYNC, FALSE)) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "EXA VSync enabled\n");
commit f006899280506c9704c0105fb9869ce9f67fdf4e
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Mon May 11 02:22:13 2009 -0400
RV770: add missing pci id
Fixes bug 21209
diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index 3304e84..c0e58e1 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -334,6 +334,7 @@
#define PCI_CHIP_RV770_9440 0x9440
#define PCI_CHIP_RV770_9441 0x9441
#define PCI_CHIP_RV770_9442 0x9442
+#define PCI_CHIP_RV770_9443 0x9443
#define PCI_CHIP_RV770_9444 0x9444
#define PCI_CHIP_RV770_9446 0x9446
#define PCI_CHIP_RV770_944A 0x944A
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index b361d9d..32102fb 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -335,6 +335,7 @@
"0x9440","RV770_9440","RV770",,,,,,"ATI Radeon 4800 Series"
"0x9441","RV770_9441","RV770",,,,,,"ATI Radeon HD 4870 x2"
"0x9442","RV770_9442","RV770",,,,,,"ATI Radeon 4800 Series"
+"0x9443","RV770_9443","RV770",,,,,,"ATI Radeon HD 4850 x2"
"0x9444","RV770_9444","RV770",,,,,,"ATI FirePro V8750 (FireGL)"
"0x9446","RV770_9446","RV770",,,,,,"ATI FirePro V7760 (FireGL)"
"0x944A","RV770_944A","RV770",1,,,,,"ATI Mobility RADEON HD 4850"
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
index 6321246..516c73a 100644
--- a/src/radeon_chipinfo_gen.h
+++ b/src/radeon_chipinfo_gen.h
@@ -254,6 +254,7 @@ RADEONCardInfo RADEONCards[] = {
{ 0x9440, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
{ 0x9441, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
{ 0x9442, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
+ { 0x9443, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
{ 0x9444, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
{ 0x9446, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
{ 0x944A, CHIP_FAMILY_RV770, 1, 0, 0, 0, 0 },
diff --git a/src/radeon_chipset_gen.h b/src/radeon_chipset_gen.h
index 631eda8..ad0aede 100644
--- a/src/radeon_chipset_gen.h
+++ b/src/radeon_chipset_gen.h
@@ -254,6 +254,7 @@ static SymTabRec RADEONChipsets[] = {
{ PCI_CHIP_RV770_9440, "ATI Radeon 4800 Series" },
{ PCI_CHIP_RV770_9441, "ATI Radeon HD 4870 x2" },
{ PCI_CHIP_RV770_9442, "ATI Radeon 4800 Series" },
+ { PCI_CHIP_RV770_9443, "ATI Radeon HD 4850 x2" },
{ PCI_CHIP_RV770_9444, "ATI FirePro V8750 (FireGL)" },
{ PCI_CHIP_RV770_9446, "ATI FirePro V7760 (FireGL)" },
{ PCI_CHIP_RV770_944A, "ATI Mobility RADEON HD 4850" },
diff --git a/src/radeon_pci_chipset_gen.h b/src/radeon_pci_chipset_gen.h
index d61c57d..85143a7 100644
--- a/src/radeon_pci_chipset_gen.h
+++ b/src/radeon_pci_chipset_gen.h
@@ -254,6 +254,7 @@ PciChipsets RADEONPciChipsets[] = {
{ PCI_CHIP_RV770_9440, PCI_CHIP_RV770_9440, RES_SHARED_VGA },
{ PCI_CHIP_RV770_9441, PCI_CHIP_RV770_9441, RES_SHARED_VGA },
{ PCI_CHIP_RV770_9442, PCI_CHIP_RV770_9442, RES_SHARED_VGA },
+ { PCI_CHIP_RV770_9443, PCI_CHIP_RV770_9443, RES_SHARED_VGA },
{ PCI_CHIP_RV770_9444, PCI_CHIP_RV770_9444, RES_SHARED_VGA },
{ PCI_CHIP_RV770_9446, PCI_CHIP_RV770_9446, RES_SHARED_VGA },
{ PCI_CHIP_RV770_944A, PCI_CHIP_RV770_944A, RES_SHARED_VGA },
diff --git a/src/radeon_pci_device_match_gen.h b/src/radeon_pci_device_match_gen.h
index a06b4a6..25c683a 100644
--- a/src/radeon_pci_device_match_gen.h
+++ b/src/radeon_pci_device_match_gen.h
@@ -254,6 +254,7 @@ static const struct pci_id_match radeon_device_match[] = {
ATI_DEVICE_MATCH( PCI_CHIP_RV770_9440, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV770_9441, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV770_9442, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_RV770_9443, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV770_9444, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV770_9446, 0 ),
ATI_DEVICE_MATCH( PCI_CHIP_RV770_944A, 0 ),
Reply to: