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

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: