xf86-video-ati: Branch 'atombios-support' - 4 commits

Dave Airlie airlied at kemper.freedesktop.org
Mon Nov 19 20:08:27 PST 2007


 src/Makefile.am              |    9 -
 src/ati_pciids_gen.h         |  351 ++++++++++++++++++++++++++++++++++++++++++
 src/atipciids.h              |  248 ------------------------------
 src/pcidb/ati_pciids.csv     |  352 +++++++++++++++++++++++++++++++++++++++++++
 src/pcidb/parse_pci_ids.pl   |   94 +++++++++++
 src/radeon.h                 |   17 ++
 src/radeon_chipinfo_gen.h    |  272 +++++++++++++++++++++++++++++++++
 src/radeon_chipset.h         |  148 ------------------
 src/radeon_chipset_gen.h     |  273 +++++++++++++++++++++++++++++++++
 src/radeon_driver.c          |  269 +++-----------------------------
 src/radeon_pci_chipset_gen.h |  273 +++++++++++++++++++++++++++++++++
 src/radeon_probe.c           |  151 ------------------
 12 files changed, 1668 insertions(+), 789 deletions(-)

New commits:
commit f6fbbacc17bf9b1073d3e993b225987fd9173182
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Nov 20 13:41:55 2007 +1000

    atombios: add warnings for r500 and r600

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 90b1fe5..17f9b81 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1641,6 +1641,15 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
 	break;
     }
 
+    if (info->ChipFamily >= CHIP_FAMILY_R600) {
+        xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+                   "R600 support is mostly incomplete and very experimental\n");
+    }
+
+    if ((info->ChipFamily >= CHIP_FAMILY_RV515) && (info->ChipFamily < CHIP_FAMILY_R600)) {
+	xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+                   "R500 support is under development. Please report any issues to xorg-driver-ati at lists.x.org\n");
+    }
 
     from               = X_PROBED;
     info->LinearAddr   = PCI_REGION_BASE(info->PciInfo, 0, REGION_MEM) & ~0x1ffffffUL;
commit 45a8b083c123b820c008f04ab857a64a8facec14
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Nov 20 13:37:00 2007 +1000

    atombios: add all r5xx and r6xx pci ids

diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index ad54f64..53ae24c 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -215,5 +215,137 @@
 #define PCI_CHIP_RV410_5E4C 0x5E4C
 #define PCI_CHIP_RV410_5E4D 0x5E4D
 #define PCI_CHIP_RV410_5E4F 0x5E4F
+#define PCI_CHIP_R520_7100 0x7100
+#define PCI_CHIP_R520_7101 0x7101
+#define PCI_CHIP_R520_7102 0x7102
+#define PCI_CHIP_R520_7103 0x7103
+#define PCI_CHIP_R520_7104 0x7104
+#define PCI_CHIP_R520_7105 0x7105
+#define PCI_CHIP_R520_7106 0x7106
+#define PCI_CHIP_R520_7108 0x7108
+#define PCI_CHIP_R520_7109 0x7109
+#define PCI_CHIP_R520_710A 0x710A
+#define PCI_CHIP_R520_710B 0x710B
+#define PCI_CHIP_R520_710C 0x710C
+#define PCI_CHIP_R520_710E 0x710E
+#define PCI_CHIP_R520_710F 0x710F
+#define PCI_CHIP_RV515_7140 0x7140
+#define PCI_CHIP_RV515_7141 0x7141
+#define PCI_CHIP_RV515_7142 0x7142
+#define PCI_CHIP_RV515_7143 0x7143
+#define PCI_CHIP_RV515_7144 0x7144
+#define PCI_CHIP_RV515_7145 0x7145
+#define PCI_CHIP_RV515_7146 0x7146
+#define PCI_CHIP_RV515_7147 0x7147
+#define PCI_CHIP_RV515_7149 0x7149
+#define PCI_CHIP_RV515_714A 0x714A
+#define PCI_CHIP_RV515_714B 0x714B
+#define PCI_CHIP_RV515_714C 0x714C
+#define PCI_CHIP_RV515_714D 0x714D
+#define PCI_CHIP_RV515_714E 0x714E
+#define PCI_CHIP_RV515_714F 0x714F
+#define PCI_CHIP_RV515_7151 0x7151
+#define PCI_CHIP_RV515_7152 0x7152
+#define PCI_CHIP_RV515_7153 0x7153
+#define PCI_CHIP_RV515_715E 0x715E
+#define PCI_CHIP_RV515_715F 0x715F
+#define PCI_CHIP_RV515_7180 0x7180
+#define PCI_CHIP_RV515_7181 0x7181
+#define PCI_CHIP_RV515_7183 0x7183
+#define PCI_CHIP_RV515_7186 0x7186
+#define PCI_CHIP_RV515_7187 0x7187
+#define PCI_CHIP_RV515_7188 0x7188
+#define PCI_CHIP_RV515_718A 0x718A
+#define PCI_CHIP_RV515_718B 0x718B
+#define PCI_CHIP_RV515_718C 0x718C
+#define PCI_CHIP_RV515_718D 0x718D
+#define PCI_CHIP_RV515_718F 0x718F
+#define PCI_CHIP_RV515_7193 0x7193
+#define PCI_CHIP_RV515_7196 0x7196
+#define PCI_CHIP_RV515_719B 0x719B
+#define PCI_CHIP_RV515_719F 0x719F
+#define PCI_CHIP_RV530_71C0 0x71C0
+#define PCI_CHIP_RV530_71C1 0x71C1
+#define PCI_CHIP_RV530_71C2 0x71C2
+#define PCI_CHIP_RV530_71C3 0x71C3
+#define PCI_CHIP_RV530_71C4 0x71C4
+#define PCI_CHIP_RV530_71C5 0x71C5
+#define PCI_CHIP_RV530_71C6 0x71C6
+#define PCI_CHIP_RV530_71C7 0x71C7
+#define PCI_CHIP_RV530_71CD 0x71CD
+#define PCI_CHIP_RV530_71CE 0x71CE
+#define PCI_CHIP_RV530_71D2 0x71D2
+#define PCI_CHIP_RV530_71D4 0x71D4
+#define PCI_CHIP_RV530_71D5 0x71D5
+#define PCI_CHIP_RV530_71D6 0x71D6
+#define PCI_CHIP_RV530_71DA 0x71DA
+#define PCI_CHIP_RV530_71DE 0x71DE
+#define PCI_CHIP_RV530_7200 0x7200
+#define PCI_CHIP_RV530_7210 0x7210
+#define PCI_CHIP_RV530_7211 0x7211
+#define PCI_CHIP_R580_7240 0x7240
+#define PCI_CHIP_R580_7243 0x7243
+#define PCI_CHIP_R580_7244 0x7244
+#define PCI_CHIP_R580_7245 0x7245
+#define PCI_CHIP_R580_7246 0x7246
+#define PCI_CHIP_R580_7247 0x7247
+#define PCI_CHIP_R580_7248 0x7248
+#define PCI_CHIP_R580_7249 0x7249
+#define PCI_CHIP_R580_724A 0x724A
+#define PCI_CHIP_R580_724B 0x724B
+#define PCI_CHIP_R580_724C 0x724C
+#define PCI_CHIP_R580_724D 0x724D
+#define PCI_CHIP_R580_724E 0x724E
+#define PCI_CHIP_R580_724F 0x724F
+#define PCI_CHIP_RV570_7280 0x7280
+#define PCI_CHIP_RV560_7281 0x7281
+#define PCI_CHIP_RV560_7283 0x7283
+#define PCI_CHIP_R580_7284 0x7284
+#define PCI_CHIP_RV560_7287 0x7287
+#define PCI_CHIP_RV570_7288 0x7288
+#define PCI_CHIP_RV570_7289 0x7289
+#define PCI_CHIP_RV570_728B 0x728B
+#define PCI_CHIP_RV570_728C 0x728C
+#define PCI_CHIP_RV560_7290 0x7290
+#define PCI_CHIP_RV560_7291 0x7291
+#define PCI_CHIP_RV560_7293 0x7293
+#define PCI_CHIP_RV560_7297 0x7297
 #define PCI_CHIP_RS350_7834 0x7834
 #define PCI_CHIP_RS350_7835 0x7835
+#define PCI_CHIP_RS690_791E 0x791E
+#define PCI_CHIP_RS690_791F 0x791F
+#define PCI_CHIP_RS740_796C 0x796C
+#define PCI_CHIP_RS740_796D 0x796D
+#define PCI_CHIP_RS740_796E 0x796E
+#define PCI_CHIP_RS740_796F 0x796F
+#define PCI_CHIP_R600_9400 0x9400
+#define PCI_CHIP_R600_9401 0x9401
+#define PCI_CHIP_R600_9402 0x9402
+#define PCI_CHIP_R600_9403 0x9403
+#define PCI_CHIP_R600_9405 0x9405
+#define PCI_CHIP_R600_940A 0x940A
+#define PCI_CHIP_R600_940B 0x940B
+#define PCI_CHIP_R600_940F 0x940F
+#define PCI_CHIP_RV610_94C0 0x94C0
+#define PCI_CHIP_RV610_94C1 0x94C1
+#define PCI_CHIP_RV610_94C3 0x94C3
+#define PCI_CHIP_RV610_94C4 0x94C4
+#define PCI_CHIP_RV610_94C5 0x94C5
+#define PCI_CHIP_RV610_94C6 0x94C6
+#define PCI_CHIP_RV610_94C7 0x94C7
+#define PCI_CHIP_RV610_94C8 0x94C8
+#define PCI_CHIP_RV610_94C9 0x94C9
+#define PCI_CHIP_RV610_94CB 0x94CB
+#define PCI_CHIP_RV610_94CC 0x94CC
+#define PCI_CHIP_RV630_9580 0x9580
+#define PCI_CHIP_RV630_9581 0x9581
+#define PCI_CHIP_RV630_9583 0x9583
+#define PCI_CHIP_RV630_9586 0x9586
+#define PCI_CHIP_RV630_9587 0x9587
+#define PCI_CHIP_RV630_9588 0x9588
+#define PCI_CHIP_RV630_9589 0x9589
+#define PCI_CHIP_RV630_958A 0x958A
+#define PCI_CHIP_RV630_958B 0x958B
+#define PCI_CHIP_RV630_958C 0x958C
+#define PCI_CHIP_RV630_958D 0x958D
+#define PCI_CHIP_RV630_958E 0x958E
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index f201cc4..a62e8a5 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -216,5 +216,137 @@
 "0x5E4C","RV410_5E4C","RV410",,,,,,"ATI Radeon X700 SE (RV410) (PCIE)"
 "0x5E4D","RV410_5E4D","RV410",,,,,,"ATI Radeon X700 (RV410) (PCIE)"
 "0x5E4F","RV410_5E4F","RV410",,,,,,"ATI Radeon X700 SE (RV410) (PCIE)"
+"0x7100","R520_7100","R520",,,,,,"ATI Radeon X1800"
+"0x7101","R520_7101","R520",1,,,,,"ATI Mobility Radeon X1800 XT"
+"0x7102","R520_7102","R520",1,,,,,"ATI Mobility Radeon X1800"
+"0x7103","R520_7103","R520",1,,,,,"ATI Mobility FireGL V7200"
+"0x7104","R520_7104","R520",,,,,,"ATI FireGL V7200"
+"0x7105","R520_7105","R520",,,,,,"ATI FireGL V5300"
+"0x7106","R520_7106","R520",1,,,,,"ATI Mobility FireGL V7100"
+"0x7108","R520_7108","R520",,,,,,"ATI Radeon X1800"
+"0x7109","R520_7109","R520",,,,,,"ATI Radeon X1800"
+"0x710A","R520_710A","R520",,,,,,"ATI Radeon X1800"
+"0x710B","R520_710B","R520",,,,,,"ATI Radeon X1800"
+"0x710C","R520_710C","R520",,,,,,"ATI Radeon X1800"
+"0x710E","R520_710E","R520",,,,,,"ATI FireGL V7300"
+"0x710F","R520_710F","R520",,,,,,"ATI FireGL V7350"
+"0x7140","RV515_7140","RV515",,,,,,"ATI Radeon X1600"
+"0x7141","RV515_7141","RV515",,,,,,"ATI RV505"
+"0x7142","RV515_7142","RV515",,,,,,"ATI Radeon X1300/X1550"
+"0x7143","RV515_7143","RV515",,,,,,"ATI Radeon X1550"
+"0x7144","RV515_7144","RV515",1,,,,,"ATI M54-GL"
+"0x7145","RV515_7145","RV515",1,,,,,"ATI Mobility Radeon X1400"
+"0x7146","RV515_7146","RV515",,,,,,"ATI Radeon X1300/X1550"
+"0x7147","RV515_7147","RV515",,,,,,"ATI Radeon X1550 64-bit"
+"0x7149","RV515_7149","RV515",1,,,,,"ATI Mobility Radeon X1300"
+"0x714A","RV515_714A","RV515",1,,,,,"ATI Mobility Radeon X1300"
+"0x714B","RV515_714B","RV515",1,,,,,"ATI Mobility Radeon X1300"
+"0x714C","RV515_714C","RV515",1,,,,,"ATI Mobility Radeon X1300"
+"0x714D","RV515_714D","RV515",,,,,,"ATI Radeon X1300"
+"0x714E","RV515_714E","RV515",,,,,,"ATI Radeon X1300"
+"0x714F","RV515_714F","RV515",,,,,,"ATI RV505"
+"0x7151","RV515_7151","RV515",,,,,,"ATI RV505"
+"0x7152","RV515_7152","RV515",,,,,,"ATI FireGL V3300"
+"0x7153","RV515_7153","RV515",,,,,,"ATI FireGL V3350"
+"0x715E","RV515_715E","RV515",,,,,,"ATI Radeon X1300"
+"0x715F","RV515_715F","RV515",,,,,,"ATI Radeon X1550 64-bit"
+"0x7180","RV515_7180","RV515",,,,,,"ATI Radeon X1300/X1550"
+"0x7181","RV515_7181","RV515",,,,,,"ATI Radeon X1600"
+"0x7183","RV515_7183","RV515",,,,,,"ATI Radeon X1300/X1550"
+"0x7186","RV515_7186","RV515",1,,,,,"ATI Mobility Radeon X1450"
+"0x7187","RV515_7187","RV515",,,,,,"ATI Radeon X1300/X1550"
+"0x7188","RV515_7188","RV515",1,,,,,"ATI Mobility Radeon X2300"
+"0x718A","RV515_718A","RV515",1,,,,,"ATI Mobility Radeon X2300"
+"0x718B","RV515_718B","RV515",1,,,,,"ATI Mobility Radeon X1350"
+"0x718C","RV515_718C","RV515",1,,,,,"ATI Mobility Radeon X1350"
+"0x718D","RV515_718D","RV515",1,,,,,"ATI Mobility Radeon X1450"
+"0x718F","RV515_718F","RV515",,,,,,"ATI Radeon X1300"
+"0x7193","RV515_7193","RV515",,,,,,"ATI Radeon X1550"
+"0x7196","RV515_7196","RV515",1,,,,,"ATI Mobility Radeon X1350"
+"0x719B","RV515_719B","RV515",,,,,,"ATI FireMV 2250"
+"0x719F","RV515_719F","RV515",,,,,,"ATI Radeon X1550 64-bit"
+"0x71C0","RV530_71C0","RV530",,,,,,"ATI Radeon X1600"
+"0x71C1","RV530_71C1","RV530",,,,,,"ATI Radeon X1650"
+"0x71C2","RV530_71C2","RV530",,,,,,"ATI Radeon X1600"
+"0x71C3","RV530_71C3","RV530",,,,,,"ATI Radeon X1600"
+"0x71C4","RV530_71C4","RV530",1,,,,,"ATI Mobility FireGL V5200"
+"0x71C5","RV530_71C5","RV530",1,,,,,"ATI Mobility Radeon X1600"
+"0x71C6","RV530_71C6","RV530",,,,,,"ATI Radeon X1650"
+"0x71C7","RV530_71C7","RV530",,,,,,"ATI Radeon X1650"
+"0x71CD","RV530_71CD","RV530",,,,,,"ATI Radeon X1600"
+"0x71CE","RV530_71CE","RV530",,,,,,"ATI Radeon X1300 XT/X1600 Pro"
+"0x71D2","RV530_71D2","RV530",,,,,,"ATI FireGL V3400"
+"0x71D4","RV530_71D4","RV530",1,,,,,"ATI Mobility FireGL V5250"
+"0x71D5","RV530_71D5","RV530",1,,,,,"ATI Mobility Radeon X1700"
+"0x71D6","RV530_71D6","RV530",1,,,,,"ATI Mobility Radeon X1700 XT"
+"0x71DA","RV530_71DA","RV530",,,,,,"ATI FireGL V5200"
+"0x71DE","RV530_71DE","RV530",1,,,,,"ATI Mobility Radeon X1700"
+"0x7200","RV530_7200","RV530",,,,,,"ATI  Radeon X2300HD"
+"0x7210","RV530_7210","RV530",1,,,,,"ATI Mobility Radeon HD 2300"
+"0x7211","RV530_7211","RV530",1,,,,,"ATI Mobility Radeon HD 2300"
+"0x7240","R580_7240","R580",,,,,,"ATI Radeon X1950"
+"0x7243","R580_7243","R580",,,,,,"ATI Radeon X1900"
+"0x7244","R580_7244","R580",,,,,,"ATI Radeon X1950"
+"0x7245","R580_7245","R580",,,,,,"ATI Radeon X1900"
+"0x7246","R580_7246","R580",,,,,,"ATI Radeon X1900"
+"0x7247","R580_7247","R580",,,,,,"ATI Radeon X1900"
+"0x7248","R580_7248","R580",,,,,,"ATI Radeon X1900"
+"0x7249","R580_7249","R580",,,,,,"ATI Radeon X1900"
+"0x724A","R580_724A","R580",,,,,,"ATI Radeon X1900"
+"0x724B","R580_724B","R580",,,,,,"ATI Radeon X1900"
+"0x724C","R580_724C","R580",,,,,,"ATI Radeon X1900"
+"0x724D","R580_724D","R580",,,,,,"ATI Radeon X1900"
+"0x724E","R580_724E","R580",,,,,,"ATI AMD Stream Processor"
+"0x724F","R580_724F","R580",,,,,,"ATI Radeon X1900"
+"0x7280","RV570_7280","RV570",,,,,,"ATI Radeon X1950"
+"0x7281","RV560_7281","RV560",,,,,,"ATI RV560"
+"0x7283","RV560_7283","RV560",,,,,,"ATI RV560"
+"0x7284","R580_7284","R580",1,,,,,"ATI Mobility Radeon X1900"
+"0x7287","RV560_7287","RV560",,,,,,"ATI RV560"
+"0x7288","RV570_7288","RV570",,,,,,"ATI Radeon X1950 GT"
+"0x7289","RV570_7289","RV570",,,,,,"ATI RV570"
+"0x728B","RV570_728B","RV570",,,,,,"ATI RV570"
+"0x728C","RV570_728C","RV570",,,,,,"ATI ATI FireGL V7400"
+"0x7290","RV560_7290","RV560",,,,,,"ATI RV560"
+"0x7291","RV560_7291","RV560",,,,,,"ATI Radeon X1650"
+"0x7293","RV560_7293","RV560",,,,,,"ATI Radeon X1650"
+"0x7297","RV560_7297","RV560",,,,,,"ATI RV560"
 "0x7834","RS350_7834","RS300",,1,,,,"ATI Radeon 9100 PRO IGP 7834"
 "0x7835","RS350_7835","RS300",1,1,,,,"ATI Radeon Mobility 9200 IGP 7835"
+"0x791E","RS690_791E","RS690",,1,,,,"ATI Radeon X1200"
+"0x791F","RS690_791F","RS690",,1,,,,"ATI Radeon X1200"
+"0x796C","RS740_796C","RS740",,1,,,,"ATI RS740"
+"0x796D","RS740_796D","RS740",,1,,,,"ATI RS740M"
+"0x796E","RS740_796E","RS740",,1,,,,"ATI RS740"
+"0x796F","RS740_796F","RS740",,1,,,,"ATI RS740M"
+"0x9400","R600_9400","R600",,,,,,"ATI Radeon HD 2900 XT"
+"0x9401","R600_9401","R600",,,,,,"ATI Radeon HD 2900 XT"
+"0x9402","R600_9402","R600",,,,,,"ATI Radeon HD 2900 XT"
+"0x9403","R600_9403","R600",,,,,,"ATI Radeon HD 2900 Pro"
+"0x9405","R600_9405","R600",,,,,,"ATI Radeon HD 2900 GT"
+"0x940A","R600_940A","R600",,,,,,"ATI FireGL V8650"
+"0x940B","R600_940B","R600",,,,,,"ATI FireGL V8600"
+"0x940F","R600_940F","R600",,,,,,"ATI FireGL V7600"
+"0x94C0","RV610_94C0","RV610",,,,,,"ATI RV610"
+"0x94C1","RV610_94C1","RV610",,,,,,"ATI Radeon HD 2400 XT"
+"0x94C3","RV610_94C3","RV610",,,,,,"ATI Radeon HD 2400 Pro"
+"0x94C4","RV610_94C4","RV610",,,,,,"ATI ATI Radeon HD 2400 PRO AGP"
+"0x94C5","RV610_94C5","RV610",,,,,,"ATI FireGL V4000"
+"0x94C6","RV610_94C6","RV610",,,,,,"ATI RV610"
+"0x94C7","RV610_94C7","RV610",,,,,,"ATI ATI Radeon HD 2350"
+"0x94C8","RV610_94C8","RV610",1,,,,,"ATI Mobility Radeon HD 2400 XT"
+"0x94C9","RV610_94C9","RV610",1,,,,,"ATI Mobility Radeon HD 2400"
+"0x94CB","RV610_94CB","RV610",1,,,,,"ATI ATI RADEON E2400"
+"0x94CC","RV610_94CC","RV610",,,,,,"ATI RV610"
+"0x9580","RV630_9580","RV630",,,,,,"ATI RV630"
+"0x9581","RV630_9581","RV630",1,,,,,"ATI Mobility Radeon HD 2600"
+"0x9583","RV630_9583","RV630",1,,,,,"ATI Mobility Radeon HD 2600 XT"
+"0x9586","RV630_9586","RV630",,,,,,"ATI ATI Radeon HD 2600 XT AGP"
+"0x9587","RV630_9587","RV630",,,,,,"ATI ATI Radeon HD 2600 Pro AGP"
+"0x9588","RV630_9588","RV630",,,,,,"ATI Radeon HD 2600 XT"
+"0x9589","RV630_9589","RV630",,,,,,"ATI Radeon HD 2600 Pro"
+"0x958A","RV630_958A","RV630",,,,,,"ATI Gemini RV630"
+"0x958B","RV630_958B","RV630",1,,,,,"ATI Gemini ATI Mobility Radeon HD 2600 XT"
+"0x958C","RV630_958C","RV630",,,,,,"ATI FireGL V5600"
+"0x958D","RV630_958D","RV630",,,,,,"ATI FireGL V3600"
+"0x958E","RV630_958E","RV630",,,,,,"ATI ATI Radeon HD 2600 LE"
diff --git a/src/radeon.h b/src/radeon.h
index d503f92..f776394 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -496,9 +496,16 @@ typedef enum {
     CHIP_FAMILY_RS400,    /* xpress 200, 200m (RS400/410/480) */
     CHIP_FAMILY_RV515,    /* rv515 */
     CHIP_FAMILY_R520,    /* r520 */
+    CHIP_FAMILY_RV530,    /* rv530 */
     CHIP_FAMILY_R580,    /* r580 */
+    CHIP_FAMILY_RV560,   /* rv560 */
     CHIP_FAMILY_RV570,   /* rv570 */
     CHIP_FAMILY_R600,    /* r60 */
+    CHIP_FAMILY_R630,
+    CHIP_FAMILY_RV610,
+    CHIP_FAMILY_RV630,
+    CHIP_FAMILY_RS690,
+    CHIP_FAMILY_RS740,
     CHIP_FAMILY_LAST
 } RADEONChipFamily;
 
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
index a12b225..cf70557 100644
--- a/src/radeon_chipinfo_gen.h
+++ b/src/radeon_chipinfo_gen.h
@@ -135,6 +135,138 @@ RADEONCardInfo RADEONCards[] = {
  { 0x5E4C, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
  { 0x5E4D, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
  { 0x5E4F, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
+ { 0x7100, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x7101, CHIP_FAMILY_R520, 1, 0, 0, 0, 0 },
+ { 0x7102, CHIP_FAMILY_R520, 1, 0, 0, 0, 0 },
+ { 0x7103, CHIP_FAMILY_R520, 1, 0, 0, 0, 0 },
+ { 0x7104, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x7105, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x7106, CHIP_FAMILY_R520, 1, 0, 0, 0, 0 },
+ { 0x7108, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x7109, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x710A, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x710B, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x710C, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x710E, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x710F, CHIP_FAMILY_R520, 0, 0, 0, 0, 0 },
+ { 0x7140, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7141, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7142, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7143, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7144, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x7145, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x7146, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7147, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7149, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x714A, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x714B, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x714C, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x714D, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x714E, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x714F, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7151, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7152, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7153, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x715E, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x715F, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7180, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7181, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7183, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7186, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x7187, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7188, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x718A, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x718B, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x718C, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x718D, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x718F, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7193, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x7196, CHIP_FAMILY_RV515, 1, 0, 0, 0, 0 },
+ { 0x719B, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x719F, CHIP_FAMILY_RV515, 0, 0, 0, 0, 0 },
+ { 0x71C0, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71C1, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71C2, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71C3, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71C4, CHIP_FAMILY_RV530, 1, 0, 0, 0, 0 },
+ { 0x71C5, CHIP_FAMILY_RV530, 1, 0, 0, 0, 0 },
+ { 0x71C6, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71C7, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71CD, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71CE, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71D2, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71D4, CHIP_FAMILY_RV530, 1, 0, 0, 0, 0 },
+ { 0x71D5, CHIP_FAMILY_RV530, 1, 0, 0, 0, 0 },
+ { 0x71D6, CHIP_FAMILY_RV530, 1, 0, 0, 0, 0 },
+ { 0x71DA, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x71DE, CHIP_FAMILY_RV530, 1, 0, 0, 0, 0 },
+ { 0x7200, CHIP_FAMILY_RV530, 0, 0, 0, 0, 0 },
+ { 0x7210, CHIP_FAMILY_RV530, 1, 0, 0, 0, 0 },
+ { 0x7211, CHIP_FAMILY_RV530, 1, 0, 0, 0, 0 },
+ { 0x7240, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x7243, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x7244, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x7245, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x7246, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x7247, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x7248, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x7249, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x724A, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x724B, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x724C, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x724D, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x724E, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x724F, CHIP_FAMILY_R580, 0, 0, 0, 0, 0 },
+ { 0x7280, CHIP_FAMILY_RV570, 0, 0, 0, 0, 0 },
+ { 0x7281, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
+ { 0x7283, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
+ { 0x7284, CHIP_FAMILY_R580, 1, 0, 0, 0, 0 },
+ { 0x7287, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
+ { 0x7288, CHIP_FAMILY_RV570, 0, 0, 0, 0, 0 },
+ { 0x7289, CHIP_FAMILY_RV570, 0, 0, 0, 0, 0 },
+ { 0x728B, CHIP_FAMILY_RV570, 0, 0, 0, 0, 0 },
+ { 0x728C, CHIP_FAMILY_RV570, 0, 0, 0, 0, 0 },
+ { 0x7290, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
+ { 0x7291, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
+ { 0x7293, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
+ { 0x7297, CHIP_FAMILY_RV560, 0, 0, 0, 0, 0 },
  { 0x7834, CHIP_FAMILY_RS300, 0, 1, 0, 0, 0 },
  { 0x7835, CHIP_FAMILY_RS300, 1, 1, 0, 0, 0 },
+ { 0x791E, CHIP_FAMILY_RS690, 0, 1, 0, 0, 0 },
+ { 0x791F, CHIP_FAMILY_RS690, 0, 1, 0, 0, 0 },
+ { 0x796C, CHIP_FAMILY_RS740, 0, 1, 0, 0, 0 },
+ { 0x796D, CHIP_FAMILY_RS740, 0, 1, 0, 0, 0 },
+ { 0x796E, CHIP_FAMILY_RS740, 0, 1, 0, 0, 0 },
+ { 0x796F, CHIP_FAMILY_RS740, 0, 1, 0, 0, 0 },
+ { 0x9400, CHIP_FAMILY_R600, 0, 0, 0, 0, 0 },
+ { 0x9401, CHIP_FAMILY_R600, 0, 0, 0, 0, 0 },
+ { 0x9402, CHIP_FAMILY_R600, 0, 0, 0, 0, 0 },
+ { 0x9403, CHIP_FAMILY_R600, 0, 0, 0, 0, 0 },
+ { 0x9405, CHIP_FAMILY_R600, 0, 0, 0, 0, 0 },
+ { 0x940A, CHIP_FAMILY_R600, 0, 0, 0, 0, 0 },
+ { 0x940B, CHIP_FAMILY_R600, 0, 0, 0, 0, 0 },
+ { 0x940F, CHIP_FAMILY_R600, 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 },
+ { 0x94C4, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
+ { 0x94C5, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
+ { 0x94C6, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
+ { 0x94C7, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
+ { 0x94C8, CHIP_FAMILY_RV610, 1, 0, 0, 0, 0 },
+ { 0x94C9, CHIP_FAMILY_RV610, 1, 0, 0, 0, 0 },
+ { 0x94CB, CHIP_FAMILY_RV610, 1, 0, 0, 0, 0 },
+ { 0x94CC, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
+ { 0x9580, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
+ { 0x9581, CHIP_FAMILY_RV630, 1, 0, 0, 0, 0 },
+ { 0x9583, CHIP_FAMILY_RV630, 1, 0, 0, 0, 0 },
+ { 0x9586, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
+ { 0x9587, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
+ { 0x9588, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
+ { 0x9589, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
+ { 0x958A, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
+ { 0x958B, CHIP_FAMILY_RV630, 1, 0, 0, 0, 0 },
+ { 0x958C, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
+ { 0x958D, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
+ { 0x958E, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
 };
diff --git a/src/radeon_chipset_gen.h b/src/radeon_chipset_gen.h
index 0a7a9c1..9f15b3d 100644
--- a/src/radeon_chipset_gen.h
+++ b/src/radeon_chipset_gen.h
@@ -135,7 +135,139 @@ static SymTabRec RADEONChipsets[] = {
   { PCI_CHIP_RV410_5E4C, "ATI Radeon X700 SE (RV410) (PCIE)" },
   { PCI_CHIP_RV410_5E4D, "ATI Radeon X700 (RV410) (PCIE)" },
   { PCI_CHIP_RV410_5E4F, "ATI Radeon X700 SE (RV410) (PCIE)" },
+  { PCI_CHIP_R520_7100, "ATI Radeon X1800" },
+  { PCI_CHIP_R520_7101, "ATI Mobility Radeon X1800 XT" },
+  { PCI_CHIP_R520_7102, "ATI Mobility Radeon X1800" },
+  { PCI_CHIP_R520_7103, "ATI Mobility FireGL V7200" },
+  { PCI_CHIP_R520_7104, "ATI FireGL V7200" },
+  { PCI_CHIP_R520_7105, "ATI FireGL V5300" },
+  { PCI_CHIP_R520_7106, "ATI Mobility FireGL V7100" },
+  { PCI_CHIP_R520_7108, "ATI Radeon X1800" },
+  { PCI_CHIP_R520_7109, "ATI Radeon X1800" },
+  { PCI_CHIP_R520_710A, "ATI Radeon X1800" },
+  { PCI_CHIP_R520_710B, "ATI Radeon X1800" },
+  { PCI_CHIP_R520_710C, "ATI Radeon X1800" },
+  { PCI_CHIP_R520_710E, "ATI FireGL V7300" },
+  { PCI_CHIP_R520_710F, "ATI FireGL V7350" },
+  { PCI_CHIP_RV515_7140, "ATI Radeon X1600" },
+  { PCI_CHIP_RV515_7141, "ATI RV505" },
+  { PCI_CHIP_RV515_7142, "ATI Radeon X1300/X1550" },
+  { PCI_CHIP_RV515_7143, "ATI Radeon X1550" },
+  { PCI_CHIP_RV515_7144, "ATI M54-GL" },
+  { PCI_CHIP_RV515_7145, "ATI Mobility Radeon X1400" },
+  { PCI_CHIP_RV515_7146, "ATI Radeon X1300/X1550" },
+  { PCI_CHIP_RV515_7147, "ATI Radeon X1550 64-bit" },
+  { PCI_CHIP_RV515_7149, "ATI Mobility Radeon X1300" },
+  { PCI_CHIP_RV515_714A, "ATI Mobility Radeon X1300" },
+  { PCI_CHIP_RV515_714B, "ATI Mobility Radeon X1300" },
+  { PCI_CHIP_RV515_714C, "ATI Mobility Radeon X1300" },
+  { PCI_CHIP_RV515_714D, "ATI Radeon X1300" },
+  { PCI_CHIP_RV515_714E, "ATI Radeon X1300" },
+  { PCI_CHIP_RV515_714F, "ATI RV505" },
+  { PCI_CHIP_RV515_7151, "ATI RV505" },
+  { PCI_CHIP_RV515_7152, "ATI FireGL V3300" },
+  { PCI_CHIP_RV515_7153, "ATI FireGL V3350" },
+  { PCI_CHIP_RV515_715E, "ATI Radeon X1300" },
+  { PCI_CHIP_RV515_715F, "ATI Radeon X1550 64-bit" },
+  { PCI_CHIP_RV515_7180, "ATI Radeon X1300/X1550" },
+  { PCI_CHIP_RV515_7181, "ATI Radeon X1600" },
+  { PCI_CHIP_RV515_7183, "ATI Radeon X1300/X1550" },
+  { PCI_CHIP_RV515_7186, "ATI Mobility Radeon X1450" },
+  { PCI_CHIP_RV515_7187, "ATI Radeon X1300/X1550" },
+  { PCI_CHIP_RV515_7188, "ATI Mobility Radeon X2300" },
+  { PCI_CHIP_RV515_718A, "ATI Mobility Radeon X2300" },
+  { PCI_CHIP_RV515_718B, "ATI Mobility Radeon X1350" },
+  { PCI_CHIP_RV515_718C, "ATI Mobility Radeon X1350" },
+  { PCI_CHIP_RV515_718D, "ATI Mobility Radeon X1450" },
+  { PCI_CHIP_RV515_718F, "ATI Radeon X1300" },
+  { PCI_CHIP_RV515_7193, "ATI Radeon X1550" },
+  { PCI_CHIP_RV515_7196, "ATI Mobility Radeon X1350" },
+  { PCI_CHIP_RV515_719B, "ATI FireMV 2250" },
+  { PCI_CHIP_RV515_719F, "ATI Radeon X1550 64-bit" },
+  { PCI_CHIP_RV530_71C0, "ATI Radeon X1600" },
+  { PCI_CHIP_RV530_71C1, "ATI Radeon X1650" },
+  { PCI_CHIP_RV530_71C2, "ATI Radeon X1600" },
+  { PCI_CHIP_RV530_71C3, "ATI Radeon X1600" },
+  { PCI_CHIP_RV530_71C4, "ATI Mobility FireGL V5200" },
+  { PCI_CHIP_RV530_71C5, "ATI Mobility Radeon X1600" },
+  { PCI_CHIP_RV530_71C6, "ATI Radeon X1650" },
+  { PCI_CHIP_RV530_71C7, "ATI Radeon X1650" },
+  { PCI_CHIP_RV530_71CD, "ATI Radeon X1600" },
+  { PCI_CHIP_RV530_71CE, "ATI Radeon X1300 XT/X1600 Pro" },
+  { PCI_CHIP_RV530_71D2, "ATI FireGL V3400" },
+  { PCI_CHIP_RV530_71D4, "ATI Mobility FireGL V5250" },
+  { PCI_CHIP_RV530_71D5, "ATI Mobility Radeon X1700" },
+  { PCI_CHIP_RV530_71D6, "ATI Mobility Radeon X1700 XT" },
+  { PCI_CHIP_RV530_71DA, "ATI FireGL V5200" },
+  { PCI_CHIP_RV530_71DE, "ATI Mobility Radeon X1700" },
+  { PCI_CHIP_RV530_7200, "ATI  Radeon X2300HD" },
+  { PCI_CHIP_RV530_7210, "ATI Mobility Radeon HD 2300" },
+  { PCI_CHIP_RV530_7211, "ATI Mobility Radeon HD 2300" },
+  { PCI_CHIP_R580_7240, "ATI Radeon X1950" },
+  { PCI_CHIP_R580_7243, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_7244, "ATI Radeon X1950" },
+  { PCI_CHIP_R580_7245, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_7246, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_7247, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_7248, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_7249, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_724A, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_724B, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_724C, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_724D, "ATI Radeon X1900" },
+  { PCI_CHIP_R580_724E, "ATI AMD Stream Processor" },
+  { PCI_CHIP_R580_724F, "ATI Radeon X1900" },
+  { PCI_CHIP_RV570_7280, "ATI Radeon X1950" },
+  { PCI_CHIP_RV560_7281, "ATI RV560" },
+  { PCI_CHIP_RV560_7283, "ATI RV560" },
+  { PCI_CHIP_R580_7284, "ATI Mobility Radeon X1900" },
+  { PCI_CHIP_RV560_7287, "ATI RV560" },
+  { PCI_CHIP_RV570_7288, "ATI Radeon X1950 GT" },
+  { PCI_CHIP_RV570_7289, "ATI RV570" },
+  { PCI_CHIP_RV570_728B, "ATI RV570" },
+  { PCI_CHIP_RV570_728C, "ATI ATI FireGL V7400" },
+  { PCI_CHIP_RV560_7290, "ATI RV560" },
+  { PCI_CHIP_RV560_7291, "ATI Radeon X1650" },
+  { PCI_CHIP_RV560_7293, "ATI Radeon X1650" },
+  { PCI_CHIP_RV560_7297, "ATI RV560" },
   { PCI_CHIP_RS350_7834, "ATI Radeon 9100 PRO IGP 7834" },
   { PCI_CHIP_RS350_7835, "ATI Radeon Mobility 9200 IGP 7835" },
+  { PCI_CHIP_RS690_791E, "ATI Radeon X1200" },
+  { PCI_CHIP_RS690_791F, "ATI Radeon X1200" },
+  { PCI_CHIP_RS740_796C, "ATI RS740" },
+  { PCI_CHIP_RS740_796D, "ATI RS740M" },
+  { PCI_CHIP_RS740_796E, "ATI RS740" },
+  { PCI_CHIP_RS740_796F, "ATI RS740M" },
+  { PCI_CHIP_R600_9400, "ATI Radeon HD 2900 XT" },
+  { PCI_CHIP_R600_9401, "ATI Radeon HD 2900 XT" },
+  { PCI_CHIP_R600_9402, "ATI Radeon HD 2900 XT" },
+  { PCI_CHIP_R600_9403, "ATI Radeon HD 2900 Pro" },
+  { PCI_CHIP_R600_9405, "ATI Radeon HD 2900 GT" },
+  { PCI_CHIP_R600_940A, "ATI FireGL V8650" },
+  { PCI_CHIP_R600_940B, "ATI FireGL V8600" },
+  { PCI_CHIP_R600_940F, "ATI FireGL V7600" },
+  { PCI_CHIP_RV610_94C0, "ATI RV610" },
+  { PCI_CHIP_RV610_94C1, "ATI Radeon HD 2400 XT" },
+  { PCI_CHIP_RV610_94C3, "ATI Radeon HD 2400 Pro" },
+  { PCI_CHIP_RV610_94C4, "ATI ATI Radeon HD 2400 PRO AGP" },
+  { PCI_CHIP_RV610_94C5, "ATI FireGL V4000" },
+  { PCI_CHIP_RV610_94C6, "ATI RV610" },
+  { PCI_CHIP_RV610_94C7, "ATI ATI Radeon HD 2350" },
+  { PCI_CHIP_RV610_94C8, "ATI Mobility Radeon HD 2400 XT" },
+  { PCI_CHIP_RV610_94C9, "ATI Mobility Radeon HD 2400" },
+  { PCI_CHIP_RV610_94CB, "ATI ATI RADEON E2400" },
+  { PCI_CHIP_RV610_94CC, "ATI RV610" },
+  { PCI_CHIP_RV630_9580, "ATI RV630" },
+  { PCI_CHIP_RV630_9581, "ATI Mobility Radeon HD 2600" },
+  { PCI_CHIP_RV630_9583, "ATI Mobility Radeon HD 2600 XT" },
+  { PCI_CHIP_RV630_9586, "ATI ATI Radeon HD 2600 XT AGP" },
+  { PCI_CHIP_RV630_9587, "ATI ATI Radeon HD 2600 Pro AGP" },
+  { PCI_CHIP_RV630_9588, "ATI Radeon HD 2600 XT" },
+  { PCI_CHIP_RV630_9589, "ATI Radeon HD 2600 Pro" },
+  { PCI_CHIP_RV630_958A, "ATI Gemini RV630" },
+  { PCI_CHIP_RV630_958B, "ATI Gemini ATI Mobility Radeon HD 2600 XT" },
+  { PCI_CHIP_RV630_958C, "ATI FireGL V5600" },
+  { PCI_CHIP_RV630_958D, "ATI FireGL V3600" },
+  { PCI_CHIP_RV630_958E, "ATI ATI Radeon HD 2600 LE" },
   { -1,                 NULL }
 };
diff --git a/src/radeon_pci_chipset_gen.h b/src/radeon_pci_chipset_gen.h
index 7a36242..5847d5a 100644
--- a/src/radeon_pci_chipset_gen.h
+++ b/src/radeon_pci_chipset_gen.h
@@ -135,7 +135,139 @@ PciChipsets RADEONPciChipsets[] = {
  { PCI_CHIP_RV410_5E4C, PCI_CHIP_RV410_5E4C, RES_SHARED_VGA },
  { PCI_CHIP_RV410_5E4D, PCI_CHIP_RV410_5E4D, RES_SHARED_VGA },
  { PCI_CHIP_RV410_5E4F, PCI_CHIP_RV410_5E4F, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7100, PCI_CHIP_R520_7100, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7101, PCI_CHIP_R520_7101, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7102, PCI_CHIP_R520_7102, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7103, PCI_CHIP_R520_7103, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7104, PCI_CHIP_R520_7104, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7105, PCI_CHIP_R520_7105, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7106, PCI_CHIP_R520_7106, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7108, PCI_CHIP_R520_7108, RES_SHARED_VGA },
+ { PCI_CHIP_R520_7109, PCI_CHIP_R520_7109, RES_SHARED_VGA },
+ { PCI_CHIP_R520_710A, PCI_CHIP_R520_710A, RES_SHARED_VGA },
+ { PCI_CHIP_R520_710B, PCI_CHIP_R520_710B, RES_SHARED_VGA },
+ { PCI_CHIP_R520_710C, PCI_CHIP_R520_710C, RES_SHARED_VGA },
+ { PCI_CHIP_R520_710E, PCI_CHIP_R520_710E, RES_SHARED_VGA },
+ { PCI_CHIP_R520_710F, PCI_CHIP_R520_710F, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7140, PCI_CHIP_RV515_7140, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7141, PCI_CHIP_RV515_7141, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7142, PCI_CHIP_RV515_7142, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7143, PCI_CHIP_RV515_7143, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7144, PCI_CHIP_RV515_7144, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7145, PCI_CHIP_RV515_7145, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7146, PCI_CHIP_RV515_7146, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7147, PCI_CHIP_RV515_7147, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7149, PCI_CHIP_RV515_7149, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_714A, PCI_CHIP_RV515_714A, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_714B, PCI_CHIP_RV515_714B, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_714C, PCI_CHIP_RV515_714C, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_714D, PCI_CHIP_RV515_714D, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_714E, PCI_CHIP_RV515_714E, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_714F, PCI_CHIP_RV515_714F, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7151, PCI_CHIP_RV515_7151, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7152, PCI_CHIP_RV515_7152, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7153, PCI_CHIP_RV515_7153, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_715E, PCI_CHIP_RV515_715E, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_715F, PCI_CHIP_RV515_715F, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7180, PCI_CHIP_RV515_7180, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7181, PCI_CHIP_RV515_7181, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7183, PCI_CHIP_RV515_7183, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7186, PCI_CHIP_RV515_7186, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7187, PCI_CHIP_RV515_7187, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7188, PCI_CHIP_RV515_7188, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_718A, PCI_CHIP_RV515_718A, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_718B, PCI_CHIP_RV515_718B, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_718C, PCI_CHIP_RV515_718C, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_718D, PCI_CHIP_RV515_718D, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_718F, PCI_CHIP_RV515_718F, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7193, PCI_CHIP_RV515_7193, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_7196, PCI_CHIP_RV515_7196, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_719B, PCI_CHIP_RV515_719B, RES_SHARED_VGA },
+ { PCI_CHIP_RV515_719F, PCI_CHIP_RV515_719F, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71C0, PCI_CHIP_RV530_71C0, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71C1, PCI_CHIP_RV530_71C1, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71C2, PCI_CHIP_RV530_71C2, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71C3, PCI_CHIP_RV530_71C3, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71C4, PCI_CHIP_RV530_71C4, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71C5, PCI_CHIP_RV530_71C5, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71C6, PCI_CHIP_RV530_71C6, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71C7, PCI_CHIP_RV530_71C7, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71CD, PCI_CHIP_RV530_71CD, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71CE, PCI_CHIP_RV530_71CE, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71D2, PCI_CHIP_RV530_71D2, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71D4, PCI_CHIP_RV530_71D4, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71D5, PCI_CHIP_RV530_71D5, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71D6, PCI_CHIP_RV530_71D6, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71DA, PCI_CHIP_RV530_71DA, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_71DE, PCI_CHIP_RV530_71DE, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_7200, PCI_CHIP_RV530_7200, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_7210, PCI_CHIP_RV530_7210, RES_SHARED_VGA },
+ { PCI_CHIP_RV530_7211, PCI_CHIP_RV530_7211, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7240, PCI_CHIP_R580_7240, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7243, PCI_CHIP_R580_7243, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7244, PCI_CHIP_R580_7244, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7245, PCI_CHIP_R580_7245, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7246, PCI_CHIP_R580_7246, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7247, PCI_CHIP_R580_7247, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7248, PCI_CHIP_R580_7248, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7249, PCI_CHIP_R580_7249, RES_SHARED_VGA },
+ { PCI_CHIP_R580_724A, PCI_CHIP_R580_724A, RES_SHARED_VGA },
+ { PCI_CHIP_R580_724B, PCI_CHIP_R580_724B, RES_SHARED_VGA },
+ { PCI_CHIP_R580_724C, PCI_CHIP_R580_724C, RES_SHARED_VGA },
+ { PCI_CHIP_R580_724D, PCI_CHIP_R580_724D, RES_SHARED_VGA },
+ { PCI_CHIP_R580_724E, PCI_CHIP_R580_724E, RES_SHARED_VGA },
+ { PCI_CHIP_R580_724F, PCI_CHIP_R580_724F, RES_SHARED_VGA },
+ { PCI_CHIP_RV570_7280, PCI_CHIP_RV570_7280, RES_SHARED_VGA },
+ { PCI_CHIP_RV560_7281, PCI_CHIP_RV560_7281, RES_SHARED_VGA },
+ { PCI_CHIP_RV560_7283, PCI_CHIP_RV560_7283, RES_SHARED_VGA },
+ { PCI_CHIP_R580_7284, PCI_CHIP_R580_7284, RES_SHARED_VGA },
+ { PCI_CHIP_RV560_7287, PCI_CHIP_RV560_7287, RES_SHARED_VGA },
+ { PCI_CHIP_RV570_7288, PCI_CHIP_RV570_7288, RES_SHARED_VGA },
+ { PCI_CHIP_RV570_7289, PCI_CHIP_RV570_7289, RES_SHARED_VGA },
+ { PCI_CHIP_RV570_728B, PCI_CHIP_RV570_728B, RES_SHARED_VGA },
+ { PCI_CHIP_RV570_728C, PCI_CHIP_RV570_728C, RES_SHARED_VGA },
+ { PCI_CHIP_RV560_7290, PCI_CHIP_RV560_7290, RES_SHARED_VGA },
+ { PCI_CHIP_RV560_7291, PCI_CHIP_RV560_7291, RES_SHARED_VGA },
+ { PCI_CHIP_RV560_7293, PCI_CHIP_RV560_7293, RES_SHARED_VGA },
+ { PCI_CHIP_RV560_7297, PCI_CHIP_RV560_7297, RES_SHARED_VGA },
  { PCI_CHIP_RS350_7834, PCI_CHIP_RS350_7834, RES_SHARED_VGA },
  { PCI_CHIP_RS350_7835, PCI_CHIP_RS350_7835, RES_SHARED_VGA },
+ { PCI_CHIP_RS690_791E, PCI_CHIP_RS690_791E, RES_SHARED_VGA },
+ { PCI_CHIP_RS690_791F, PCI_CHIP_RS690_791F, RES_SHARED_VGA },
+ { PCI_CHIP_RS740_796C, PCI_CHIP_RS740_796C, RES_SHARED_VGA },
+ { PCI_CHIP_RS740_796D, PCI_CHIP_RS740_796D, RES_SHARED_VGA },
+ { PCI_CHIP_RS740_796E, PCI_CHIP_RS740_796E, RES_SHARED_VGA },
+ { PCI_CHIP_RS740_796F, PCI_CHIP_RS740_796F, RES_SHARED_VGA },
+ { PCI_CHIP_R600_9400, PCI_CHIP_R600_9400, RES_SHARED_VGA },
+ { PCI_CHIP_R600_9401, PCI_CHIP_R600_9401, RES_SHARED_VGA },
+ { PCI_CHIP_R600_9402, PCI_CHIP_R600_9402, RES_SHARED_VGA },
+ { PCI_CHIP_R600_9403, PCI_CHIP_R600_9403, RES_SHARED_VGA },
+ { PCI_CHIP_R600_9405, PCI_CHIP_R600_9405, RES_SHARED_VGA },
+ { PCI_CHIP_R600_940A, PCI_CHIP_R600_940A, RES_SHARED_VGA },
+ { PCI_CHIP_R600_940B, PCI_CHIP_R600_940B, RES_SHARED_VGA },
+ { PCI_CHIP_R600_940F, PCI_CHIP_R600_940F, 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 },
+ { PCI_CHIP_RV610_94C4, PCI_CHIP_RV610_94C4, RES_SHARED_VGA },
+ { PCI_CHIP_RV610_94C5, PCI_CHIP_RV610_94C5, RES_SHARED_VGA },
+ { PCI_CHIP_RV610_94C6, PCI_CHIP_RV610_94C6, RES_SHARED_VGA },
+ { PCI_CHIP_RV610_94C7, PCI_CHIP_RV610_94C7, RES_SHARED_VGA },
+ { PCI_CHIP_RV610_94C8, PCI_CHIP_RV610_94C8, RES_SHARED_VGA },
+ { PCI_CHIP_RV610_94C9, PCI_CHIP_RV610_94C9, RES_SHARED_VGA },
+ { PCI_CHIP_RV610_94CB, PCI_CHIP_RV610_94CB, RES_SHARED_VGA },
+ { PCI_CHIP_RV610_94CC, PCI_CHIP_RV610_94CC, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_9580, PCI_CHIP_RV630_9580, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_9581, PCI_CHIP_RV630_9581, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_9583, PCI_CHIP_RV630_9583, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_9586, PCI_CHIP_RV630_9586, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_9587, PCI_CHIP_RV630_9587, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_9588, PCI_CHIP_RV630_9588, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_9589, PCI_CHIP_RV630_9589, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_958A, PCI_CHIP_RV630_958A, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_958B, PCI_CHIP_RV630_958B, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_958C, PCI_CHIP_RV630_958C, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_958D, PCI_CHIP_RV630_958D, RES_SHARED_VGA },
+ { PCI_CHIP_RV630_958E, PCI_CHIP_RV630_958E, RES_SHARED_VGA },
  { -1,                 -1,                 RES_UNDEFINED }
 };
commit 5d023e2c3c2ab44ea57ffadc9607025d602c376c
Merge: 0d1e0c7... c887260...
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Nov 20 13:02:43 2007 +1000

    Merge branch 'master' into atombios-support
    
    Conflicts:
    
    	src/radeon_chipset.h
    	src/radeon_driver.c
    	src/radeon_probe.c

diff --cc src/atipciids.h
index 902bddc,f24f8fb..2953964
--- a/src/atipciids.h
+++ b/src/atipciids.h
@@@ -38,261 -38,8 +38,15 @@@
  #define PCI_VENDOR_AMD			0x1022
  #define PCI_VENDOR_DELL			0x1028
  
- /* ATI */
- #define PCI_CHIP_RV380_3150             0x3150
- #define PCI_CHIP_RV380_3151             0x3151
- #define PCI_CHIP_RV380_3152             0x3152
- #define PCI_CHIP_RV380_3153             0x3153
- #define PCI_CHIP_RV380_3154             0x3154
- #define PCI_CHIP_RV380_3156             0x3156
- #define PCI_CHIP_RV380_3E50             0x3E50
- #define PCI_CHIP_RV380_3E51             0x3E51
- #define PCI_CHIP_RV380_3E52             0x3E52
- #define PCI_CHIP_RV380_3E53             0x3E53
- #define PCI_CHIP_RV380_3E54             0x3E54
- #define PCI_CHIP_RV380_3E56             0x3E56
- #define PCI_CHIP_RS100_4136		0x4136
- #define PCI_CHIP_RS200_4137		0x4137
- #define PCI_CHIP_R300_AD		0x4144
- #define PCI_CHIP_R300_AE		0x4145
- #define PCI_CHIP_R300_AF		0x4146
- #define PCI_CHIP_R300_AG		0x4147
- #define PCI_CHIP_R350_AH                0x4148
- #define PCI_CHIP_R350_AI                0x4149
- #define PCI_CHIP_R350_AJ                0x414A
- #define PCI_CHIP_R350_AK                0x414B
- #define PCI_CHIP_RV350_AP               0x4150
- #define PCI_CHIP_RV350_AQ               0x4151
- #define PCI_CHIP_RV360_AR               0x4152
- #define PCI_CHIP_RV350_AS               0x4153
- #define PCI_CHIP_RV350_AT               0x4154
- #define PCI_CHIP_RV350_4155             0x4155
- #define PCI_CHIP_RV350_AV               0x4156
- #define PCI_CHIP_MACH32			0x4158
- #define PCI_CHIP_RS250_4237		0x4237
- #define PCI_CHIP_R200_BB		0x4242
- #define PCI_CHIP_R200_BC		0x4243
- #define PCI_CHIP_RS100_4336		0x4336
- #define PCI_CHIP_RS200_4337		0x4337
- #define PCI_CHIP_MACH64CT		0x4354
- #define PCI_CHIP_MACH64CX		0x4358
- #define PCI_CHIP_RS250_4437		0x4437
- #define PCI_CHIP_MACH64ET		0x4554
- #define PCI_CHIP_MACH64GB		0x4742
- #define PCI_CHIP_MACH64GD		0x4744
- #define PCI_CHIP_MACH64GI		0x4749
- #define PCI_CHIP_MACH64GL		0x474C
- #define PCI_CHIP_MACH64GM		0x474D
- #define PCI_CHIP_MACH64GN		0x474E
- #define PCI_CHIP_MACH64GO		0x474F
- #define PCI_CHIP_MACH64GP		0x4750
- #define PCI_CHIP_MACH64GQ		0x4751
- #define PCI_CHIP_MACH64GR		0x4752
- #define PCI_CHIP_MACH64GS		0x4753
- #define PCI_CHIP_MACH64GT		0x4754
- #define PCI_CHIP_MACH64GU		0x4755
- #define PCI_CHIP_MACH64GV		0x4756
- #define PCI_CHIP_MACH64GW		0x4757
- #define PCI_CHIP_MACH64GX		0x4758
- #define PCI_CHIP_MACH64GY		0x4759
- #define PCI_CHIP_MACH64GZ		0x475A
- #define PCI_CHIP_RV250_Id		0x4964
- #define PCI_CHIP_RV250_Ie		0x4965
- #define PCI_CHIP_RV250_If		0x4966
- #define PCI_CHIP_RV250_Ig		0x4967
- #define PCI_CHIP_R420_JH                0x4A48
- #define PCI_CHIP_R420_JI                0x4A49
- #define PCI_CHIP_R420_JJ                0x4A4A
- #define PCI_CHIP_R420_JK                0x4A4B
- #define PCI_CHIP_R420_JL                0x4A4C
- #define PCI_CHIP_R420_JM                0x4A4D
- #define PCI_CHIP_R420_JN                0x4A4E
- #define PCI_CHIP_R420_4A4F              0x4A4F
- #define PCI_CHIP_R420_JP                0x4A50
- #define PCI_CHIP_R420_4A54              0x4A54
- #define PCI_CHIP_R481_4B49              0x4B49
- #define PCI_CHIP_R481_4B4A              0x4B4A
- #define PCI_CHIP_R481_4B4B              0x4B4B
- #define PCI_CHIP_R481_4B4C              0x4B4C
- #define PCI_CHIP_MACH64LB		0x4C42
- #define PCI_CHIP_MACH64LD		0x4C44
- #define PCI_CHIP_RAGE128LE		0x4C45
- #define PCI_CHIP_RAGE128LF		0x4C46
- #define PCI_CHIP_MACH64LG		0x4C47
- #define PCI_CHIP_MACH64LI		0x4C49
- #define PCI_CHIP_MACH64LM		0x4C4D
- #define PCI_CHIP_MACH64LN		0x4C4E
- #define PCI_CHIP_MACH64LP		0x4C50
- #define PCI_CHIP_MACH64LQ		0x4C51
- #define PCI_CHIP_MACH64LR		0x4C52
- #define PCI_CHIP_MACH64LS		0x4C53
- #define PCI_CHIP_RADEON_LW		0x4C57
- #define PCI_CHIP_RADEON_LX		0x4C58
- #define PCI_CHIP_RADEON_LY		0x4C59
- #define PCI_CHIP_RADEON_LZ		0x4C5A
- #define PCI_CHIP_RV250_Ld		0x4C64
- #define PCI_CHIP_RV250_Le		0x4C65
- #define PCI_CHIP_RV250_Lf		0x4C66
- #define PCI_CHIP_RV250_Lg		0x4C67
- #define PCI_CHIP_RV250_Ln		0x4C6E
- #define PCI_CHIP_RAGE128MF		0x4D46
- #define PCI_CHIP_RAGE128ML		0x4D4C
- #define PCI_CHIP_R300_ND		0x4E44
- #define PCI_CHIP_R300_NE		0x4E45
- #define PCI_CHIP_R300_NF		0x4E46
- #define PCI_CHIP_R300_NG		0x4E47
- #define PCI_CHIP_R350_NH                0x4E48  
- #define PCI_CHIP_R350_NI                0x4E49  
- #define PCI_CHIP_R360_NJ                0x4E4A  
- #define PCI_CHIP_R350_NK                0x4E4B  
- #define PCI_CHIP_RV350_NP               0x4E50
- #define PCI_CHIP_RV350_NQ               0x4E51
- #define PCI_CHIP_RV350_NR               0x4E52
- #define PCI_CHIP_RV350_NS               0x4E53
- #define PCI_CHIP_RV350_NT               0x4E54
- #define PCI_CHIP_RV350_NV               0x4E56
- #define PCI_CHIP_RAGE128PA		0x5041
- #define PCI_CHIP_RAGE128PB		0x5042
- #define PCI_CHIP_RAGE128PC		0x5043
- #define PCI_CHIP_RAGE128PD		0x5044
- #define PCI_CHIP_RAGE128PE		0x5045
- #define PCI_CHIP_RAGE128PF		0x5046
- #define PCI_CHIP_RAGE128PG		0x5047
- #define PCI_CHIP_RAGE128PH		0x5048
- #define PCI_CHIP_RAGE128PI		0x5049
- #define PCI_CHIP_RAGE128PJ		0x504A
- #define PCI_CHIP_RAGE128PK		0x504B
- #define PCI_CHIP_RAGE128PL		0x504C
- #define PCI_CHIP_RAGE128PM		0x504D
- #define PCI_CHIP_RAGE128PN		0x504E
- #define PCI_CHIP_RAGE128PO		0x504F
- #define PCI_CHIP_RAGE128PP		0x5050
- #define PCI_CHIP_RAGE128PQ		0x5051
- #define PCI_CHIP_RAGE128PR		0x5052
- #define PCI_CHIP_RAGE128PS		0x5053
- #define PCI_CHIP_RAGE128PT		0x5054
- #define PCI_CHIP_RAGE128PU		0x5055
- #define PCI_CHIP_RAGE128PV		0x5056
- #define PCI_CHIP_RAGE128PW		0x5057
- #define PCI_CHIP_RAGE128PX		0x5058
- #define PCI_CHIP_RADEON_QD		0x5144
- #define PCI_CHIP_RADEON_QE		0x5145
- #define PCI_CHIP_RADEON_QF		0x5146
- #define PCI_CHIP_RADEON_QG		0x5147
- #define PCI_CHIP_R200_QH		0x5148
- #define PCI_CHIP_R200_QI		0x5149
- #define PCI_CHIP_R200_QJ		0x514A
- #define PCI_CHIP_R200_QK		0x514B
- #define PCI_CHIP_R200_QL		0x514C
- #define PCI_CHIP_R200_QM		0x514D
- #define PCI_CHIP_R200_QN		0x514E
- #define PCI_CHIP_R200_QO		0x514F
- #define PCI_CHIP_RV200_QW		0x5157
- #define PCI_CHIP_RV200_QX		0x5158
- #define PCI_CHIP_RV100_QY		0x5159
- #define PCI_CHIP_RV100_QZ		0x515A
- #define PCI_CHIP_RN50_515E		0x515E
- #define PCI_CHIP_RAGE128RE		0x5245
- #define PCI_CHIP_RAGE128RF		0x5246
- #define PCI_CHIP_RAGE128RG		0x5247
- #define PCI_CHIP_RAGE128RK		0x524B
- #define PCI_CHIP_RAGE128RL		0x524C
- #define PCI_CHIP_RAGE128SE		0x5345
- #define PCI_CHIP_RAGE128SF		0x5346
- #define PCI_CHIP_RAGE128SG		0x5347
- #define PCI_CHIP_RAGE128SH		0x5348
- #define PCI_CHIP_RAGE128SK		0x534B
- #define PCI_CHIP_RAGE128SL		0x534C
- #define PCI_CHIP_RAGE128SM		0x534D
- #define PCI_CHIP_RAGE128SN		0x534E
- #define PCI_CHIP_RAGE128TF		0x5446
- #define PCI_CHIP_RAGE128TL		0x544C
- #define PCI_CHIP_RAGE128TR		0x5452
- #define PCI_CHIP_RAGE128TS		0x5453
- #define PCI_CHIP_RAGE128TT		0x5454
- #define PCI_CHIP_RAGE128TU		0x5455
- #define PCI_CHIP_RV370_5460             0x5460
- #define PCI_CHIP_RV370_5461             0x5461
- #define PCI_CHIP_RV370_5462             0x5462
- #define PCI_CHIP_RV370_5463             0x5463
- #define PCI_CHIP_RV370_5464             0x5464
- #define PCI_CHIP_RV370_5465             0x5465
- #define PCI_CHIP_RV370_5466             0x5466
- #define PCI_CHIP_RV370_5467             0x5467
- #define PCI_CHIP_R423_UH                0x5548
- #define PCI_CHIP_R423_UI                0x5549
- #define PCI_CHIP_R423_UJ                0x554A
- #define PCI_CHIP_R423_UK                0x554B
- #define PCI_CHIP_R430_554C              0x554C
- #define PCI_CHIP_R430_554D              0x554D
- #define PCI_CHIP_R430_554E              0x554E
- #define PCI_CHIP_R430_554F              0x554F
- #define PCI_CHIP_R423_5550              0x5550
- #define PCI_CHIP_R423_UQ                0x5551
- #define PCI_CHIP_R423_UR                0x5552
- #define PCI_CHIP_R423_UT                0x5554
- #define PCI_CHIP_RV410_564A             0x564A
- #define PCI_CHIP_RV410_564B             0x564B
- #define PCI_CHIP_RV410_564F             0x564F
- #define PCI_CHIP_RV410_5652             0x5652
- #define PCI_CHIP_RV410_5653             0x5653
- #define PCI_CHIP_MACH64VT		0x5654
- #define PCI_CHIP_MACH64VU		0x5655
- #define PCI_CHIP_MACH64VV		0x5656
- #define PCI_CHIP_RS300_5834		0x5834
- #define PCI_CHIP_RS300_5835		0x5835
- #define PCI_CHIP_RS300_5836		0x5836
- #define PCI_CHIP_RS300_5837		0x5837
- #define PCI_CHIP_RS480_5954             0x5954
- #define PCI_CHIP_RS480_5955             0x5955
- #define PCI_CHIP_RV280_5960		0x5960
- #define PCI_CHIP_RV280_5961		0x5961
- #define PCI_CHIP_RV280_5962		0x5962
- #define PCI_CHIP_RV280_5964		0x5964
- #define PCI_CHIP_RV280_5965 		0x5965
- #define PCI_CHIP_RN50_5969		0x5969
- #define PCI_CHIP_RS482_5974             0x5974
- #define PCI_CHIP_RS485_5975             0x5975
- #define PCI_CHIP_RS400_5A41             0x5A41
- #define PCI_CHIP_RS400_5A42             0x5A42
- #define PCI_CHIP_RC410_5A61             0x5A61
- #define PCI_CHIP_RC410_5A62             0x5A62
- #define PCI_CHIP_RV370_5B60             0x5B60
- #define PCI_CHIP_RV370_5B61             0x5B61
- #define PCI_CHIP_RV370_5B62             0x5B62
- #define PCI_CHIP_RV370_5B63             0x5B63
- #define PCI_CHIP_RV370_5B64             0x5B64
- #define PCI_CHIP_RV370_5B65             0x5B65
- #define PCI_CHIP_RV370_5B66             0x5B66
- #define PCI_CHIP_RV370_5B67             0x5B67
- #define PCI_CHIP_RV280_5C61		0x5C61
- #define PCI_CHIP_RV280_5C63		0x5C63
- #define PCI_CHIP_R430_5D48              0x5D48
- #define PCI_CHIP_R430_5D49              0x5D49
- #define PCI_CHIP_R430_5D4A              0x5D4A
- #define PCI_CHIP_R480_5D4C              0x5D4C
- #define PCI_CHIP_R480_5D4D              0x5D4D
- #define PCI_CHIP_R480_5D4E              0x5D4E
- #define PCI_CHIP_R480_5D4F              0x5D4F
- #define PCI_CHIP_R480_5D50              0x5D50
- #define PCI_CHIP_R480_5D52              0x5D52
- #define PCI_CHIP_R423_5D57              0x5D57
- #define PCI_CHIP_RV410_5E48             0x5E48
- #define PCI_CHIP_RV410_5E4A             0x5E4A
- #define PCI_CHIP_RV410_5E4B             0x5E4B
- #define PCI_CHIP_RV410_5E4C             0x5E4C
- #define PCI_CHIP_RV410_5E4D             0x5E4D
- #define PCI_CHIP_RV410_5E4F             0x5E4F
- #define PCI_CHIP_RS350_7834             0x7834
- #define PCI_CHIP_RS350_7835             0x7835
+ #include "ati_pciids_gen.h"
  
 +#define PCI_CHIP_R520_7104		0x7104
 +#define PCI_CHIP_RV515_7142             0x7142
 +#define PCI_CHIP_RV515_7183             0x7183
 +#define PCI_CHIP_RV530_71C5             0x71C5
 +#define PCI_CHIP_R580_7249		0x7249
 +#define PCI_CHIP_RV570_7280             0x7280
 +
  /* Misc */
  #define PCI_CHIP_AMD761			0x700E
  
diff --cc src/radeon.h
index 8fffafe,5b91d00..d503f92
--- a/src/radeon.h
+++ b/src/radeon.h
@@@ -545,9 -443,17 +545,19 @@@ typedef enum 
  	CARD_PCIE
  } RADEONCardType;
  
 +typedef struct _atomBiosHandle *atomBiosHandlePtr;
 +
  typedef struct {
+     CARD32 pci_device_id;
+     RADEONChipFamily chip_family;
+     int mobility;
+     int igp;
+     int nocrtc2;
+     int nointtvout;
+     int singledac;
+ } RADEONCardInfo;
+ 
+ typedef struct {
      EntityInfoPtr     pEnt;
      pciVideoPtr       PciInfo;
      PCITAG            PciTag;
commit c8872603454e6a4ffed9fc7d9adc2c364a429608
Author: Dave Airlie <airlied at clockmaker.usersys.redhat.com>
Date:   Tue Nov 20 22:33:39 2007 +1000

    radeon: restructure pci ids to avoid effort later
    
    This uses a single file with all the pciids and parameters for radeon
    family and setup in it. I don't run the perl script at build time to avoid
    a perl dependency on build but adding pci ids should be done via the csv file
    with openoffice or gnumeric if possible.

diff --git a/src/Makefile.am b/src/Makefile.am
index ff1e225..5152577 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -171,7 +171,6 @@ EXTRA_DIST = \
 	r128_reg.h \
 	r128_sarea.h \
 	r128_version.h \
-	radeon_chipset.h \
 	radeon_common.h \
 	radeon_commonfuncs.c \
 	radeon_dri.h \
@@ -191,4 +190,10 @@ EXTRA_DIST = \
 	theatre.h \
 	theatre_reg.h \
 	atipciids.h \
-	atipcirename.h
+	atipcirename.h \
+	ati_pciids_gen.h \
+	radeon_chipinfo_gen.h \
+	radeon_chipset_gen.h \
+	radeon_pci_chipset_gen.h \
+	pcidb/ati_pciids.csv \
+	pcidb/parse_pci_ids.pl
diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
new file mode 100644
index 0000000..ad54f64
--- /dev/null
+++ b/src/ati_pciids_gen.h
@@ -0,0 +1,219 @@
+#define PCI_CHIP_RV380_3150 0x3150
+#define PCI_CHIP_RV380_3152 0x3152
+#define PCI_CHIP_RV380_3154 0x3154
+#define PCI_CHIP_RV380_3E50 0x3E50
+#define PCI_CHIP_RV380_3E54 0x3E54
+#define PCI_CHIP_RS100_4136 0x4136
+#define PCI_CHIP_RS200_4137 0x4137
+#define PCI_CHIP_R300_AD 0x4144
+#define PCI_CHIP_R300_AE 0x4145
+#define PCI_CHIP_R300_AF 0x4146
+#define PCI_CHIP_R300_AG 0x4147
+#define PCI_CHIP_R350_AH 0x4148
+#define PCI_CHIP_R350_AI 0x4149
+#define PCI_CHIP_R350_AJ 0x414A
+#define PCI_CHIP_R350_AK 0x414B
+#define PCI_CHIP_RV350_AP 0x4150
+#define PCI_CHIP_RV350_AQ 0x4151
+#define PCI_CHIP_RV360_AR 0x4152
+#define PCI_CHIP_RV350_AS 0x4153
+#define PCI_CHIP_RV350_AT 0x4154
+#define PCI_CHIP_RV350_4155 0x4155
+#define PCI_CHIP_RV350_AV 0x4156
+#define PCI_CHIP_MACH32 0x4158
+#define PCI_CHIP_RS250_4237 0x4237
+#define PCI_CHIP_R200_BB 0x4242
+#define PCI_CHIP_R200_BC 0x4243
+#define PCI_CHIP_RS100_4336 0x4336
+#define PCI_CHIP_RS200_4337 0x4337
+#define PCI_CHIP_MACH64CT 0x4354
+#define PCI_CHIP_MACH64CX 0x4358
+#define PCI_CHIP_RS250_4437 0x4437
+#define PCI_CHIP_MACH64ET 0x4554
+#define PCI_CHIP_MACH64GB 0x4742
+#define PCI_CHIP_MACH64GD 0x4744
+#define PCI_CHIP_MACH64GI 0x4749
+#define PCI_CHIP_MACH64GL 0x474C
+#define PCI_CHIP_MACH64GM 0x474D
+#define PCI_CHIP_MACH64GN 0x474E
+#define PCI_CHIP_MACH64GO 0x474F
+#define PCI_CHIP_MACH64GP 0x4750
+#define PCI_CHIP_MACH64GQ 0x4751
+#define PCI_CHIP_MACH64GR 0x4752
+#define PCI_CHIP_MACH64GS 0x4753
+#define PCI_CHIP_MACH64GT 0x4754
+#define PCI_CHIP_MACH64GU 0x4755
+#define PCI_CHIP_MACH64GV 0x4756
+#define PCI_CHIP_MACH64GW 0x4757
+#define PCI_CHIP_MACH64GX 0x4758
+#define PCI_CHIP_MACH64GY 0x4759
+#define PCI_CHIP_MACH64GZ 0x475A
+#define PCI_CHIP_RV250_If 0x4966
+#define PCI_CHIP_RV250_Ig 0x4967
+#define PCI_CHIP_R420_JH 0x4A48
+#define PCI_CHIP_R420_JI 0x4A49
+#define PCI_CHIP_R420_JJ 0x4A4A
+#define PCI_CHIP_R420_JK 0x4A4B
+#define PCI_CHIP_R420_JL 0x4A4C
+#define PCI_CHIP_R420_JM 0x4A4D
+#define PCI_CHIP_R420_JN 0x4A4E
+#define PCI_CHIP_R420_4A4F 0x4A4F
+#define PCI_CHIP_R420_JP 0x4A50
+#define PCI_CHIP_R481_4B49 0x4B49
+#define PCI_CHIP_R481_4B4A 0x4B4A
+#define PCI_CHIP_R481_4B4B 0x4B4B
+#define PCI_CHIP_R481_4B4C 0x4B4C
+#define PCI_CHIP_MACH64LB 0x4C42
+#define PCI_CHIP_MACH64LD 0x4C44
+#define PCI_CHIP_RAGE128LE 0x4C45
+#define PCI_CHIP_RAGE128LF 0x4C46
+#define PCI_CHIP_MACH64LG 0x4C47
+#define PCI_CHIP_MACH64LI 0x4C49
+#define PCI_CHIP_MACH64LM 0x4C4D
+#define PCI_CHIP_MACH64LN 0x4C4E
+#define PCI_CHIP_MACH64LP 0x4C50
+#define PCI_CHIP_MACH64LQ 0x4C51
+#define PCI_CHIP_MACH64LR 0x4C52
+#define PCI_CHIP_MACH64LS 0x4C53
+#define PCI_CHIP_RADEON_LW 0x4C57
+#define PCI_CHIP_RADEON_LX 0x4C58
+#define PCI_CHIP_RADEON_LY 0x4C59
+#define PCI_CHIP_RADEON_LZ 0x4C5A
+#define PCI_CHIP_RV250_Ld 0x4C64
+#define PCI_CHIP_RV250_Lf 0x4C66
+#define PCI_CHIP_RV250_Lg 0x4C67
+#define PCI_CHIP_RAGE128MF 0x4D46
+#define PCI_CHIP_RAGE128ML 0x4D4C
+#define PCI_CHIP_R300_ND 0x4E44
+#define PCI_CHIP_R300_NE 0x4E45
+#define PCI_CHIP_R300_NF 0x4E46
+#define PCI_CHIP_R300_NG 0x4E47
+#define PCI_CHIP_R350_NH 0x4E48
+#define PCI_CHIP_R350_NI 0x4E49
+#define PCI_CHIP_R360_NJ 0x4E4A
+#define PCI_CHIP_R350_NK 0x4E4B
+#define PCI_CHIP_RV350_NP 0x4E50
+#define PCI_CHIP_RV350_NQ 0x4E51
+#define PCI_CHIP_RV350_NR 0x4E52
+#define PCI_CHIP_RV350_NS 0x4E53
+#define PCI_CHIP_RV350_NT 0x4E54
+#define PCI_CHIP_RV350_NV 0x4E56
+#define PCI_CHIP_RAGE128PA 0x5041
+#define PCI_CHIP_RAGE128PB 0x5042
+#define PCI_CHIP_RAGE128PC 0x5043
+#define PCI_CHIP_RAGE128PD 0x5044
+#define PCI_CHIP_RAGE128PE 0x5045
+#define PCI_CHIP_RAGE128PF 0x5046
+#define PCI_CHIP_RAGE128PG 0x5047
+#define PCI_CHIP_RAGE128PH 0x5048
+#define PCI_CHIP_RAGE128PI 0x5049
+#define PCI_CHIP_RAGE128PJ 0x504A
+#define PCI_CHIP_RAGE128PK 0x504B
+#define PCI_CHIP_RAGE128PL 0x504C
+#define PCI_CHIP_RAGE128PM 0x504D
+#define PCI_CHIP_RAGE128PN 0x504E
+#define PCI_CHIP_RAGE128PO 0x504F
+#define PCI_CHIP_RAGE128PP 0x5050
+#define PCI_CHIP_RAGE128PQ 0x5051
+#define PCI_CHIP_RAGE128PR 0x5052
+#define PCI_CHIP_RAGE128PS 0x5053
+#define PCI_CHIP_RAGE128PT 0x5054
+#define PCI_CHIP_RAGE128PU 0x5055
+#define PCI_CHIP_RAGE128PV 0x5056
+#define PCI_CHIP_RAGE128PW 0x5057
+#define PCI_CHIP_RAGE128PX 0x5058
+#define PCI_CHIP_RADEON_QD 0x5144
+#define PCI_CHIP_RADEON_QE 0x5145
+#define PCI_CHIP_RADEON_QF 0x5146
+#define PCI_CHIP_RADEON_QG 0x5147
+#define PCI_CHIP_R200_QH 0x5148
+#define PCI_CHIP_R200_QL 0x514C
+#define PCI_CHIP_R200_QM 0x514D
+#define PCI_CHIP_RV200_QW 0x5157
+#define PCI_CHIP_RV200_QX 0x5158
+#define PCI_CHIP_RV100_QY 0x5159
+#define PCI_CHIP_RV100_QZ 0x515A
+#define PCI_CHIP_RN50_515E 0x515E
+#define PCI_CHIP_RAGE128RE 0x5245
+#define PCI_CHIP_RAGE128RF 0x5246
+#define PCI_CHIP_RAGE128RG 0x5247
+#define PCI_CHIP_RAGE128RK 0x524B
+#define PCI_CHIP_RAGE128RL 0x524C
+#define PCI_CHIP_RAGE128SE 0x5345
+#define PCI_CHIP_RAGE128SF 0x5346
+#define PCI_CHIP_RAGE128SG 0x5347
+#define PCI_CHIP_RAGE128SH 0x5348
+#define PCI_CHIP_RAGE128SK 0x534B
+#define PCI_CHIP_RAGE128SL 0x534C
+#define PCI_CHIP_RAGE128SM 0x534D
+#define PCI_CHIP_RAGE128SN 0x534E
+#define PCI_CHIP_RAGE128TF 0x5446
+#define PCI_CHIP_RAGE128TL 0x544C
+#define PCI_CHIP_RAGE128TR 0x5452
+#define PCI_CHIP_RAGE128TS 0x5453
+#define PCI_CHIP_RAGE128TT 0x5454
+#define PCI_CHIP_RAGE128TU 0x5455
+#define PCI_CHIP_RV370_5460 0x5460
+#define PCI_CHIP_RV370_5462 0x5462
+#define PCI_CHIP_RV370_5464 0x5464
+#define PCI_CHIP_R423_UH 0x5548
+#define PCI_CHIP_R423_UI 0x5549
+#define PCI_CHIP_R423_UJ 0x554A
+#define PCI_CHIP_R423_UK 0x554B
+#define PCI_CHIP_R430_554C 0x554C
+#define PCI_CHIP_R430_554D 0x554D
+#define PCI_CHIP_R430_554E 0x554E
+#define PCI_CHIP_R430_554F 0x554F
+#define PCI_CHIP_R423_5550 0x5550
+#define PCI_CHIP_R423_UQ 0x5551
+#define PCI_CHIP_R423_UR 0x5552
+#define PCI_CHIP_R423_UT 0x5554
+#define PCI_CHIP_RV410_564A 0x564A
+#define PCI_CHIP_RV410_564B 0x564B
+#define PCI_CHIP_RV410_564F 0x564F
+#define PCI_CHIP_RV410_5652 0x5652
+#define PCI_CHIP_RV410_5653 0x5653
+#define PCI_CHIP_MACH64VT 0x5654
+#define PCI_CHIP_MACH64VU 0x5655
+#define PCI_CHIP_MACH64VV 0x5656
+#define PCI_CHIP_RS300_5834 0x5834
+#define PCI_CHIP_RS300_5835 0x5835
+#define PCI_CHIP_RS480_5954 0x5954
+#define PCI_CHIP_RS480_5955 0x5955
+#define PCI_CHIP_RV280_5960 0x5960
+#define PCI_CHIP_RV280_5961 0x5961
+#define PCI_CHIP_RV280_5962 0x5962
+#define PCI_CHIP_RV280_5964 0x5964
+#define PCI_CHIP_RV280_5965 0x5965
+#define PCI_CHIP_RN50_5969 0x5969
+#define PCI_CHIP_RS482_5974 0x5974
+#define PCI_CHIP_RS485_5975 0x5975
+#define PCI_CHIP_RS400_5A41 0x5A41
+#define PCI_CHIP_RS400_5A42 0x5A42
+#define PCI_CHIP_RC410_5A61 0x5A61
+#define PCI_CHIP_RC410_5A62 0x5A62
+#define PCI_CHIP_RV370_5B60 0x5B60
+#define PCI_CHIP_RV370_5B62 0x5B62
+#define PCI_CHIP_RV370_5B63 0x5B63
+#define PCI_CHIP_RV370_5B64 0x5B64
+#define PCI_CHIP_RV370_5B65 0x5B65
+#define PCI_CHIP_RV280_5C61 0x5C61
+#define PCI_CHIP_RV280_5C63 0x5C63
+#define PCI_CHIP_R430_5D48 0x5D48
+#define PCI_CHIP_R430_5D49 0x5D49
+#define PCI_CHIP_R430_5D4A 0x5D4A
+#define PCI_CHIP_R480_5D4C 0x5D4C
+#define PCI_CHIP_R480_5D4D 0x5D4D
+#define PCI_CHIP_R480_5D4E 0x5D4E
+#define PCI_CHIP_R480_5D4F 0x5D4F
+#define PCI_CHIP_R480_5D50 0x5D50
+#define PCI_CHIP_R480_5D52 0x5D52
+#define PCI_CHIP_R423_5D57 0x5D57
+#define PCI_CHIP_RV410_5E48 0x5E48
+#define PCI_CHIP_RV410_5E4A 0x5E4A
+#define PCI_CHIP_RV410_5E4B 0x5E4B
+#define PCI_CHIP_RV410_5E4C 0x5E4C
+#define PCI_CHIP_RV410_5E4D 0x5E4D
+#define PCI_CHIP_RV410_5E4F 0x5E4F
+#define PCI_CHIP_RS350_7834 0x7834
+#define PCI_CHIP_RS350_7835 0x7835
diff --git a/src/atipciids.h b/src/atipciids.h
index 2aa8a3e..f24f8fb 100644
--- a/src/atipciids.h
+++ b/src/atipciids.h
@@ -38,253 +38,7 @@
 #define PCI_VENDOR_AMD			0x1022
 #define PCI_VENDOR_DELL			0x1028
 
-/* ATI */
-#define PCI_CHIP_RV380_3150             0x3150
-#define PCI_CHIP_RV380_3151             0x3151
-#define PCI_CHIP_RV380_3152             0x3152
-#define PCI_CHIP_RV380_3153             0x3153
-#define PCI_CHIP_RV380_3154             0x3154
-#define PCI_CHIP_RV380_3156             0x3156
-#define PCI_CHIP_RV380_3E50             0x3E50
-#define PCI_CHIP_RV380_3E51             0x3E51
-#define PCI_CHIP_RV380_3E52             0x3E52
-#define PCI_CHIP_RV380_3E53             0x3E53
-#define PCI_CHIP_RV380_3E54             0x3E54
-#define PCI_CHIP_RV380_3E56             0x3E56
-#define PCI_CHIP_RS100_4136		0x4136
-#define PCI_CHIP_RS200_4137		0x4137
-#define PCI_CHIP_R300_AD		0x4144
-#define PCI_CHIP_R300_AE		0x4145
-#define PCI_CHIP_R300_AF		0x4146
-#define PCI_CHIP_R300_AG		0x4147
-#define PCI_CHIP_R350_AH                0x4148
-#define PCI_CHIP_R350_AI                0x4149
-#define PCI_CHIP_R350_AJ                0x414A
-#define PCI_CHIP_R350_AK                0x414B
-#define PCI_CHIP_RV350_AP               0x4150
-#define PCI_CHIP_RV350_AQ               0x4151
-#define PCI_CHIP_RV360_AR               0x4152
-#define PCI_CHIP_RV350_AS               0x4153
-#define PCI_CHIP_RV350_AT               0x4154
-#define PCI_CHIP_RV350_4155             0x4155
-#define PCI_CHIP_RV350_AV               0x4156
-#define PCI_CHIP_MACH32			0x4158
-#define PCI_CHIP_RS250_4237		0x4237
-#define PCI_CHIP_R200_BB		0x4242
-#define PCI_CHIP_R200_BC		0x4243
-#define PCI_CHIP_RS100_4336		0x4336
-#define PCI_CHIP_RS200_4337		0x4337
-#define PCI_CHIP_MACH64CT		0x4354
-#define PCI_CHIP_MACH64CX		0x4358
-#define PCI_CHIP_RS250_4437		0x4437
-#define PCI_CHIP_MACH64ET		0x4554
-#define PCI_CHIP_MACH64GB		0x4742
-#define PCI_CHIP_MACH64GD		0x4744
-#define PCI_CHIP_MACH64GI		0x4749
-#define PCI_CHIP_MACH64GL		0x474C
-#define PCI_CHIP_MACH64GM		0x474D
-#define PCI_CHIP_MACH64GN		0x474E
-#define PCI_CHIP_MACH64GO		0x474F
-#define PCI_CHIP_MACH64GP		0x4750
-#define PCI_CHIP_MACH64GQ		0x4751
-#define PCI_CHIP_MACH64GR		0x4752
-#define PCI_CHIP_MACH64GS		0x4753
-#define PCI_CHIP_MACH64GT		0x4754
-#define PCI_CHIP_MACH64GU		0x4755
-#define PCI_CHIP_MACH64GV		0x4756
-#define PCI_CHIP_MACH64GW		0x4757
-#define PCI_CHIP_MACH64GX		0x4758
-#define PCI_CHIP_MACH64GY		0x4759
-#define PCI_CHIP_MACH64GZ		0x475A
-#define PCI_CHIP_RV250_Id		0x4964
-#define PCI_CHIP_RV250_Ie		0x4965
-#define PCI_CHIP_RV250_If		0x4966
-#define PCI_CHIP_RV250_Ig		0x4967
-#define PCI_CHIP_R420_JH                0x4A48
-#define PCI_CHIP_R420_JI                0x4A49
-#define PCI_CHIP_R420_JJ                0x4A4A
-#define PCI_CHIP_R420_JK                0x4A4B
-#define PCI_CHIP_R420_JL                0x4A4C
-#define PCI_CHIP_R420_JM                0x4A4D
-#define PCI_CHIP_R420_JN                0x4A4E
-#define PCI_CHIP_R420_4A4F              0x4A4F
-#define PCI_CHIP_R420_JP                0x4A50
-#define PCI_CHIP_R420_4A54              0x4A54
-#define PCI_CHIP_R481_4B49              0x4B49
-#define PCI_CHIP_R481_4B4A              0x4B4A
-#define PCI_CHIP_R481_4B4B              0x4B4B
-#define PCI_CHIP_R481_4B4C              0x4B4C
-#define PCI_CHIP_MACH64LB		0x4C42
-#define PCI_CHIP_MACH64LD		0x4C44
-#define PCI_CHIP_RAGE128LE		0x4C45
-#define PCI_CHIP_RAGE128LF		0x4C46
-#define PCI_CHIP_MACH64LG		0x4C47
-#define PCI_CHIP_MACH64LI		0x4C49
-#define PCI_CHIP_MACH64LM		0x4C4D
-#define PCI_CHIP_MACH64LN		0x4C4E
-#define PCI_CHIP_MACH64LP		0x4C50
-#define PCI_CHIP_MACH64LQ		0x4C51
-#define PCI_CHIP_MACH64LR		0x4C52
-#define PCI_CHIP_MACH64LS		0x4C53
-#define PCI_CHIP_RADEON_LW		0x4C57
-#define PCI_CHIP_RADEON_LX		0x4C58
-#define PCI_CHIP_RADEON_LY		0x4C59
-#define PCI_CHIP_RADEON_LZ		0x4C5A
-#define PCI_CHIP_RV250_Ld		0x4C64
-#define PCI_CHIP_RV250_Le		0x4C65
-#define PCI_CHIP_RV250_Lf		0x4C66
-#define PCI_CHIP_RV250_Lg		0x4C67
-#define PCI_CHIP_RV250_Ln		0x4C6E
-#define PCI_CHIP_RAGE128MF		0x4D46
-#define PCI_CHIP_RAGE128ML		0x4D4C
-#define PCI_CHIP_R300_ND		0x4E44
-#define PCI_CHIP_R300_NE		0x4E45
-#define PCI_CHIP_R300_NF		0x4E46
-#define PCI_CHIP_R300_NG		0x4E47
-#define PCI_CHIP_R350_NH                0x4E48  
-#define PCI_CHIP_R350_NI                0x4E49  
-#define PCI_CHIP_R360_NJ                0x4E4A  
-#define PCI_CHIP_R350_NK                0x4E4B  
-#define PCI_CHIP_RV350_NP               0x4E50
-#define PCI_CHIP_RV350_NQ               0x4E51
-#define PCI_CHIP_RV350_NR               0x4E52
-#define PCI_CHIP_RV350_NS               0x4E53
-#define PCI_CHIP_RV350_NT               0x4E54
-#define PCI_CHIP_RV350_NV               0x4E56
-#define PCI_CHIP_RAGE128PA		0x5041
-#define PCI_CHIP_RAGE128PB		0x5042
-#define PCI_CHIP_RAGE128PC		0x5043
-#define PCI_CHIP_RAGE128PD		0x5044
-#define PCI_CHIP_RAGE128PE		0x5045
-#define PCI_CHIP_RAGE128PF		0x5046
-#define PCI_CHIP_RAGE128PG		0x5047
-#define PCI_CHIP_RAGE128PH		0x5048
-#define PCI_CHIP_RAGE128PI		0x5049
-#define PCI_CHIP_RAGE128PJ		0x504A
-#define PCI_CHIP_RAGE128PK		0x504B
-#define PCI_CHIP_RAGE128PL		0x504C
-#define PCI_CHIP_RAGE128PM		0x504D
-#define PCI_CHIP_RAGE128PN		0x504E
-#define PCI_CHIP_RAGE128PO		0x504F
-#define PCI_CHIP_RAGE128PP		0x5050
-#define PCI_CHIP_RAGE128PQ		0x5051
-#define PCI_CHIP_RAGE128PR		0x5052
-#define PCI_CHIP_RAGE128PS		0x5053
-#define PCI_CHIP_RAGE128PT		0x5054
-#define PCI_CHIP_RAGE128PU		0x5055
-#define PCI_CHIP_RAGE128PV		0x5056
-#define PCI_CHIP_RAGE128PW		0x5057
-#define PCI_CHIP_RAGE128PX		0x5058
-#define PCI_CHIP_RADEON_QD		0x5144
-#define PCI_CHIP_RADEON_QE		0x5145
-#define PCI_CHIP_RADEON_QF		0x5146
-#define PCI_CHIP_RADEON_QG		0x5147
-#define PCI_CHIP_R200_QH		0x5148
-#define PCI_CHIP_R200_QI		0x5149
-#define PCI_CHIP_R200_QJ		0x514A
-#define PCI_CHIP_R200_QK		0x514B
-#define PCI_CHIP_R200_QL		0x514C
-#define PCI_CHIP_R200_QM		0x514D
-#define PCI_CHIP_R200_QN		0x514E
-#define PCI_CHIP_R200_QO		0x514F
-#define PCI_CHIP_RV200_QW		0x5157
-#define PCI_CHIP_RV200_QX		0x5158
-#define PCI_CHIP_RV100_QY		0x5159
-#define PCI_CHIP_RV100_QZ		0x515A
-#define PCI_CHIP_RN50_515E		0x515E
-#define PCI_CHIP_RAGE128RE		0x5245
-#define PCI_CHIP_RAGE128RF		0x5246
-#define PCI_CHIP_RAGE128RG		0x5247
-#define PCI_CHIP_RAGE128RK		0x524B
-#define PCI_CHIP_RAGE128RL		0x524C
-#define PCI_CHIP_RAGE128SE		0x5345
-#define PCI_CHIP_RAGE128SF		0x5346
-#define PCI_CHIP_RAGE128SG		0x5347
-#define PCI_CHIP_RAGE128SH		0x5348
-#define PCI_CHIP_RAGE128SK		0x534B
-#define PCI_CHIP_RAGE128SL		0x534C
-#define PCI_CHIP_RAGE128SM		0x534D
-#define PCI_CHIP_RAGE128SN		0x534E
-#define PCI_CHIP_RAGE128TF		0x5446
-#define PCI_CHIP_RAGE128TL		0x544C
-#define PCI_CHIP_RAGE128TR		0x5452
-#define PCI_CHIP_RAGE128TS		0x5453
-#define PCI_CHIP_RAGE128TT		0x5454
-#define PCI_CHIP_RAGE128TU		0x5455
-#define PCI_CHIP_RV370_5460             0x5460
-#define PCI_CHIP_RV370_5461             0x5461
-#define PCI_CHIP_RV370_5462             0x5462
-#define PCI_CHIP_RV370_5463             0x5463
-#define PCI_CHIP_RV370_5464             0x5464
-#define PCI_CHIP_RV370_5465             0x5465
-#define PCI_CHIP_RV370_5466             0x5466
-#define PCI_CHIP_RV370_5467             0x5467
-#define PCI_CHIP_R423_UH                0x5548
-#define PCI_CHIP_R423_UI                0x5549
-#define PCI_CHIP_R423_UJ                0x554A
-#define PCI_CHIP_R423_UK                0x554B
-#define PCI_CHIP_R430_554C              0x554C
-#define PCI_CHIP_R430_554D              0x554D
-#define PCI_CHIP_R430_554E              0x554E
-#define PCI_CHIP_R430_554F              0x554F
-#define PCI_CHIP_R423_5550              0x5550
-#define PCI_CHIP_R423_UQ                0x5551
-#define PCI_CHIP_R423_UR                0x5552
-#define PCI_CHIP_R423_UT                0x5554
-#define PCI_CHIP_RV410_564A             0x564A
-#define PCI_CHIP_RV410_564B             0x564B
-#define PCI_CHIP_RV410_564F             0x564F
-#define PCI_CHIP_RV410_5652             0x5652
-#define PCI_CHIP_RV410_5653             0x5653
-#define PCI_CHIP_MACH64VT		0x5654
-#define PCI_CHIP_MACH64VU		0x5655
-#define PCI_CHIP_MACH64VV		0x5656
-#define PCI_CHIP_RS300_5834		0x5834
-#define PCI_CHIP_RS300_5835		0x5835
-#define PCI_CHIP_RS300_5836		0x5836
-#define PCI_CHIP_RS300_5837		0x5837
-#define PCI_CHIP_RS480_5954             0x5954
-#define PCI_CHIP_RS480_5955             0x5955
-#define PCI_CHIP_RV280_5960		0x5960
-#define PCI_CHIP_RV280_5961		0x5961
-#define PCI_CHIP_RV280_5962		0x5962
-#define PCI_CHIP_RV280_5964		0x5964
-#define PCI_CHIP_RV280_5965 		0x5965
-#define PCI_CHIP_RN50_5969		0x5969
-#define PCI_CHIP_RS482_5974             0x5974
-#define PCI_CHIP_RS485_5975             0x5975
-#define PCI_CHIP_RS400_5A41             0x5A41
-#define PCI_CHIP_RS400_5A42             0x5A42
-#define PCI_CHIP_RC410_5A61             0x5A61
-#define PCI_CHIP_RC410_5A62             0x5A62
-#define PCI_CHIP_RV370_5B60             0x5B60
-#define PCI_CHIP_RV370_5B61             0x5B61
-#define PCI_CHIP_RV370_5B62             0x5B62
-#define PCI_CHIP_RV370_5B63             0x5B63
-#define PCI_CHIP_RV370_5B64             0x5B64
-#define PCI_CHIP_RV370_5B65             0x5B65
-#define PCI_CHIP_RV370_5B66             0x5B66
-#define PCI_CHIP_RV370_5B67             0x5B67
-#define PCI_CHIP_RV280_5C61		0x5C61
-#define PCI_CHIP_RV280_5C63		0x5C63
-#define PCI_CHIP_R430_5D48              0x5D48
-#define PCI_CHIP_R430_5D49              0x5D49
-#define PCI_CHIP_R430_5D4A              0x5D4A
-#define PCI_CHIP_R480_5D4C              0x5D4C
-#define PCI_CHIP_R480_5D4D              0x5D4D
-#define PCI_CHIP_R480_5D4E              0x5D4E
-#define PCI_CHIP_R480_5D4F              0x5D4F
-#define PCI_CHIP_R480_5D50              0x5D50
-#define PCI_CHIP_R480_5D52              0x5D52
-#define PCI_CHIP_R423_5D57              0x5D57
-#define PCI_CHIP_RV410_5E48             0x5E48
-#define PCI_CHIP_RV410_5E4A             0x5E4A
-#define PCI_CHIP_RV410_5E4B             0x5E4B
-#define PCI_CHIP_RV410_5E4C             0x5E4C
-#define PCI_CHIP_RV410_5E4D             0x5E4D
-#define PCI_CHIP_RV410_5E4F             0x5E4F
-#define PCI_CHIP_RS350_7834             0x7834
-#define PCI_CHIP_RS350_7835             0x7835
+#include "ati_pciids_gen.h"
 
 /* Misc */
 #define PCI_CHIP_AMD761			0x700E
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
new file mode 100644
index 0000000..f201cc4
--- /dev/null
+++ b/src/pcidb/ati_pciids.csv
@@ -0,0 +1,220 @@
+"#pciid","define","family","mobility","igp","nocrtc2","Nointtvout","singledac","name"
+"0x3150","RV380_3150","RV380",1,,,,,"ATI Radeon Mobility X600 (M24) 3150 (PCIE)"
+"0x3152","RV380_3152","RV380",1,,,,,"ATI Radeon Mobility X300 (M24) 3152 (PCIE)"
+"0x3154","RV380_3154","RV380",1,,,,,"ATI FireGL M24 GL 3154 (PCIE)"
+"0x3E50","RV380_3E50","RV380",,,,,,"ATI Radeon X600 (RV380) 3E50 (PCIE)"
+"0x3E54","RV380_3E54","RV380",,,,,,"ATI FireGL V3200 (RV380) 3E54 (PCIE)"
+"0x4136","RS100_4136","RS100",,1,,,,"ATI Radeon IGP320 (A3) 4136"
+"0x4137","RS200_4137","RS200",,1,,,,"ATI Radeon IGP330/340/350 (A4) 4137"
+"0x4144","R300_AD","R300",,,,,,"ATI Radeon 9500 AD (AGP)"
+"0x4145","R300_AE","R300",,,,,,"ATI Radeon 9500 AE (AGP)"
+"0x4146","R300_AF","R300",,,,,,"ATI Radeon 9600TX AF (AGP)"
+"0x4147","R300_AG","R300",,,,,,"ATI FireGL Z1 AG (AGP)"
+"0x4148","R350_AH","R350",,,,,,"ATI Radeon 9800SE AH (AGP)"
+"0x4149","R350_AI","R350",,,,,,"ATI Radeon 9800 AI (AGP)"
+"0x414A","R350_AJ","R350",,,,,,"ATI Radeon 9800 AJ (AGP)"
+"0x414B","R350_AK","R350",,,,,,"ATI FireGL X2 AK (AGP)"
+"0x4150","RV350_AP","RV350",,,,,,"ATI Radeon 9600 AP (AGP)"
+"0x4151","RV350_AQ","RV350",,,,,,"ATI Radeon 9600SE AQ (AGP)"
+"0x4152","RV360_AR","RV350",,,,,,"ATI Radeon 9600XT AR (AGP)"
+"0x4153","RV350_AS","RV350",,,,,,"ATI Radeon 9600 AS (AGP)"
+"0x4154","RV350_AT","RV350",,,,,,"ATI FireGL T2 AT (AGP)"
+"0x4155","RV350_4155","RV350",,,,,,"ATI Radeon 9650"
+"0x4156","RV350_AV","RV350",,,,,,"ATI FireGL RV360 AV (AGP)"
+"0x4158","MACH32","MACH32",,,,,,
+"0x4237","RS250_4237","RS200",,1,,,,"ATI Radeon 7000 IGP (A4+) 4237"
+"0x4242","R200_BB","R200",,,,1,,"ATI Radeon 8500 AIW BB (AGP)"
+"0x4243","R200_BC","R200",,,,1,,"ATI Radeon 8500 AIW BC (AGP)"
+"0x4336","RS100_4336","RS100",1,1,,,,"ATI Radeon IGP320M (U1) 4336"
+"0x4337","RS200_4337","RS200",1,1,,,,"ATI Radeon IGP330M/340M/350M (U2) 4337"
+"0x4354","MACH64CT","MACH64",,,,,,
+"0x4358","MACH64CX","MACH64",,,,,,
+"0x4437","RS250_4437","RS200",1,1,,,,"ATI Radeon Mobility 7000 IGP 4437"
+"0x4554","MACH64ET","MACH64",,,,,,
+"0x4742","MACH64GB","MACH64",,,,,,
+"0x4744","MACH64GD","MACH64",,,,,,
+"0x4749","MACH64GI","MACH64",,,,,,
+"0x474C","MACH64GL","MACH64",,,,,,
+"0x474D","MACH64GM","MACH64",,,,,,
+"0x474E","MACH64GN","MACH64",,,,,,
+"0x474F","MACH64GO","MACH64",,,,,,
+"0x4750","MACH64GP","MACH64",,,,,,
+"0x4751","MACH64GQ","MACH64",,,,,,
+"0x4752","MACH64GR","MACH64",,,,,,
+"0x4753","MACH64GS","MACH64",,,,,,
+"0x4754","MACH64GT","MACH64",,,,,,
+"0x4755","MACH64GU","MACH64",,,,,,
+"0x4756","MACH64GV","MACH64",,,,,,
+"0x4757","MACH64GW","MACH64",,,,,,
+"0x4758","MACH64GX","MACH64",,,,,,
+"0x4759","MACH64GY","MACH64",,,,,,
+"0x475A","MACH64GZ","MACH64",,,,,,
+"0x4966","RV250_If","RV250",,,,,,"ATI Radeon 9000/PRO If (AGP/PCI)"
+"0x4967","RV250_Ig","RV250",,,,,,"ATI Radeon 9000 Ig (AGP/PCI)"
+"0x4A48","R420_JH","R420",,,,,,"ATI Radeon X800 (R420) JH (AGP)"
+"0x4A49","R420_JI","R420",,,,,,"ATI Radeon X800PRO (R420) JI (AGP)"
+"0x4A4A","R420_JJ","R420",,,,,,"ATI Radeon X800SE (R420) JJ (AGP)"
+"0x4A4B","R420_JK","R420",,,,,,"ATI Radeon X800 (R420) JK (AGP)"
+"0x4A4C","R420_JL","R420",,,,,,"ATI Radeon X800 (R420) JL (AGP)"
+"0x4A4D","R420_JM","R420",,,,,,"ATI FireGL X3 (R420) JM (AGP)"
+"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)"
+"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)"
+"0x4B4C","R481_4B4C","R420",,,,,,"ATI Radeon X850 XT PE (R480) (AGP)"
+"0x4C42","MACH64LB","MACH64",,,,,,
+"0x4C44","MACH64LD","MACH64",,,,,,
+"0x4C45","RAGE128LE","R128",,,,,,
+"0x4C46","RAGE128LF","R128",,,,,,
+"0x4C47","MACH64LG","MACH64",,,,,,
+"0x4C49","MACH64LI","MACH64",,,,,,
+"0x4C4D","MACH64LM","MACH64",,,,,,
+"0x4C4E","MACH64LN","MACH64",,,,,,
+"0x4C50","MACH64LP","MACH64",,,,,,
+"0x4C51","MACH64LQ","MACH64",,,,,,
+"0x4C52","MACH64LR","MACH64",,,,,,
+"0x4C53","MACH64LS","MACH64",,,,,,
+"0x4C57","RADEON_LW","RV200",1,,,,,"ATI Radeon Mobility M7 LW (AGP)"
+"0x4C58","RADEON_LX","RV200",1,,,,,"ATI Mobility FireGL 7800 M7 LX (AGP)"
+"0x4C59","RADEON_LY","RV100",1,,,,,"ATI Radeon Mobility M6 LY (AGP)"
+"0x4C5A","RADEON_LZ","RV100",1,,,,,"ATI Radeon Mobility M6 LZ (AGP)"
+"0x4C64","RV250_Ld","RV250",1,,,,,"ATI FireGL Mobility 9000 (M9) Ld (AGP)"
+"0x4C66","RV250_Lf","RV250",1,,,,,"ATI Radeon Mobility 9000 (M9) Lf (AGP)"
+"0x4C67","RV250_Lg","RV250",1,,,,,"ATI Radeon Mobility 9000 (M9) Lg (AGP)"
+"0x4D46","RAGE128MF","R128",,,,,,
+"0x4D4C","RAGE128ML","R128",,,,,,
+"0x4E44","R300_ND","R300",,,,,,"ATI Radeon 9700 Pro ND (AGP)"
+"0x4E45","R300_NE","R300",,,,,,"ATI Radeon 9700/9500Pro NE (AGP)"
+"0x4E46","R300_NF","R300",,,,,,"ATI Radeon 9600TX NF (AGP)"
+"0x4E47","R300_NG","R300",,,,,,"ATI FireGL X1 NG (AGP)"
+"0x4E48","R350_NH","R350",,,,,,"ATI Radeon 9800PRO NH (AGP)"
+"0x4E49","R350_NI","R350",,,,,,"ATI Radeon 9800 NI (AGP)"
+"0x4E4A","R360_NJ","R350",,,,,,"ATI FireGL X2 NK (AGP)"
+"0x4E4B","R350_NK","R350",,,,,,"ATI Radeon 9800XT NJ (AGP)"
+"0x4E50","RV350_NP","RV350",1,,,,,"ATI Radeon Mobility 9600/9700 (M10/M11) NP (AGP)"
+"0x4E51","RV350_NQ","RV350",1,,,,,"ATI Radeon Mobility 9600 (M10) NQ (AGP)"
+"0x4E52","RV350_NR","RV350",1,,,,,"ATI Radeon Mobility 9600 (M11) NR (AGP)"
+"0x4E53","RV350_NS","RV350",1,,,,,"ATI Radeon Mobility 9600 (M10) NS (AGP)"
+"0x4E54","RV350_NT","RV350",1,,,,,"ATI FireGL Mobility T2 (M10) NT (AGP)"
+"0x4E56","RV350_NV","RV350",1,,,,,"ATI FireGL Mobility T2e (M11) NV (AGP)"
+"0x5041","RAGE128PA","R128",,,,,,
+"0x5042","RAGE128PB","R128",,,,,,
+"0x5043","RAGE128PC","R128",,,,,,
+"0x5044","RAGE128PD","R128",,,,,,
+"0x5045","RAGE128PE","R128",,,,,,
+"0x5046","RAGE128PF","R128",,,,,,
+"0x5047","RAGE128PG","R128",,,,,,
+"0x5048","RAGE128PH","R128",,,,,,
+"0x5049","RAGE128PI","R128",,,,,,
+"0x504A","RAGE128PJ","R128",,,,,,
+"0x504B","RAGE128PK","R128",,,,,,
+"0x504C","RAGE128PL","R128",,,,,,
+"0x504D","RAGE128PM","R128",,,,,,
+"0x504E","RAGE128PN","R128",,,,,,
+"0x504F","RAGE128PO","R128",,,,,,
+"0x5050","RAGE128PP","R128",,,,,,
+"0x5051","RAGE128PQ","R128",,,,,,
+"0x5052","RAGE128PR","R128",,,,,,
+"0x5053","RAGE128PS","R128",,,,,,
+"0x5054","RAGE128PT","R128",,,,,,
+"0x5055","RAGE128PU","R128",,,,,,
+"0x5056","RAGE128PV","R128",,,,,,
+"0x5057","RAGE128PW","R128",,,,,,
+"0x5058","RAGE128PX","R128",,,,,,
+"0x5144","RADEON_QD","RADEON",,,1,1,,"ATI Radeon QD (AGP)"
+"0x5145","RADEON_QE","RADEON",,,1,1,,"ATI Radeon QE (AGP)"
+"0x5146","RADEON_QF","RADEON",,,1,1,,"ATI Radeon QF (AGP)"
+"0x5147","RADEON_QG","RADEON",,,1,1,,"ATI Radeon QG (AGP)"
+"0x5148","R200_QH","R200",,,,1,,"ATI FireGL 8700/8800 QH (AGP)"
+"0x514C","R200_QL","R200",,,,1,,"ATI Radeon 8500 QL (AGP)"
+"0x514D","R200_QM","R200",,,,1,,"ATI Radeon 9100 QM (AGP)"
+"0x5157","RV200_QW","RV200",,,,,,"ATI Radeon 7500 QW (AGP/PCI)"
+"0x5158","RV200_QX","RV200",,,,,,"ATI Radeon 7500 QX (AGP/PCI)"
+"0x5159","RV100_QY","RV100",,,,,,"ATI Radeon VE/7000 QY (AGP/PCI)"
+"0x515A","RV100_QZ","RV100",,,,,,"ATI Radeon VE/7000 QZ (AGP/PCI)"
+"0x515E","RN50_515E","RV100",,,1,,,"ATI ES1000 515E (PCI)"
+"0x5245","RAGE128RE","R128",,,,,,
+"0x5246","RAGE128RF","R128",,,,,,
+"0x5247","RAGE128RG","R128",,,,,,
+"0x524B","RAGE128RK","R128",,,,,,
+"0x524C","RAGE128RL","R128",,,,,,
+"0x5345","RAGE128SE","R128",,,,,,
+"0x5346","RAGE128SF","R128",,,,,,
+"0x5347","RAGE128SG","R128",,,,,,
+"0x5348","RAGE128SH","R128",,,,,,
+"0x534B","RAGE128SK","R128",,,,,,
+"0x534C","RAGE128SL","R128",,,,,,
+"0x534D","RAGE128SM","R128",,,,,,
+"0x534E","RAGE128SN","R128",,,,,,
+"0x5446","RAGE128TF","R128",,,,,,
+"0x544C","RAGE128TL","R128",,,,,,
+"0x5452","RAGE128TR","R128",,,,,,
+"0x5453","RAGE128TS","R128",,,,,,
+"0x5454","RAGE128TT","R128",,,,,,
+"0x5455","RAGE128TU","R128",,,,,,
+"0x5460","RV370_5460","RV380",1,,,,,"ATI Radeon Mobility X300 (M22) 5460 (PCIE)"
+"0x5462","RV370_5462","RV380",1,,,,,"ATI Radeon Mobility X600 SE (M24C) 5462 (PCIE)"
+"0x5464","RV370_5464","RV380",1,,,,,"ATI FireGL M22 GL 5464 (PCIE)"
+"0x5548","R423_UH","R420",,,,,,"ATI Radeon X800 (R423) UH (PCIE)"
+"0x5549","R423_UI","R420",,,,,,"ATI Radeon X800PRO (R423) UI (PCIE)"
+"0x554A","R423_UJ","R420",,,,,,"ATI Radeon X800LE (R423) UJ (PCIE)"
+"0x554B","R423_UK","R420",,,,,,"ATI Radeon X800SE (R423) UK (PCIE)"
+"0x554C","R430_554C","R420",,,,,,"ATI Radeon X800 XTP (R430) (PCIE)"
+"0x554D","R430_554D","R420",,,,,,"ATI Radeon X800 XL (R430) (PCIE)"
+"0x554E","R430_554E","R420",,,,,,"ATI Radeon X800 SE (R430) (PCIE)"
+"0x554F","R430_554F","R420",,,,,,"ATI Radeon X800 (R430) (PCIE)"
+"0x5550","R423_5550","R420",,,,,,"ATI FireGL V7100 (R423) (PCIE)"
+"0x5551","R423_UQ","R420",,,,,,"ATI FireGL V5100 (R423) UQ (PCIE)"
+"0x5552","R423_UR","R420",,,,,,"ATI FireGL unknown (R423) UR (PCIE)"
+"0x5554","R423_UT","R420",,,,,,"ATI FireGL unknown (R423) UT (PCIE)"
+"0x564A","RV410_564A","RV410",1,,,,,"ATI Mobility FireGL V5000 (M26) (PCIE)"
+"0x564B","RV410_564B","RV410",1,,,,,"ATI Mobility FireGL V5000 (M26) (PCIE)"
+"0x564F","RV410_564F","RV410",1,,,,,"ATI Mobility Radeon X700 XL (M26) (PCIE)"
+"0x5652","RV410_5652","RV410",1,,,,,"ATI Mobility Radeon X700 (M26) (PCIE)"
+"0x5653","RV410_5653","RV410",1,,,,,"ATI Mobility Radeon X700 (M26) (PCIE)"
+"0x5654","MACH64VT","MACH64",,,,,,
+"0x5655","MACH64VU","MACH64",,,,,,
+"0x5656","MACH64VV","MACH64",,,,,,
+"0x5834","RS300_5834","RS300",,1,,,1,"ATI Radeon 9100 IGP (A5) 5834"
+"0x5835","RS300_5835","RS300",1,1,,,1,"ATI Radeon Mobility 9100 IGP (U3) 5835"
+"0x5954","RS480_5954","RS400",,1,,,1,"ATI Radeon XPRESS 200 5954 (PCIE)"
+"0x5955","RS480_5955","RS400",1,1,,,1,"ATI Radeon XPRESS 200M 5955 (PCIE)"
+"0x5960","RV280_5960","RV280",,,,,,"ATI Radeon 9250 5960 (AGP)"
+"0x5961","RV280_5961","RV280",,,,,,"ATI Radeon 9200 5961 (AGP)"
+"0x5962","RV280_5962","RV280",,,,,,"ATI Radeon 9200 5962 (AGP)"
+"0x5964","RV280_5964","RV280",,,,,,"ATI Radeon 9200SE 5964 (AGP)"
+"0x5965","RV280_5965","RV280",,,,,,"ATI FireMV 2200 (PCI)"
+"0x5969","RN50_5969","RV100",,,1,,,"ATI ES1000 5969 (PCI)"
+"0x5974","RS482_5974","RS400",,1,,,1,"ATI Radeon XPRESS 200 5974 (PCIE)"
+"0x5975","RS485_5975","RS400",1,1,,,1,"ATI Radeon XPRESS 200M 5975 (PCIE)"
+"0x5A41","RS400_5A41","RS400",,1,,,1,"ATI Radeon XPRESS 200 5A41 (PCIE)"
+"0x5A42","RS400_5A42","RS400",1,1,,,1,"ATI Radeon XPRESS 200M 5A42 (PCIE)"
+"0x5A61","RC410_5A61","RS400",,1,,,1,"ATI Radeon XPRESS 200 5A61 (PCIE)"
+"0x5A62","RC410_5A62","RS400",1,1,,,1,"ATI Radeon XPRESS 200M 5A62 (PCIE)"
+"0x5B60","RV370_5B60","RV380",,,,,,"ATI Radeon X300 (RV370) 5B60 (PCIE)"
+"0x5B62","RV370_5B62","RV380",,,,,,"ATI Radeon X600 (RV370) 5B62 (PCIE)"
+"0x5B63","RV370_5B63","RV380",,,,,,"ATI Radeon X550 (RV370) 5B63 (PCIE)"
+"0x5B64","RV370_5B64","RV380",,,,,,"ATI FireGL V3100 (RV370) 5B64 (PCIE)"
+"0x5B65","RV370_5B65","RV380",,,,,,"ATI FireMV 2200 PCIE (RV370) 5B65 (PCIE)"
+"0x5C61","RV280_5C61","RV280",1,,,,,"ATI Radeon Mobility 9200 (M9+) 5C61 (AGP)"
+"0x5C63","RV280_5C63","RV280",1,,,,,"ATI Radeon Mobility 9200 (M9+) 5C63 (AGP)"
+"0x5D48","R430_5D48","R420",1,,,,,"ATI Mobility Radeon X800 XT (M28) (PCIE)"
+"0x5D49","R430_5D49","R420",1,,,,,"ATI Mobility FireGL V5100 (M28) (PCIE)"
+"0x5D4A","R430_5D4A","R420",1,,,,,"ATI Mobility Radeon X800 (M28) (PCIE)"
+"0x5D4C","R480_5D4C","R420",,,,,,"ATI Radeon X850 5D4C (PCIE)"
+"0x5D4D","R480_5D4D","R420",,,,,,"ATI Radeon X850 XT PE (R480) (PCIE)"
+"0x5D4E","R480_5D4E","R420",,,,,,"ATI Radeon X850 SE (R480) (PCIE)"
+"0x5D4F","R480_5D4F","R420",,,,,,"ATI Radeon X850 PRO (R480) (PCIE)"
+"0x5D50","R480_5D50","R420",,,,,,"ATI unknown Radeon / FireGL (R480) 5D50 (PCIE)"
+"0x5D52","R480_5D52","R420",,,,,,"ATI Radeon X850 XT (R480) (PCIE)"
+"0x5D57","R423_5D57","R420",,,,,,"ATI Radeon X800XT (R423) 5D57 (PCIE)"
+"0x5E48","RV410_5E48","RV410",,,,,,"ATI FireGL V5000 (RV410) (PCIE)"
+"0x5E4A","RV410_5E4A","RV410",,,,,,"ATI Radeon X700 XT (RV410) (PCIE)"
+"0x5E4B","RV410_5E4B","RV410",,,,,,"ATI Radeon X700 PRO (RV410) (PCIE)"
+"0x5E4C","RV410_5E4C","RV410",,,,,,"ATI Radeon X700 SE (RV410) (PCIE)"
+"0x5E4D","RV410_5E4D","RV410",,,,,,"ATI Radeon X700 (RV410) (PCIE)"
+"0x5E4F","RV410_5E4F","RV410",,,,,,"ATI Radeon X700 SE (RV410) (PCIE)"
+"0x7834","RS350_7834","RS300",,1,,,,"ATI Radeon 9100 PRO IGP 7834"
+"0x7835","RS350_7835","RS300",1,1,,,,"ATI Radeon Mobility 9200 IGP 7835"
diff --git a/src/pcidb/parse_pci_ids.pl b/src/pcidb/parse_pci_ids.pl
new file mode 100755
index 0000000..e6eac76
--- /dev/null
+++ b/src/pcidb/parse_pci_ids.pl
@@ -0,0 +1,94 @@
+#!/usr/bin/perl
+#
+# Copyright 2007 Red Hat Inc.
+# This crappy script written by Dave Airlie to avoid hassle of adding
+# ids in every place.
+#
+use strict;
+use warnings;
+use Text::CSV_XS;
+
+my $file = $ARGV[0];
+
+my $atioutfile = 'ati_pciids_gen.h';
+my $radeonpcichipsetfile = 'radeon_pci_chipset_gen.h';
+my $radeonchipsetfile = 'radeon_chipset_gen.h';
+my $radeonchipinfofile  = 'radeon_chipinfo_gen.h';
+
+my $csv = Text::CSV_XS->new();
+
+open (CSV, "<", $file) or die $!;
+
+open (ATIOUT, ">", $atioutfile) or die;
+open (PCICHIPSET, ">", $radeonpcichipsetfile) or die;
+open (RADEONCHIPSET, ">", $radeonchipsetfile) or die;
+open (RADEONCHIPINFO, ">", $radeonchipinfofile) or die;
+
+print RADEONCHIPSET "/* This file is autogenerated please do not edit */\n";
+print RADEONCHIPSET "static SymTabRec RADEONChipsets[] = {\n";
+print PCICHIPSET "/* This file is autogenerated please do not edit */\n";
+print PCICHIPSET "PciChipsets RADEONPciChipsets[] = {\n";
+print RADEONCHIPINFO "/* This file is autogenerated please do not edit */\n";
+print RADEONCHIPINFO "RADEONCardInfo RADEONCards[] = {\n";
+while (<CSV>) {
+  if ($csv->parse($_)) {
+    my @columns = $csv->fields();
+
+    if ((substr($columns[0], 0, 1) ne "#")) {
+
+      print ATIOUT "#define PCI_CHIP_$columns[1] $columns[0]\n";
+
+      if (($columns[2] ne "R128") && ($columns[2] ne "MACH64") && ($columns[2] ne "MACH32")) {
+	print PCICHIPSET " { PCI_CHIP_$columns[1], PCI_CHIP_$columns[1], RES_SHARED_VGA },\n";
+	
+	print RADEONCHIPSET "  { PCI_CHIP_$columns[1], \"$columns[8]\" },\n";
+
+	print RADEONCHIPINFO " { $columns[0], CHIP_FAMILY_$columns[2], ";
+
+	if ($columns[3] eq "1") {
+	  print RADEONCHIPINFO "1, ";
+	} else {
+	  print RADEONCHIPINFO "0, ";
+	}
+
+	if ($columns[4] eq "1") {
+	  print RADEONCHIPINFO "1, ";
+	} else {
+	  print RADEONCHIPINFO "0, ";
+	}
+
+	if ($columns[5] eq "1") {
+	  print RADEONCHIPINFO "1, ";
+	} else {
+	  print RADEONCHIPINFO "0, ";
+	}
+
+	if ($columns[6] eq "1") {
+	  print RADEONCHIPINFO "1, ";
+	} else {
+	  print RADEONCHIPINFO "0, ";
+	}
+
+	if ($columns[7] eq "1") {
+	  print RADEONCHIPINFO "1 ";
+	} else {
+	  print RADEONCHIPINFO "0 ";
+	}
+
+	print RADEONCHIPINFO "},\n";
+      }
+    }
+  } else {
+    my $err = $csv->error_input;
+    print "Failed to parse line: $err";
+  }
+}
+
+print RADEONCHIPINFO "};\n";
+print RADEONCHIPSET "  { -1,                 NULL }\n};\n";
+print PCICHIPSET " { -1,                 -1,                 RES_UNDEFINED }\n};\n";
+close CSV;
+close ATIOUT;
+close PCICHIPSET;
+close RADEONCHIPSET;
+close RADEONCHIPINFO;
diff --git a/src/radeon.h b/src/radeon.h
index 532f04c..5b91d00 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -444,6 +444,16 @@ typedef enum {
 } RADEONCardType;
 
 typedef struct {
+    CARD32 pci_device_id;
+    RADEONChipFamily chip_family;
+    int mobility;
+    int igp;
+    int nocrtc2;
+    int nointtvout;
+    int singledac;
+} RADEONCardInfo;
+
+typedef struct {
     EntityInfoPtr     pEnt;
     pciVideoPtr       PciInfo;
     PCITAG            PciTag;
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
new file mode 100644
index 0000000..a12b225
--- /dev/null
+++ b/src/radeon_chipinfo_gen.h
@@ -0,0 +1,140 @@
+/* This file is autogenerated please do not edit */
+RADEONCardInfo RADEONCards[] = {
+ { 0x3150, CHIP_FAMILY_RV380, 1, 0, 0, 0, 0 },
+ { 0x3152, CHIP_FAMILY_RV380, 1, 0, 0, 0, 0 },
+ { 0x3154, CHIP_FAMILY_RV380, 1, 0, 0, 0, 0 },
+ { 0x3E50, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
+ { 0x3E54, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
+ { 0x4136, CHIP_FAMILY_RS100, 0, 1, 0, 0, 0 },
+ { 0x4137, CHIP_FAMILY_RS200, 0, 1, 0, 0, 0 },
+ { 0x4144, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
+ { 0x4145, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
+ { 0x4146, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
+ { 0x4147, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
+ { 0x4148, CHIP_FAMILY_R350, 0, 0, 0, 0, 0 },
+ { 0x4149, CHIP_FAMILY_R350, 0, 0, 0, 0, 0 },
+ { 0x414A, CHIP_FAMILY_R350, 0, 0, 0, 0, 0 },
+ { 0x414B, CHIP_FAMILY_R350, 0, 0, 0, 0, 0 },
+ { 0x4150, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
+ { 0x4151, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
+ { 0x4152, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
+ { 0x4153, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
+ { 0x4154, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
+ { 0x4155, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
+ { 0x4156, CHIP_FAMILY_RV350, 0, 0, 0, 0, 0 },
+ { 0x4237, CHIP_FAMILY_RS200, 0, 1, 0, 0, 0 },
+ { 0x4242, CHIP_FAMILY_R200, 0, 0, 0, 1, 0 },
+ { 0x4243, CHIP_FAMILY_R200, 0, 0, 0, 1, 0 },
+ { 0x4336, CHIP_FAMILY_RS100, 1, 1, 0, 0, 0 },
+ { 0x4337, CHIP_FAMILY_RS200, 1, 1, 0, 0, 0 },
+ { 0x4437, CHIP_FAMILY_RS200, 1, 1, 0, 0, 0 },
+ { 0x4966, CHIP_FAMILY_RV250, 0, 0, 0, 0, 0 },
+ { 0x4967, CHIP_FAMILY_RV250, 0, 0, 0, 0, 0 },
+ { 0x4A48, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x4A49, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x4A4A, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x4A4B, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x4A4C, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x4A4D, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 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 },
+ { 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 },
+ { 0x4B4C, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x4C57, CHIP_FAMILY_RV200, 1, 0, 0, 0, 0 },
+ { 0x4C58, CHIP_FAMILY_RV200, 1, 0, 0, 0, 0 },
+ { 0x4C59, CHIP_FAMILY_RV100, 1, 0, 0, 0, 0 },
+ { 0x4C5A, CHIP_FAMILY_RV100, 1, 0, 0, 0, 0 },
+ { 0x4C64, CHIP_FAMILY_RV250, 1, 0, 0, 0, 0 },
+ { 0x4C66, CHIP_FAMILY_RV250, 1, 0, 0, 0, 0 },
+ { 0x4C67, CHIP_FAMILY_RV250, 1, 0, 0, 0, 0 },
+ { 0x4E44, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
+ { 0x4E45, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
+ { 0x4E46, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
+ { 0x4E47, CHIP_FAMILY_R300, 0, 0, 0, 0, 0 },
+ { 0x4E48, CHIP_FAMILY_R350, 0, 0, 0, 0, 0 },
+ { 0x4E49, CHIP_FAMILY_R350, 0, 0, 0, 0, 0 },
+ { 0x4E4A, CHIP_FAMILY_R350, 0, 0, 0, 0, 0 },
+ { 0x4E4B, CHIP_FAMILY_R350, 0, 0, 0, 0, 0 },
+ { 0x4E50, CHIP_FAMILY_RV350, 1, 0, 0, 0, 0 },
+ { 0x4E51, CHIP_FAMILY_RV350, 1, 0, 0, 0, 0 },
+ { 0x4E52, CHIP_FAMILY_RV350, 1, 0, 0, 0, 0 },
+ { 0x4E53, CHIP_FAMILY_RV350, 1, 0, 0, 0, 0 },
+ { 0x4E54, CHIP_FAMILY_RV350, 1, 0, 0, 0, 0 },
+ { 0x4E56, CHIP_FAMILY_RV350, 1, 0, 0, 0, 0 },
+ { 0x5144, CHIP_FAMILY_RADEON, 0, 0, 1, 1, 0 },
+ { 0x5145, CHIP_FAMILY_RADEON, 0, 0, 1, 1, 0 },
+ { 0x5146, CHIP_FAMILY_RADEON, 0, 0, 1, 1, 0 },
+ { 0x5147, CHIP_FAMILY_RADEON, 0, 0, 1, 1, 0 },
+ { 0x5148, CHIP_FAMILY_R200, 0, 0, 0, 1, 0 },
+ { 0x514C, CHIP_FAMILY_R200, 0, 0, 0, 1, 0 },
+ { 0x514D, CHIP_FAMILY_R200, 0, 0, 0, 1, 0 },
+ { 0x5157, CHIP_FAMILY_RV200, 0, 0, 0, 0, 0 },
+ { 0x5158, CHIP_FAMILY_RV200, 0, 0, 0, 0, 0 },
+ { 0x5159, CHIP_FAMILY_RV100, 0, 0, 0, 0, 0 },
+ { 0x515A, CHIP_FAMILY_RV100, 0, 0, 0, 0, 0 },
+ { 0x515E, CHIP_FAMILY_RV100, 0, 0, 1, 0, 0 },
+ { 0x5460, CHIP_FAMILY_RV380, 1, 0, 0, 0, 0 },
+ { 0x5462, CHIP_FAMILY_RV380, 1, 0, 0, 0, 0 },
+ { 0x5464, CHIP_FAMILY_RV380, 1, 0, 0, 0, 0 },
+ { 0x5548, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5549, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x554A, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x554B, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x554C, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x554D, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x554E, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x554F, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5550, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5551, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5552, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5554, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x564A, CHIP_FAMILY_RV410, 1, 0, 0, 0, 0 },
+ { 0x564B, CHIP_FAMILY_RV410, 1, 0, 0, 0, 0 },
+ { 0x564F, CHIP_FAMILY_RV410, 1, 0, 0, 0, 0 },
+ { 0x5652, CHIP_FAMILY_RV410, 1, 0, 0, 0, 0 },
+ { 0x5653, CHIP_FAMILY_RV410, 1, 0, 0, 0, 0 },
+ { 0x5834, CHIP_FAMILY_RS300, 0, 1, 0, 0, 1 },
+ { 0x5835, CHIP_FAMILY_RS300, 1, 1, 0, 0, 1 },
+ { 0x5954, CHIP_FAMILY_RS400, 0, 1, 0, 0, 1 },
+ { 0x5955, CHIP_FAMILY_RS400, 1, 1, 0, 0, 1 },
+ { 0x5960, CHIP_FAMILY_RV280, 0, 0, 0, 0, 0 },
+ { 0x5961, CHIP_FAMILY_RV280, 0, 0, 0, 0, 0 },
+ { 0x5962, CHIP_FAMILY_RV280, 0, 0, 0, 0, 0 },
+ { 0x5964, CHIP_FAMILY_RV280, 0, 0, 0, 0, 0 },
+ { 0x5965, CHIP_FAMILY_RV280, 0, 0, 0, 0, 0 },
+ { 0x5969, CHIP_FAMILY_RV100, 0, 0, 1, 0, 0 },
+ { 0x5974, CHIP_FAMILY_RS400, 0, 1, 0, 0, 1 },
+ { 0x5975, CHIP_FAMILY_RS400, 1, 1, 0, 0, 1 },
+ { 0x5A41, CHIP_FAMILY_RS400, 0, 1, 0, 0, 1 },
+ { 0x5A42, CHIP_FAMILY_RS400, 1, 1, 0, 0, 1 },
+ { 0x5A61, CHIP_FAMILY_RS400, 0, 1, 0, 0, 1 },
+ { 0x5A62, CHIP_FAMILY_RS400, 1, 1, 0, 0, 1 },
+ { 0x5B60, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
+ { 0x5B62, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
+ { 0x5B63, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
+ { 0x5B64, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
+ { 0x5B65, CHIP_FAMILY_RV380, 0, 0, 0, 0, 0 },
+ { 0x5C61, CHIP_FAMILY_RV280, 1, 0, 0, 0, 0 },
+ { 0x5C63, CHIP_FAMILY_RV280, 1, 0, 0, 0, 0 },
+ { 0x5D48, CHIP_FAMILY_R420, 1, 0, 0, 0, 0 },
+ { 0x5D49, CHIP_FAMILY_R420, 1, 0, 0, 0, 0 },
+ { 0x5D4A, CHIP_FAMILY_R420, 1, 0, 0, 0, 0 },
+ { 0x5D4C, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5D4D, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5D4E, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5D4F, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5D50, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5D52, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5D57, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
+ { 0x5E48, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
+ { 0x5E4A, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
+ { 0x5E4B, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
+ { 0x5E4C, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
+ { 0x5E4D, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
+ { 0x5E4F, CHIP_FAMILY_RV410, 0, 0, 0, 0, 0 },
+ { 0x7834, CHIP_FAMILY_RS300, 0, 1, 0, 0, 0 },
+ { 0x7835, CHIP_FAMILY_RS300, 1, 1, 0, 0, 0 },
+};
diff --git a/src/radeon_chipset.h b/src/radeon_chipset.h
deleted file mode 100644
index 890babd..0000000
--- a/src/radeon_chipset.h
+++ /dev/null
@@ -1,142 +0,0 @@
-static SymTabRec RADEONChipsets[] = {
-    { PCI_CHIP_RADEON_QD, "ATI Radeon QD (AGP)" },
-    { PCI_CHIP_RADEON_QE, "ATI Radeon QE (AGP)" },
-    { PCI_CHIP_RADEON_QF, "ATI Radeon QF (AGP)" },
-    { PCI_CHIP_RADEON_QG, "ATI Radeon QG (AGP)" },
-    { PCI_CHIP_RV100_QY, "ATI Radeon VE/7000 QY (AGP/PCI)" },
-    { PCI_CHIP_RV100_QZ, "ATI Radeon VE/7000 QZ (AGP/PCI)" },
-    { PCI_CHIP_RN50_515E, "ATI ES1000 515E (PCI)" },
-    { PCI_CHIP_RN50_5969, "ATI ES1000 5969 (PCI)" },
-    { PCI_CHIP_RADEON_LW, "ATI Radeon Mobility M7 LW (AGP)" },
-    { PCI_CHIP_RADEON_LX, "ATI Mobility FireGL 7800 M7 LX (AGP)" },
-    { PCI_CHIP_RADEON_LY, "ATI Radeon Mobility M6 LY (AGP)" },
-    { PCI_CHIP_RADEON_LZ, "ATI Radeon Mobility M6 LZ (AGP)" },
-    { PCI_CHIP_RS100_4136, "ATI Radeon IGP320 (A3) 4136" },
-    { PCI_CHIP_RS100_4336, "ATI Radeon IGP320M (U1) 4336" },
-    { PCI_CHIP_RS200_4137, "ATI Radeon IGP330/340/350 (A4) 4137" },
-    { PCI_CHIP_RS200_4337, "ATI Radeon IGP330M/340M/350M (U2) 4337" },
-    { PCI_CHIP_RS250_4237, "ATI Radeon 7000 IGP (A4+) 4237" },
-    { PCI_CHIP_RS250_4437, "ATI Radeon Mobility 7000 IGP 4437" },
-    { PCI_CHIP_R200_QH, "ATI FireGL 8700/8800 QH (AGP)" },
-    { PCI_CHIP_R200_QL, "ATI Radeon 8500 QL (AGP)" },
-    { PCI_CHIP_R200_QM, "ATI Radeon 9100 QM (AGP)" },
-    { PCI_CHIP_R200_BB, "ATI Radeon 8500 AIW BB (AGP)" },
-    { PCI_CHIP_R200_BC, "ATI Radeon 8500 AIW BC (AGP)" },
-    { PCI_CHIP_RV200_QW, "ATI Radeon 7500 QW (AGP/PCI)" },
-    { PCI_CHIP_RV200_QX, "ATI Radeon 7500 QX (AGP/PCI)" },
-    { PCI_CHIP_RV250_If, "ATI Radeon 9000/PRO If (AGP/PCI)" },
-    { PCI_CHIP_RV250_Ig, "ATI Radeon 9000 Ig (AGP/PCI)" },
-    { PCI_CHIP_RV250_Ld, "ATI FireGL Mobility 9000 (M9) Ld (AGP)" },
-    { PCI_CHIP_RV250_Lf, "ATI Radeon Mobility 9000 (M9) Lf (AGP)" },
-    { PCI_CHIP_RV250_Lg, "ATI Radeon Mobility 9000 (M9) Lg (AGP)" },
-    { PCI_CHIP_RS300_5834, "ATI Radeon 9100 IGP (A5) 5834" },
-    { PCI_CHIP_RS300_5835, "ATI Radeon Mobility 9100 IGP (U3) 5835" },
-    { PCI_CHIP_RS350_7834, "ATI Radeon 9100 PRO IGP 7834" },
-    { PCI_CHIP_RS350_7835, "ATI Radeon Mobility 9200 IGP 7835" },
-    { PCI_CHIP_RV280_5960, "ATI Radeon 9250 5960 (AGP)" },
-    { PCI_CHIP_RV280_5961, "ATI Radeon 9200 5961 (AGP)" },
-    { PCI_CHIP_RV280_5962, "ATI Radeon 9200 5962 (AGP)" },
-    { PCI_CHIP_RV280_5964, "ATI Radeon 9200SE 5964 (AGP)" },
-    { PCI_CHIP_RV280_5965, "ATI FireMV 2200 (PCI)" },
-    { PCI_CHIP_RV280_5C61, "ATI Radeon Mobility 9200 (M9+) 5C61 (AGP)" },
-    { PCI_CHIP_RV280_5C63, "ATI Radeon Mobility 9200 (M9+) 5C63 (AGP)" },
-    { PCI_CHIP_R300_AD, "ATI Radeon 9500 AD (AGP)" },
-    { PCI_CHIP_R300_AE, "ATI Radeon 9500 AE (AGP)" },
-    { PCI_CHIP_R300_AF, "ATI Radeon 9600TX AF (AGP)" },
-    { PCI_CHIP_R300_AG, "ATI FireGL Z1 AG (AGP)" },
-    { PCI_CHIP_R300_ND, "ATI Radeon 9700 Pro ND (AGP)" },
-    { PCI_CHIP_R300_NE, "ATI Radeon 9700/9500Pro NE (AGP)" },
-    { PCI_CHIP_R300_NF, "ATI Radeon 9600TX NF (AGP)" },
-    { PCI_CHIP_R300_NG, "ATI FireGL X1 NG (AGP)" },
-    { PCI_CHIP_RV350_AP, "ATI Radeon 9600 AP (AGP)" },
-    { PCI_CHIP_RV350_AQ, "ATI Radeon 9600SE AQ (AGP)" },
-    { PCI_CHIP_RV360_AR, "ATI Radeon 9600XT AR (AGP)" },
-    { PCI_CHIP_RV350_AS, "ATI Radeon 9600 AS (AGP)" },
-    { PCI_CHIP_RV350_AT, "ATI FireGL T2 AT (AGP)" },
-    { PCI_CHIP_RV350_AV, "ATI FireGL RV360 AV (AGP)" },
-    { PCI_CHIP_RV350_NP, "ATI Radeon Mobility 9600/9700 (M10/M11) NP (AGP)" },
-    { PCI_CHIP_RV350_NQ, "ATI Radeon Mobility 9600 (M10) NQ (AGP)" },
-    { PCI_CHIP_RV350_NR, "ATI Radeon Mobility 9600 (M11) NR (AGP)" },
-    { PCI_CHIP_RV350_NS, "ATI Radeon Mobility 9600 (M10) NS (AGP)" },
-    { PCI_CHIP_RV350_NT, "ATI FireGL Mobility T2 (M10) NT (AGP)" },
-    { PCI_CHIP_RV350_NV, "ATI FireGL Mobility T2e (M11) NV (AGP)" },
-    { PCI_CHIP_RV350_4155, "ATI Radeon 9650" },
-    { PCI_CHIP_R350_AH, "ATI Radeon 9800SE AH (AGP)" },
-    { PCI_CHIP_R350_AI, "ATI Radeon 9800 AI (AGP)" },
-    { PCI_CHIP_R350_AJ, "ATI Radeon 9800 AJ (AGP)" },
-    { PCI_CHIP_R350_AK, "ATI FireGL X2 AK (AGP)" },
-    { PCI_CHIP_R350_NH, "ATI Radeon 9800PRO NH (AGP)" },
-    { PCI_CHIP_R350_NI, "ATI Radeon 9800 NI (AGP)" },
-    { PCI_CHIP_R350_NK, "ATI FireGL X2 NK (AGP)" },
-    { PCI_CHIP_R360_NJ, "ATI Radeon 9800XT NJ (AGP)" },
-    { PCI_CHIP_RV380_3E50, "ATI Radeon X600 (RV380) 3E50 (PCIE)" },
-    { PCI_CHIP_RV380_3E54, "ATI FireGL V3200 (RV380) 3E54 (PCIE)" },
-    { PCI_CHIP_RV380_3150, "ATI Radeon Mobility X600 (M24) 3150 (PCIE)" },
-    { PCI_CHIP_RV380_3152, "ATI Radeon Mobility X300 (M24) 3152 (PCIE)" },
-    { PCI_CHIP_RV380_3154, "ATI FireGL M24 GL 3154 (PCIE)" },
-    { PCI_CHIP_RV370_5B60, "ATI Radeon X300 (RV370) 5B60 (PCIE)" },
-    { PCI_CHIP_RV370_5B62, "ATI Radeon X600 (RV370) 5B62 (PCIE)" },
-    { PCI_CHIP_RV370_5B63, "ATI Radeon X550 (RV370) 5B63 (PCIE)" },
-    { PCI_CHIP_RV370_5B64, "ATI FireGL V3100 (RV370) 5B64 (PCIE)" },
-    { PCI_CHIP_RV370_5B65, "ATI FireMV 2200 PCIE (RV370) 5B65 (PCIE)" },
-    { PCI_CHIP_RV370_5460, "ATI Radeon Mobility X300 (M22) 5460 (PCIE)" },
-    { PCI_CHIP_RV370_5462, "ATI Radeon Mobility X600 SE (M24C) 5462 (PCIE)" },
-    { PCI_CHIP_RV370_5464, "ATI FireGL M22 GL 5464 (PCIE)" },
-    { PCI_CHIP_RS400_5A41, "ATI Radeon XPRESS 200 5A41 (PCIE)" },
-    { PCI_CHIP_RS400_5A42, "ATI Radeon XPRESS 200M 5A42 (PCIE)" },
-    { PCI_CHIP_RC410_5A61, "ATI Radeon XPRESS 200 5A61 (PCIE)" },
-    { PCI_CHIP_RC410_5A62, "ATI Radeon XPRESS 200M 5A62 (PCIE)" },
-    { PCI_CHIP_RS480_5954, "ATI Radeon XPRESS 200 5954 (PCIE)" },
-    { PCI_CHIP_RS480_5955, "ATI Radeon XPRESS 200M 5955 (PCIE)" },
-    { PCI_CHIP_RS482_5974, "ATI Radeon XPRESS 200 5974 (PCIE)" },
-    { PCI_CHIP_RS485_5975, "ATI Radeon XPRESS 200M 5975 (PCIE)" },
-    { PCI_CHIP_RV410_5E48, "ATI FireGL V5000 (RV410) (PCIE)" },
-    { PCI_CHIP_RV410_564A, "ATI Mobility FireGL V5000 (M26) (PCIE)" },
-    { PCI_CHIP_RV410_564B, "ATI Mobility FireGL V5000 (M26) (PCIE)" },
-    { PCI_CHIP_RV410_564F, "ATI Mobility Radeon X700 XL (M26) (PCIE)" },
-    { PCI_CHIP_RV410_5652, "ATI Mobility Radeon X700 (M26) (PCIE)" },
-    { PCI_CHIP_RV410_5653, "ATI Mobility Radeon X700 (M26) (PCIE)" },
-    { PCI_CHIP_RV410_5E4B, "ATI Radeon X700 PRO (RV410) (PCIE)" },
-    { PCI_CHIP_RV410_5E4A, "ATI Radeon X700 XT (RV410) (PCIE)" },
-    { PCI_CHIP_RV410_5E4D, "ATI Radeon X700 (RV410) (PCIE)" },
-    { PCI_CHIP_RV410_5E4C, "ATI Radeon X700 SE (RV410) (PCIE)" },
-    { PCI_CHIP_RV410_5E4F, "ATI Radeon X700 SE (RV410) (PCIE)" },
-    { PCI_CHIP_R420_JH, "ATI Radeon X800 (R420) JH (AGP)" },
-    { PCI_CHIP_R420_JI, "ATI Radeon X800PRO (R420) JI (AGP)" },
-    { PCI_CHIP_R420_JJ, "ATI Radeon X800SE (R420) JJ (AGP)" },
-    { PCI_CHIP_R420_JK, "ATI Radeon X800 (R420) JK (AGP)" },
-    { PCI_CHIP_R420_JL, "ATI Radeon X800 (R420) JL (AGP)" },
-    { PCI_CHIP_R420_JM, "ATI FireGL X3 (R420) JM (AGP)" },
-    { PCI_CHIP_R420_JN, "ATI Radeon Mobility 9800 (M18) JN (AGP)" },
-    { PCI_CHIP_R420_JP, "ATI Radeon X800XT (R420) JP (AGP)" },
-    { PCI_CHIP_R420_4A4F, "ATI Radeon X800 SE (R420) (AGP)" },
-    { PCI_CHIP_R420_4A54, "ATI Radeon AIW X800 VE (R420) JT (AGP)" },
-    { PCI_CHIP_R423_UH, "ATI Radeon X800 (R423) UH (PCIE)" },
-    { PCI_CHIP_R423_UI, "ATI Radeon X800PRO (R423) UI (PCIE)" },
-    { PCI_CHIP_R423_UJ, "ATI Radeon X800LE (R423) UJ (PCIE)" },
-    { PCI_CHIP_R423_UK, "ATI Radeon X800SE (R423) UK (PCIE)" },
-    { PCI_CHIP_R423_UQ, "ATI FireGL V5100 (R423) UQ (PCIE)" },
-    { PCI_CHIP_R423_UR, "ATI FireGL unknown (R423) UR (PCIE)" },
-    { PCI_CHIP_R423_UT, "ATI FireGL unknown (R423) UT (PCIE)" },
-    { PCI_CHIP_R423_5D57, "ATI Radeon X800XT (R423) 5D57 (PCIE)" },
-    { PCI_CHIP_R423_5550, "ATI FireGL V7100 (R423) (PCIE)" },
-    { PCI_CHIP_R430_5D49, "ATI Mobility FireGL V5100 (M28) (PCIE)" },
-    { PCI_CHIP_R430_5D4A, "ATI Mobility Radeon X800 (M28) (PCIE)" },
-    { PCI_CHIP_R430_5D48, "ATI Mobility Radeon X800 XT (M28) (PCIE)" },
-    { PCI_CHIP_R430_554F, "ATI Radeon X800 (R430) (PCIE)" },
-    { PCI_CHIP_R430_554D, "ATI Radeon X800 XL (R430) (PCIE)" },
-    { PCI_CHIP_R430_554E, "ATI Radeon X800 SE (R430) (PCIE)" },
-    { PCI_CHIP_R430_554C, "ATI Radeon X800 XTP (R430) (PCIE)" },
-    { PCI_CHIP_R480_5D4C, "ATI Radeon X850 5D4C (PCIE)" },
-    { PCI_CHIP_R480_5D50, "ATI unknown Radeon / FireGL (R480) 5D50 (PCIE)" },
-    { PCI_CHIP_R480_5D4E, "ATI Radeon X850 SE (R480) (PCIE)" },
-    { PCI_CHIP_R480_5D4F, "ATI Radeon X850 PRO (R480) (PCIE)" },
-    { PCI_CHIP_R480_5D52, "ATI Radeon X850 XT (R480) (PCIE)" },
-    { PCI_CHIP_R480_5D4D, "ATI Radeon X850 XT PE (R480) (PCIE)" },
-    { PCI_CHIP_R481_4B4B, "ATI Radeon X850 PRO (R480) (AGP)" },
-    { PCI_CHIP_R481_4B4A, "ATI Radeon X850 SE (R480) (AGP)" },
-    { PCI_CHIP_R481_4B49, "ATI Radeon X850 XT (R480) (AGP)" },
-    { PCI_CHIP_R481_4B4C, "ATI Radeon X850 XT PE (R480) (AGP)" },
-
-    { -1,                 NULL }
-};
diff --git a/src/radeon_chipset_gen.h b/src/radeon_chipset_gen.h
new file mode 100644
index 0000000..0a7a9c1
--- /dev/null
+++ b/src/radeon_chipset_gen.h
@@ -0,0 +1,141 @@
+/* This file is autogenerated please do not edit */
+static SymTabRec RADEONChipsets[] = {
+  { PCI_CHIP_RV380_3150, "ATI Radeon Mobility X600 (M24) 3150 (PCIE)" },
+  { PCI_CHIP_RV380_3152, "ATI Radeon Mobility X300 (M24) 3152 (PCIE)" },
+  { PCI_CHIP_RV380_3154, "ATI FireGL M24 GL 3154 (PCIE)" },
+  { PCI_CHIP_RV380_3E50, "ATI Radeon X600 (RV380) 3E50 (PCIE)" },
+  { PCI_CHIP_RV380_3E54, "ATI FireGL V3200 (RV380) 3E54 (PCIE)" },
+  { PCI_CHIP_RS100_4136, "ATI Radeon IGP320 (A3) 4136" },
+  { PCI_CHIP_RS200_4137, "ATI Radeon IGP330/340/350 (A4) 4137" },
+  { PCI_CHIP_R300_AD, "ATI Radeon 9500 AD (AGP)" },
+  { PCI_CHIP_R300_AE, "ATI Radeon 9500 AE (AGP)" },
+  { PCI_CHIP_R300_AF, "ATI Radeon 9600TX AF (AGP)" },
+  { PCI_CHIP_R300_AG, "ATI FireGL Z1 AG (AGP)" },
+  { PCI_CHIP_R350_AH, "ATI Radeon 9800SE AH (AGP)" },
+  { PCI_CHIP_R350_AI, "ATI Radeon 9800 AI (AGP)" },
+  { PCI_CHIP_R350_AJ, "ATI Radeon 9800 AJ (AGP)" },
+  { PCI_CHIP_R350_AK, "ATI FireGL X2 AK (AGP)" },
+  { PCI_CHIP_RV350_AP, "ATI Radeon 9600 AP (AGP)" },
+  { PCI_CHIP_RV350_AQ, "ATI Radeon 9600SE AQ (AGP)" },
+  { PCI_CHIP_RV360_AR, "ATI Radeon 9600XT AR (AGP)" },
+  { PCI_CHIP_RV350_AS, "ATI Radeon 9600 AS (AGP)" },
+  { PCI_CHIP_RV350_AT, "ATI FireGL T2 AT (AGP)" },
+  { PCI_CHIP_RV350_4155, "ATI Radeon 9650" },
+  { PCI_CHIP_RV350_AV, "ATI FireGL RV360 AV (AGP)" },
+  { PCI_CHIP_RS250_4237, "ATI Radeon 7000 IGP (A4+) 4237" },
+  { PCI_CHIP_R200_BB, "ATI Radeon 8500 AIW BB (AGP)" },
+  { PCI_CHIP_R200_BC, "ATI Radeon 8500 AIW BC (AGP)" },
+  { PCI_CHIP_RS100_4336, "ATI Radeon IGP320M (U1) 4336" },
+  { PCI_CHIP_RS200_4337, "ATI Radeon IGP330M/340M/350M (U2) 4337" },
+  { PCI_CHIP_RS250_4437, "ATI Radeon Mobility 7000 IGP 4437" },
+  { PCI_CHIP_RV250_If, "ATI Radeon 9000/PRO If (AGP/PCI)" },
+  { PCI_CHIP_RV250_Ig, "ATI Radeon 9000 Ig (AGP/PCI)" },
+  { PCI_CHIP_R420_JH, "ATI Radeon X800 (R420) JH (AGP)" },
+  { PCI_CHIP_R420_JI, "ATI Radeon X800PRO (R420) JI (AGP)" },
+  { PCI_CHIP_R420_JJ, "ATI Radeon X800SE (R420) JJ (AGP)" },
+  { PCI_CHIP_R420_JK, "ATI Radeon X800 (R420) JK (AGP)" },
+  { PCI_CHIP_R420_JL, "ATI Radeon X800 (R420) JL (AGP)" },
+  { PCI_CHIP_R420_JM, "ATI FireGL X3 (R420) JM (AGP)" },
+  { 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_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)" },
+  { PCI_CHIP_R481_4B4C, "ATI Radeon X850 XT PE (R480) (AGP)" },
+  { PCI_CHIP_RADEON_LW, "ATI Radeon Mobility M7 LW (AGP)" },
+  { PCI_CHIP_RADEON_LX, "ATI Mobility FireGL 7800 M7 LX (AGP)" },
+  { PCI_CHIP_RADEON_LY, "ATI Radeon Mobility M6 LY (AGP)" },
+  { PCI_CHIP_RADEON_LZ, "ATI Radeon Mobility M6 LZ (AGP)" },
+  { PCI_CHIP_RV250_Ld, "ATI FireGL Mobility 9000 (M9) Ld (AGP)" },
+  { PCI_CHIP_RV250_Lf, "ATI Radeon Mobility 9000 (M9) Lf (AGP)" },
+  { PCI_CHIP_RV250_Lg, "ATI Radeon Mobility 9000 (M9) Lg (AGP)" },
+  { PCI_CHIP_R300_ND, "ATI Radeon 9700 Pro ND (AGP)" },
+  { PCI_CHIP_R300_NE, "ATI Radeon 9700/9500Pro NE (AGP)" },
+  { PCI_CHIP_R300_NF, "ATI Radeon 9600TX NF (AGP)" },
+  { PCI_CHIP_R300_NG, "ATI FireGL X1 NG (AGP)" },
+  { PCI_CHIP_R350_NH, "ATI Radeon 9800PRO NH (AGP)" },
+  { PCI_CHIP_R350_NI, "ATI Radeon 9800 NI (AGP)" },
+  { PCI_CHIP_R360_NJ, "ATI FireGL X2 NK (AGP)" },
+  { PCI_CHIP_R350_NK, "ATI Radeon 9800XT NJ (AGP)" },
+  { PCI_CHIP_RV350_NP, "ATI Radeon Mobility 9600/9700 (M10/M11) NP (AGP)" },
+  { PCI_CHIP_RV350_NQ, "ATI Radeon Mobility 9600 (M10) NQ (AGP)" },
+  { PCI_CHIP_RV350_NR, "ATI Radeon Mobility 9600 (M11) NR (AGP)" },
+  { PCI_CHIP_RV350_NS, "ATI Radeon Mobility 9600 (M10) NS (AGP)" },
+  { PCI_CHIP_RV350_NT, "ATI FireGL Mobility T2 (M10) NT (AGP)" },
+  { PCI_CHIP_RV350_NV, "ATI FireGL Mobility T2e (M11) NV (AGP)" },
+  { PCI_CHIP_RADEON_QD, "ATI Radeon QD (AGP)" },
+  { PCI_CHIP_RADEON_QE, "ATI Radeon QE (AGP)" },
+  { PCI_CHIP_RADEON_QF, "ATI Radeon QF (AGP)" },
+  { PCI_CHIP_RADEON_QG, "ATI Radeon QG (AGP)" },
+  { PCI_CHIP_R200_QH, "ATI FireGL 8700/8800 QH (AGP)" },
+  { PCI_CHIP_R200_QL, "ATI Radeon 8500 QL (AGP)" },
+  { PCI_CHIP_R200_QM, "ATI Radeon 9100 QM (AGP)" },
+  { PCI_CHIP_RV200_QW, "ATI Radeon 7500 QW (AGP/PCI)" },
+  { PCI_CHIP_RV200_QX, "ATI Radeon 7500 QX (AGP/PCI)" },
+  { PCI_CHIP_RV100_QY, "ATI Radeon VE/7000 QY (AGP/PCI)" },
+  { PCI_CHIP_RV100_QZ, "ATI Radeon VE/7000 QZ (AGP/PCI)" },
+  { PCI_CHIP_RN50_515E, "ATI ES1000 515E (PCI)" },
+  { PCI_CHIP_RV370_5460, "ATI Radeon Mobility X300 (M22) 5460 (PCIE)" },
+  { PCI_CHIP_RV370_5462, "ATI Radeon Mobility X600 SE (M24C) 5462 (PCIE)" },
+  { PCI_CHIP_RV370_5464, "ATI FireGL M22 GL 5464 (PCIE)" },
+  { PCI_CHIP_R423_UH, "ATI Radeon X800 (R423) UH (PCIE)" },
+  { PCI_CHIP_R423_UI, "ATI Radeon X800PRO (R423) UI (PCIE)" },
+  { PCI_CHIP_R423_UJ, "ATI Radeon X800LE (R423) UJ (PCIE)" },
+  { PCI_CHIP_R423_UK, "ATI Radeon X800SE (R423) UK (PCIE)" },
+  { PCI_CHIP_R430_554C, "ATI Radeon X800 XTP (R430) (PCIE)" },
+  { PCI_CHIP_R430_554D, "ATI Radeon X800 XL (R430) (PCIE)" },
+  { PCI_CHIP_R430_554E, "ATI Radeon X800 SE (R430) (PCIE)" },
+  { PCI_CHIP_R430_554F, "ATI Radeon X800 (R430) (PCIE)" },
+  { PCI_CHIP_R423_5550, "ATI FireGL V7100 (R423) (PCIE)" },
+  { PCI_CHIP_R423_UQ, "ATI FireGL V5100 (R423) UQ (PCIE)" },
+  { PCI_CHIP_R423_UR, "ATI FireGL unknown (R423) UR (PCIE)" },
+  { PCI_CHIP_R423_UT, "ATI FireGL unknown (R423) UT (PCIE)" },
+  { PCI_CHIP_RV410_564A, "ATI Mobility FireGL V5000 (M26) (PCIE)" },
+  { PCI_CHIP_RV410_564B, "ATI Mobility FireGL V5000 (M26) (PCIE)" },
+  { PCI_CHIP_RV410_564F, "ATI Mobility Radeon X700 XL (M26) (PCIE)" },
+  { PCI_CHIP_RV410_5652, "ATI Mobility Radeon X700 (M26) (PCIE)" },
+  { PCI_CHIP_RV410_5653, "ATI Mobility Radeon X700 (M26) (PCIE)" },
+  { PCI_CHIP_RS300_5834, "ATI Radeon 9100 IGP (A5) 5834" },
+  { PCI_CHIP_RS300_5835, "ATI Radeon Mobility 9100 IGP (U3) 5835" },
+  { PCI_CHIP_RS480_5954, "ATI Radeon XPRESS 200 5954 (PCIE)" },
+  { PCI_CHIP_RS480_5955, "ATI Radeon XPRESS 200M 5955 (PCIE)" },
+  { PCI_CHIP_RV280_5960, "ATI Radeon 9250 5960 (AGP)" },
+  { PCI_CHIP_RV280_5961, "ATI Radeon 9200 5961 (AGP)" },
+  { PCI_CHIP_RV280_5962, "ATI Radeon 9200 5962 (AGP)" },
+  { PCI_CHIP_RV280_5964, "ATI Radeon 9200SE 5964 (AGP)" },
+  { PCI_CHIP_RV280_5965, "ATI FireMV 2200 (PCI)" },
+  { PCI_CHIP_RN50_5969, "ATI ES1000 5969 (PCI)" },
+  { PCI_CHIP_RS482_5974, "ATI Radeon XPRESS 200 5974 (PCIE)" },
+  { PCI_CHIP_RS485_5975, "ATI Radeon XPRESS 200M 5975 (PCIE)" },
+  { PCI_CHIP_RS400_5A41, "ATI Radeon XPRESS 200 5A41 (PCIE)" },
+  { PCI_CHIP_RS400_5A42, "ATI Radeon XPRESS 200M 5A42 (PCIE)" },
+  { PCI_CHIP_RC410_5A61, "ATI Radeon XPRESS 200 5A61 (PCIE)" },
+  { PCI_CHIP_RC410_5A62, "ATI Radeon XPRESS 200M 5A62 (PCIE)" },
+  { PCI_CHIP_RV370_5B60, "ATI Radeon X300 (RV370) 5B60 (PCIE)" },
+  { PCI_CHIP_RV370_5B62, "ATI Radeon X600 (RV370) 5B62 (PCIE)" },
+  { PCI_CHIP_RV370_5B63, "ATI Radeon X550 (RV370) 5B63 (PCIE)" },
+  { PCI_CHIP_RV370_5B64, "ATI FireGL V3100 (RV370) 5B64 (PCIE)" },
+  { PCI_CHIP_RV370_5B65, "ATI FireMV 2200 PCIE (RV370) 5B65 (PCIE)" },
+  { PCI_CHIP_RV280_5C61, "ATI Radeon Mobility 9200 (M9+) 5C61 (AGP)" },
+  { PCI_CHIP_RV280_5C63, "ATI Radeon Mobility 9200 (M9+) 5C63 (AGP)" },
+  { PCI_CHIP_R430_5D48, "ATI Mobility Radeon X800 XT (M28) (PCIE)" },
+  { PCI_CHIP_R430_5D49, "ATI Mobility FireGL V5100 (M28) (PCIE)" },
+  { PCI_CHIP_R430_5D4A, "ATI Mobility Radeon X800 (M28) (PCIE)" },
+  { PCI_CHIP_R480_5D4C, "ATI Radeon X850 5D4C (PCIE)" },
+  { PCI_CHIP_R480_5D4D, "ATI Radeon X850 XT PE (R480) (PCIE)" },
+  { PCI_CHIP_R480_5D4E, "ATI Radeon X850 SE (R480) (PCIE)" },
+  { PCI_CHIP_R480_5D4F, "ATI Radeon X850 PRO (R480) (PCIE)" },
+  { PCI_CHIP_R480_5D50, "ATI unknown Radeon / FireGL (R480) 5D50 (PCIE)" },
+  { PCI_CHIP_R480_5D52, "ATI Radeon X850 XT (R480) (PCIE)" },
+  { PCI_CHIP_R423_5D57, "ATI Radeon X800XT (R423) 5D57 (PCIE)" },
+  { PCI_CHIP_RV410_5E48, "ATI FireGL V5000 (RV410) (PCIE)" },
+  { PCI_CHIP_RV410_5E4A, "ATI Radeon X700 XT (RV410) (PCIE)" },
+  { PCI_CHIP_RV410_5E4B, "ATI Radeon X700 PRO (RV410) (PCIE)" },
+  { PCI_CHIP_RV410_5E4C, "ATI Radeon X700 SE (RV410) (PCIE)" },
+  { PCI_CHIP_RV410_5E4D, "ATI Radeon X700 (RV410) (PCIE)" },
+  { PCI_CHIP_RV410_5E4F, "ATI Radeon X700 SE (RV410) (PCIE)" },
+  { PCI_CHIP_RS350_7834, "ATI Radeon 9100 PRO IGP 7834" },
+  { PCI_CHIP_RS350_7835, "ATI Radeon Mobility 9200 IGP 7835" },
+  { -1,                 NULL }
+};
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index e027379..790a3dc 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -107,9 +107,10 @@
 #include <X11/extensions/dpms.h>
 
 #include "atipciids.h"
-#include "radeon_chipset.h"
+#include "radeon_chipset_gen.h"
 
 
+#include "radeon_chipinfo_gen.h"
 
 				/* Forward definitions for driver functions */
 static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen);
@@ -1472,6 +1473,7 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
     GDevPtr        dev    = pEnt->device;
     unsigned char *RADEONMMIO = info->MMIO;
     MessageType    from = X_PROBED;
+    int i;
 #ifdef XF86DRI
     const char *s;
     uint32_t cmd_stat;
@@ -1511,20 +1513,25 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
     info->IsDellServer = FALSE;
     info->HasSingleDAC = FALSE;
     info->InternalTVOut = TRUE;
-    switch (info->Chipset) {
-    case PCI_CHIP_RADEON_LY:
-    case PCI_CHIP_RADEON_LZ:
-	info->IsMobility = TRUE;
-	info->ChipFamily = CHIP_FAMILY_RV100;
-	break;
 
+    for (i = 0; i < sizeof(RADEONCards) / sizeof(RADEONCardInfo); i++) {
+	if (info->Chipset == RADEONCards[i].pci_device_id) {
+	    RADEONCardInfo *card = &RADEONCards[i];
+	    info->ChipFamily = card->chip_family;
+	    info->IsMobility = card->mobility;
+	    info->IsIGP = card->igp;
+	    pRADEONEnt->HasCRTC2 = !card->nocrtc2;
+	    info->HasSingleDAC = card->singledac;
+	    info->InternalTVOut = card->nointtvout;
+	    break;
+	}
+    }
+	    
+    switch (info->Chipset) {
     case PCI_CHIP_RN50_515E:  /* RN50 is based on the RV100 but 3D isn't guaranteed to work.  YMMV. */
     case PCI_CHIP_RN50_5969:
-        pRADEONEnt->HasCRTC2 = FALSE;
     case PCI_CHIP_RV100_QY:
     case PCI_CHIP_RV100_QZ:
-	info->ChipFamily = CHIP_FAMILY_RV100;
-
 	/* DELL triple-head configuration. */
 	if ((PCI_SUB_VENDOR_ID(info->PciInfo) == PCI_VENDOR_DELL) &&
 	    ((PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016c) ||
@@ -1540,220 +1547,9 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
 	    info->IsDellServer = TRUE;
 	    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "DELL server detected, force to special setup\n");
 	}
-
-	break;
-
-    case PCI_CHIP_RS100_4336:
-	info->IsMobility = TRUE;
-    case PCI_CHIP_RS100_4136:
-	info->ChipFamily = CHIP_FAMILY_RS100;
-	info->IsIGP = TRUE;
-	break;
-
-    case PCI_CHIP_RS200_4337:
-	info->IsMobility = TRUE;
-    case PCI_CHIP_RS200_4137:
-	info->ChipFamily = CHIP_FAMILY_RS200;
-	info->IsIGP = TRUE;
-	break;
-
-    case PCI_CHIP_RS250_4437:
-	info->IsMobility = TRUE;
-    case PCI_CHIP_RS250_4237:
-	info->ChipFamily = CHIP_FAMILY_RS200;
-	info->IsIGP = TRUE;
-	break;
-
-    case PCI_CHIP_R200_BB:
-    case PCI_CHIP_R200_BC:
-    case PCI_CHIP_R200_QH:
-    case PCI_CHIP_R200_QL:
-    case PCI_CHIP_R200_QM:
-	info->ChipFamily = CHIP_FAMILY_R200;
-	info->InternalTVOut = FALSE;
-	break;
-
-    case PCI_CHIP_RADEON_LW:
-    case PCI_CHIP_RADEON_LX:
-	info->IsMobility = TRUE;
-    case PCI_CHIP_RV200_QW: /* RV200 desktop */
-    case PCI_CHIP_RV200_QX:
-	info->ChipFamily = CHIP_FAMILY_RV200;
-	break;
-
-    case PCI_CHIP_RV250_Ld:
-    case PCI_CHIP_RV250_Lf:
-    case PCI_CHIP_RV250_Lg:
-	info->IsMobility = TRUE;
-    case PCI_CHIP_RV250_If:
-    case PCI_CHIP_RV250_Ig:
-	info->ChipFamily = CHIP_FAMILY_RV250;
-	break;
-
-    case PCI_CHIP_RS300_5835:
-    case PCI_CHIP_RS350_7835:
-	info->IsMobility = TRUE;
-    case PCI_CHIP_RS300_5834:
-    case PCI_CHIP_RS350_7834:
-	info->ChipFamily = CHIP_FAMILY_RS300;
-	info->IsIGP = TRUE;
-	info->HasSingleDAC = TRUE;
-	break;
-
-    case PCI_CHIP_RV280_5C61:
-    case PCI_CHIP_RV280_5C63:
-	info->IsMobility = TRUE;
-    case PCI_CHIP_RV280_5960:
-    case PCI_CHIP_RV280_5961:
-    case PCI_CHIP_RV280_5962:
-    case PCI_CHIP_RV280_5964:
-    case PCI_CHIP_RV280_5965:
-	info->ChipFamily = CHIP_FAMILY_RV280;
 	break;
-
-    case PCI_CHIP_R300_AD:
-    case PCI_CHIP_R300_AE:
-    case PCI_CHIP_R300_AF:
-    case PCI_CHIP_R300_AG:
-    case PCI_CHIP_R300_ND:
-    case PCI_CHIP_R300_NE:
-    case PCI_CHIP_R300_NF:
-    case PCI_CHIP_R300_NG:
-	info->ChipFamily = CHIP_FAMILY_R300;
-        break;
-
-    case PCI_CHIP_RV350_NP:
-    case PCI_CHIP_RV350_NQ:
-    case PCI_CHIP_RV350_NR:
-    case PCI_CHIP_RV350_NS:
-    case PCI_CHIP_RV350_NT:
-    case PCI_CHIP_RV350_NV:
-	info->IsMobility = TRUE;
-    case PCI_CHIP_RV350_AP:
-    case PCI_CHIP_RV350_AQ:
-    case PCI_CHIP_RV360_AR:
-    case PCI_CHIP_RV350_AS:
-    case PCI_CHIP_RV350_AT:
-    case PCI_CHIP_RV350_AV:
-    case PCI_CHIP_RV350_4155:
-	info->ChipFamily = CHIP_FAMILY_RV350;
-        break;
-
-    case PCI_CHIP_R350_AH:
-    case PCI_CHIP_R350_AI:
-    case PCI_CHIP_R350_AJ:
-    case PCI_CHIP_R350_AK:
-    case PCI_CHIP_R350_NH:
-    case PCI_CHIP_R350_NI:
-    case PCI_CHIP_R350_NK:
-    case PCI_CHIP_R360_NJ:
-	info->ChipFamily = CHIP_FAMILY_R350;
-        break;
-
-    case PCI_CHIP_RV380_3150:
-    case PCI_CHIP_RV380_3152:
-    case PCI_CHIP_RV380_3154:
-        info->IsMobility = TRUE;
-    case PCI_CHIP_RV380_3E50:
-    case PCI_CHIP_RV380_3E54:
-        info->ChipFamily = CHIP_FAMILY_RV380;
-        break;
-
-    case PCI_CHIP_RV370_5460:
-    case PCI_CHIP_RV370_5462:
-    case PCI_CHIP_RV370_5464:
-        info->IsMobility = TRUE;
-    case PCI_CHIP_RV370_5B60:
-    case PCI_CHIP_RV370_5B62:
-    case PCI_CHIP_RV370_5B63:
-    case PCI_CHIP_RV370_5B64:
-    case PCI_CHIP_RV370_5B65:
-        info->ChipFamily = CHIP_FAMILY_RV380;
-        break;
-
-    case PCI_CHIP_RS400_5A42:
-    case PCI_CHIP_RC410_5A62:
-    case PCI_CHIP_RS480_5955:
-    case PCI_CHIP_RS485_5975:
-        info->IsMobility = TRUE;
-    case PCI_CHIP_RS400_5A41:
-    case PCI_CHIP_RC410_5A61:
-    case PCI_CHIP_RS480_5954:
-    case PCI_CHIP_RS482_5974:
-	info->ChipFamily = CHIP_FAMILY_RS400;
-	info->IsIGP = TRUE;
-	info->HasSingleDAC = TRUE;
-        break;
-
-    case PCI_CHIP_RV410_564A:
-    case PCI_CHIP_RV410_564B:
-    case PCI_CHIP_RV410_564F:
-    case PCI_CHIP_RV410_5652:
-    case PCI_CHIP_RV410_5653:
-        info->IsMobility = TRUE;
-    case PCI_CHIP_RV410_5E48:
-    case PCI_CHIP_RV410_5E4B:
-    case PCI_CHIP_RV410_5E4A:
-    case PCI_CHIP_RV410_5E4D:
-    case PCI_CHIP_RV410_5E4C:
-    case PCI_CHIP_RV410_5E4F:
-        info->ChipFamily = CHIP_FAMILY_RV410;
-        break;
-
-    case PCI_CHIP_R420_JN:
-        info->IsMobility = TRUE;
-    case PCI_CHIP_R420_JH:
-    case PCI_CHIP_R420_JI:
-    case PCI_CHIP_R420_JJ:
-    case PCI_CHIP_R420_JK:
-    case PCI_CHIP_R420_JL:
-    case PCI_CHIP_R420_JM:
-    case PCI_CHIP_R420_JP:
-    case PCI_CHIP_R420_4A4F:
-        info->ChipFamily = CHIP_FAMILY_R420;
-        break;
-
-    case PCI_CHIP_R423_UH:
-    case PCI_CHIP_R423_UI:
-    case PCI_CHIP_R423_UJ:
-    case PCI_CHIP_R423_UK:
-    case PCI_CHIP_R423_UQ:
-    case PCI_CHIP_R423_UR:
-    case PCI_CHIP_R423_UT:
-    case PCI_CHIP_R423_5D57:
-    case PCI_CHIP_R423_5550:
-        info->ChipFamily = CHIP_FAMILY_R420;
-        break;
-
-    case PCI_CHIP_R430_5D49:
-    case PCI_CHIP_R430_5D4A:
-    case PCI_CHIP_R430_5D48:
-        info->IsMobility = TRUE;
-    case PCI_CHIP_R430_554F:
-    case PCI_CHIP_R430_554D:
-    case PCI_CHIP_R430_554E:
-    case PCI_CHIP_R430_554C:
-        info->ChipFamily = CHIP_FAMILY_R420; /*CHIP_FAMILY_R430*/
-        break;
-
-    case PCI_CHIP_R480_5D4C:
-    case PCI_CHIP_R480_5D50:
-    case PCI_CHIP_R480_5D4E:
-    case PCI_CHIP_R480_5D4F:
-    case PCI_CHIP_R480_5D52:
-    case PCI_CHIP_R480_5D4D:
-    case PCI_CHIP_R481_4B4B:
-    case PCI_CHIP_R481_4B4A:
-    case PCI_CHIP_R481_4B49:
-    case PCI_CHIP_R481_4B4C:
-        info->ChipFamily = CHIP_FAMILY_R420; /*CHIP_FAMILY_R480*/
-        break;
-
     default:
-	/* Original Radeon/7200 */
-	info->ChipFamily = CHIP_FAMILY_RADEON;
-	pRADEONEnt->HasCRTC2 = FALSE;
-	info->InternalTVOut = FALSE;
+	break;
     }
 
 
diff --git a/src/radeon_pci_chipset_gen.h b/src/radeon_pci_chipset_gen.h
new file mode 100644
index 0000000..7a36242
--- /dev/null
+++ b/src/radeon_pci_chipset_gen.h
@@ -0,0 +1,141 @@
+/* This file is autogenerated please do not edit */
+PciChipsets RADEONPciChipsets[] = {
+ { PCI_CHIP_RV380_3150, PCI_CHIP_RV380_3150, RES_SHARED_VGA },
+ { PCI_CHIP_RV380_3152, PCI_CHIP_RV380_3152, RES_SHARED_VGA },
+ { PCI_CHIP_RV380_3154, PCI_CHIP_RV380_3154, RES_SHARED_VGA },
+ { PCI_CHIP_RV380_3E50, PCI_CHIP_RV380_3E50, RES_SHARED_VGA },
+ { PCI_CHIP_RV380_3E54, PCI_CHIP_RV380_3E54, RES_SHARED_VGA },
+ { PCI_CHIP_RS100_4136, PCI_CHIP_RS100_4136, RES_SHARED_VGA },
+ { PCI_CHIP_RS200_4137, PCI_CHIP_RS200_4137, RES_SHARED_VGA },
+ { PCI_CHIP_R300_AD, PCI_CHIP_R300_AD, RES_SHARED_VGA },
+ { PCI_CHIP_R300_AE, PCI_CHIP_R300_AE, RES_SHARED_VGA },
+ { PCI_CHIP_R300_AF, PCI_CHIP_R300_AF, RES_SHARED_VGA },
+ { PCI_CHIP_R300_AG, PCI_CHIP_R300_AG, RES_SHARED_VGA },
+ { PCI_CHIP_R350_AH, PCI_CHIP_R350_AH, RES_SHARED_VGA },
+ { PCI_CHIP_R350_AI, PCI_CHIP_R350_AI, RES_SHARED_VGA },
+ { PCI_CHIP_R350_AJ, PCI_CHIP_R350_AJ, RES_SHARED_VGA },
+ { PCI_CHIP_R350_AK, PCI_CHIP_R350_AK, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_AP, PCI_CHIP_RV350_AP, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_AQ, PCI_CHIP_RV350_AQ, RES_SHARED_VGA },
+ { PCI_CHIP_RV360_AR, PCI_CHIP_RV360_AR, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_AS, PCI_CHIP_RV350_AS, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_AT, PCI_CHIP_RV350_AT, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_4155, PCI_CHIP_RV350_4155, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_AV, PCI_CHIP_RV350_AV, RES_SHARED_VGA },
+ { PCI_CHIP_RS250_4237, PCI_CHIP_RS250_4237, RES_SHARED_VGA },
+ { PCI_CHIP_R200_BB, PCI_CHIP_R200_BB, RES_SHARED_VGA },
+ { PCI_CHIP_R200_BC, PCI_CHIP_R200_BC, RES_SHARED_VGA },
+ { PCI_CHIP_RS100_4336, PCI_CHIP_RS100_4336, RES_SHARED_VGA },
+ { PCI_CHIP_RS200_4337, PCI_CHIP_RS200_4337, RES_SHARED_VGA },
+ { PCI_CHIP_RS250_4437, PCI_CHIP_RS250_4437, RES_SHARED_VGA },
+ { PCI_CHIP_RV250_If, PCI_CHIP_RV250_If, RES_SHARED_VGA },
+ { PCI_CHIP_RV250_Ig, PCI_CHIP_RV250_Ig, RES_SHARED_VGA },
+ { PCI_CHIP_R420_JH, PCI_CHIP_R420_JH, RES_SHARED_VGA },
+ { PCI_CHIP_R420_JI, PCI_CHIP_R420_JI, RES_SHARED_VGA },
+ { PCI_CHIP_R420_JJ, PCI_CHIP_R420_JJ, RES_SHARED_VGA },
+ { PCI_CHIP_R420_JK, PCI_CHIP_R420_JK, RES_SHARED_VGA },
+ { PCI_CHIP_R420_JL, PCI_CHIP_R420_JL, RES_SHARED_VGA },
+ { PCI_CHIP_R420_JM, PCI_CHIP_R420_JM, RES_SHARED_VGA },
+ { 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_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 },
+ { PCI_CHIP_R481_4B4C, PCI_CHIP_R481_4B4C, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_LW, PCI_CHIP_RADEON_LW, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_LX, PCI_CHIP_RADEON_LX, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_LY, PCI_CHIP_RADEON_LY, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_LZ, PCI_CHIP_RADEON_LZ, RES_SHARED_VGA },
+ { PCI_CHIP_RV250_Ld, PCI_CHIP_RV250_Ld, RES_SHARED_VGA },
+ { PCI_CHIP_RV250_Lf, PCI_CHIP_RV250_Lf, RES_SHARED_VGA },
+ { PCI_CHIP_RV250_Lg, PCI_CHIP_RV250_Lg, RES_SHARED_VGA },
+ { PCI_CHIP_R300_ND, PCI_CHIP_R300_ND, RES_SHARED_VGA },
+ { PCI_CHIP_R300_NE, PCI_CHIP_R300_NE, RES_SHARED_VGA },
+ { PCI_CHIP_R300_NF, PCI_CHIP_R300_NF, RES_SHARED_VGA },
+ { PCI_CHIP_R300_NG, PCI_CHIP_R300_NG, RES_SHARED_VGA },
+ { PCI_CHIP_R350_NH, PCI_CHIP_R350_NH, RES_SHARED_VGA },
+ { PCI_CHIP_R350_NI, PCI_CHIP_R350_NI, RES_SHARED_VGA },
+ { PCI_CHIP_R360_NJ, PCI_CHIP_R360_NJ, RES_SHARED_VGA },
+ { PCI_CHIP_R350_NK, PCI_CHIP_R350_NK, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_NP, PCI_CHIP_RV350_NP, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_NQ, PCI_CHIP_RV350_NQ, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_NR, PCI_CHIP_RV350_NR, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_NS, PCI_CHIP_RV350_NS, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_NT, PCI_CHIP_RV350_NT, RES_SHARED_VGA },
+ { PCI_CHIP_RV350_NV, PCI_CHIP_RV350_NV, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_QD, PCI_CHIP_RADEON_QD, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_QE, PCI_CHIP_RADEON_QE, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_QF, PCI_CHIP_RADEON_QF, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_QG, PCI_CHIP_RADEON_QG, RES_SHARED_VGA },
+ { PCI_CHIP_R200_QH, PCI_CHIP_R200_QH, RES_SHARED_VGA },
+ { PCI_CHIP_R200_QL, PCI_CHIP_R200_QL, RES_SHARED_VGA },
+ { PCI_CHIP_R200_QM, PCI_CHIP_R200_QM, RES_SHARED_VGA },
+ { PCI_CHIP_RV200_QW, PCI_CHIP_RV200_QW, RES_SHARED_VGA },
+ { PCI_CHIP_RV200_QX, PCI_CHIP_RV200_QX, RES_SHARED_VGA },
+ { PCI_CHIP_RV100_QY, PCI_CHIP_RV100_QY, RES_SHARED_VGA },
+ { PCI_CHIP_RV100_QZ, PCI_CHIP_RV100_QZ, RES_SHARED_VGA },
+ { PCI_CHIP_RN50_515E, PCI_CHIP_RN50_515E, RES_SHARED_VGA },
+ { PCI_CHIP_RV370_5460, PCI_CHIP_RV370_5460, RES_SHARED_VGA },
+ { PCI_CHIP_RV370_5462, PCI_CHIP_RV370_5462, RES_SHARED_VGA },
+ { PCI_CHIP_RV370_5464, PCI_CHIP_RV370_5464, RES_SHARED_VGA },
+ { PCI_CHIP_R423_UH, PCI_CHIP_R423_UH, RES_SHARED_VGA },
+ { PCI_CHIP_R423_UI, PCI_CHIP_R423_UI, RES_SHARED_VGA },
+ { PCI_CHIP_R423_UJ, PCI_CHIP_R423_UJ, RES_SHARED_VGA },
+ { PCI_CHIP_R423_UK, PCI_CHIP_R423_UK, RES_SHARED_VGA },
+ { PCI_CHIP_R430_554C, PCI_CHIP_R430_554C, RES_SHARED_VGA },
+ { PCI_CHIP_R430_554D, PCI_CHIP_R430_554D, RES_SHARED_VGA },
+ { PCI_CHIP_R430_554E, PCI_CHIP_R430_554E, RES_SHARED_VGA },
+ { PCI_CHIP_R430_554F, PCI_CHIP_R430_554F, RES_SHARED_VGA },
+ { PCI_CHIP_R423_5550, PCI_CHIP_R423_5550, RES_SHARED_VGA },
+ { PCI_CHIP_R423_UQ, PCI_CHIP_R423_UQ, RES_SHARED_VGA },
+ { PCI_CHIP_R423_UR, PCI_CHIP_R423_UR, RES_SHARED_VGA },
+ { PCI_CHIP_R423_UT, PCI_CHIP_R423_UT, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_564A, PCI_CHIP_RV410_564A, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_564B, PCI_CHIP_RV410_564B, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_564F, PCI_CHIP_RV410_564F, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_5652, PCI_CHIP_RV410_5652, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_5653, PCI_CHIP_RV410_5653, RES_SHARED_VGA },
+ { PCI_CHIP_RS300_5834, PCI_CHIP_RS300_5834, RES_SHARED_VGA },
+ { PCI_CHIP_RS300_5835, PCI_CHIP_RS300_5835, RES_SHARED_VGA },
+ { PCI_CHIP_RS480_5954, PCI_CHIP_RS480_5954, RES_SHARED_VGA },
+ { PCI_CHIP_RS480_5955, PCI_CHIP_RS480_5955, RES_SHARED_VGA },
+ { PCI_CHIP_RV280_5960, PCI_CHIP_RV280_5960, RES_SHARED_VGA },
+ { PCI_CHIP_RV280_5961, PCI_CHIP_RV280_5961, RES_SHARED_VGA },
+ { PCI_CHIP_RV280_5962, PCI_CHIP_RV280_5962, RES_SHARED_VGA },
+ { PCI_CHIP_RV280_5964, PCI_CHIP_RV280_5964, RES_SHARED_VGA },
+ { PCI_CHIP_RV280_5965, PCI_CHIP_RV280_5965, RES_SHARED_VGA },
+ { PCI_CHIP_RN50_5969, PCI_CHIP_RN50_5969, RES_SHARED_VGA },
+ { PCI_CHIP_RS482_5974, PCI_CHIP_RS482_5974, RES_SHARED_VGA },
+ { PCI_CHIP_RS485_5975, PCI_CHIP_RS485_5975, RES_SHARED_VGA },
+ { PCI_CHIP_RS400_5A41, PCI_CHIP_RS400_5A41, RES_SHARED_VGA },
+ { PCI_CHIP_RS400_5A42, PCI_CHIP_RS400_5A42, RES_SHARED_VGA },
+ { PCI_CHIP_RC410_5A61, PCI_CHIP_RC410_5A61, RES_SHARED_VGA },
+ { PCI_CHIP_RC410_5A62, PCI_CHIP_RC410_5A62, RES_SHARED_VGA },
+ { PCI_CHIP_RV370_5B60, PCI_CHIP_RV370_5B60, RES_SHARED_VGA },
+ { PCI_CHIP_RV370_5B62, PCI_CHIP_RV370_5B62, RES_SHARED_VGA },
+ { PCI_CHIP_RV370_5B63, PCI_CHIP_RV370_5B63, RES_SHARED_VGA },
+ { PCI_CHIP_RV370_5B64, PCI_CHIP_RV370_5B64, RES_SHARED_VGA },
+ { PCI_CHIP_RV370_5B65, PCI_CHIP_RV370_5B65, RES_SHARED_VGA },
+ { PCI_CHIP_RV280_5C61, PCI_CHIP_RV280_5C61, RES_SHARED_VGA },
+ { PCI_CHIP_RV280_5C63, PCI_CHIP_RV280_5C63, RES_SHARED_VGA },
+ { PCI_CHIP_R430_5D48, PCI_CHIP_R430_5D48, RES_SHARED_VGA },
+ { PCI_CHIP_R430_5D49, PCI_CHIP_R430_5D49, RES_SHARED_VGA },
+ { PCI_CHIP_R430_5D4A, PCI_CHIP_R430_5D4A, RES_SHARED_VGA },
+ { PCI_CHIP_R480_5D4C, PCI_CHIP_R480_5D4C, RES_SHARED_VGA },
+ { PCI_CHIP_R480_5D4D, PCI_CHIP_R480_5D4D, RES_SHARED_VGA },
+ { PCI_CHIP_R480_5D4E, PCI_CHIP_R480_5D4E, RES_SHARED_VGA },
+ { PCI_CHIP_R480_5D4F, PCI_CHIP_R480_5D4F, RES_SHARED_VGA },
+ { PCI_CHIP_R480_5D50, PCI_CHIP_R480_5D50, RES_SHARED_VGA },
+ { PCI_CHIP_R480_5D52, PCI_CHIP_R480_5D52, RES_SHARED_VGA },
+ { PCI_CHIP_R423_5D57, PCI_CHIP_R423_5D57, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_5E48, PCI_CHIP_RV410_5E48, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_5E4A, PCI_CHIP_RV410_5E4A, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_5E4B, PCI_CHIP_RV410_5E4B, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_5E4C, PCI_CHIP_RV410_5E4C, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_5E4D, PCI_CHIP_RV410_5E4D, RES_SHARED_VGA },
+ { PCI_CHIP_RV410_5E4F, PCI_CHIP_RV410_5E4F, RES_SHARED_VGA },
+ { PCI_CHIP_RS350_7834, PCI_CHIP_RS350_7834, RES_SHARED_VGA },
+ { PCI_CHIP_RS350_7835, PCI_CHIP_RS350_7835, RES_SHARED_VGA },
+ { -1,                 -1,                 RES_UNDEFINED }
+};
diff --git a/src/radeon_probe.c b/src/radeon_probe.c
index d68a956..baea47c 100644
--- a/src/radeon_probe.c
+++ b/src/radeon_probe.c
@@ -51,150 +51,9 @@
 #include <X11/extensions/xf86misc.h>
 #include "xf86Resources.h"
 
-#include "radeon_chipset.h"
+#include "radeon_chipset_gen.h"
 
-PciChipsets RADEONPciChipsets[] = {
-    { PCI_CHIP_RADEON_QD, PCI_CHIP_RADEON_QD, RES_SHARED_VGA },
-    { PCI_CHIP_RADEON_QE, PCI_CHIP_RADEON_QE, RES_SHARED_VGA },
-    { PCI_CHIP_RADEON_QF, PCI_CHIP_RADEON_QF, RES_SHARED_VGA },
-    { PCI_CHIP_RADEON_QG, PCI_CHIP_RADEON_QG, RES_SHARED_VGA },
-    { PCI_CHIP_RV100_QY, PCI_CHIP_RV100_QY, RES_SHARED_VGA },
-    { PCI_CHIP_RV100_QZ, PCI_CHIP_RV100_QZ, RES_SHARED_VGA },
-    { PCI_CHIP_RN50_515E, PCI_CHIP_RN50_515E, RES_SHARED_VGA },
-    { PCI_CHIP_RN50_5969, PCI_CHIP_RN50_5969, RES_SHARED_VGA },
-    { PCI_CHIP_RADEON_LW, PCI_CHIP_RADEON_LW, RES_SHARED_VGA },
-    { PCI_CHIP_RADEON_LX, PCI_CHIP_RADEON_LX, RES_SHARED_VGA },
-    { PCI_CHIP_RADEON_LY, PCI_CHIP_RADEON_LY, RES_SHARED_VGA },
-    { PCI_CHIP_RADEON_LZ, PCI_CHIP_RADEON_LZ, RES_SHARED_VGA },
-    { PCI_CHIP_RS100_4136, PCI_CHIP_RS100_4136, RES_SHARED_VGA },
-    { PCI_CHIP_RS100_4336, PCI_CHIP_RS100_4336, RES_SHARED_VGA },
-    { PCI_CHIP_RS200_4137, PCI_CHIP_RS200_4137, RES_SHARED_VGA },
-    { PCI_CHIP_RS200_4337, PCI_CHIP_RS200_4337, RES_SHARED_VGA },
-    { PCI_CHIP_RS250_4237, PCI_CHIP_RS250_4237, RES_SHARED_VGA },
-    { PCI_CHIP_RS250_4437, PCI_CHIP_RS250_4437, RES_SHARED_VGA },
-    { PCI_CHIP_R200_QH, PCI_CHIP_R200_QH, RES_SHARED_VGA },
-    { PCI_CHIP_R200_QL, PCI_CHIP_R200_QL, RES_SHARED_VGA },
-    { PCI_CHIP_R200_QM, PCI_CHIP_R200_QM, RES_SHARED_VGA },
-    { PCI_CHIP_R200_BB, PCI_CHIP_R200_BB, RES_SHARED_VGA },
-    { PCI_CHIP_R200_BC, PCI_CHIP_R200_BC, RES_SHARED_VGA },
-    { PCI_CHIP_RV200_QW, PCI_CHIP_RV200_QW, RES_SHARED_VGA },
-    { PCI_CHIP_RV200_QX, PCI_CHIP_RV200_QX, RES_SHARED_VGA },
-    { PCI_CHIP_RV250_If, PCI_CHIP_RV250_If, RES_SHARED_VGA },
-    { PCI_CHIP_RV250_Ig, PCI_CHIP_RV250_Ig, RES_SHARED_VGA },
-    { PCI_CHIP_RV250_Ld, PCI_CHIP_RV250_Ld, RES_SHARED_VGA },
-    { PCI_CHIP_RV250_Lf, PCI_CHIP_RV250_Lf, RES_SHARED_VGA },
-    { PCI_CHIP_RV250_Lg, PCI_CHIP_RV250_Lg, RES_SHARED_VGA },
-    { PCI_CHIP_RS300_5834, PCI_CHIP_RS300_5834, RES_SHARED_VGA },
-    { PCI_CHIP_RS300_5835, PCI_CHIP_RS300_5835, RES_SHARED_VGA },
-    { PCI_CHIP_RS350_7834, PCI_CHIP_RS350_7834, RES_SHARED_VGA },
-    { PCI_CHIP_RS350_7835, PCI_CHIP_RS350_7835, RES_SHARED_VGA },
-    { PCI_CHIP_RV280_5960, PCI_CHIP_RV280_5960, RES_SHARED_VGA },
-    { PCI_CHIP_RV280_5961, PCI_CHIP_RV280_5961, RES_SHARED_VGA },
-    { PCI_CHIP_RV280_5962, PCI_CHIP_RV280_5962, RES_SHARED_VGA },
-    { PCI_CHIP_RV280_5964, PCI_CHIP_RV280_5964, RES_SHARED_VGA },
-    { PCI_CHIP_RV280_5965, PCI_CHIP_RV280_5965, RES_SHARED_VGA },
-    { PCI_CHIP_RV280_5C61, PCI_CHIP_RV280_5C61, RES_SHARED_VGA },
-    { PCI_CHIP_RV280_5C63, PCI_CHIP_RV280_5C63, RES_SHARED_VGA },
-    { PCI_CHIP_R300_AD, PCI_CHIP_R300_AD, RES_SHARED_VGA },
-    { PCI_CHIP_R300_AE, PCI_CHIP_R300_AE, RES_SHARED_VGA },
-    { PCI_CHIP_R300_AF, PCI_CHIP_R300_AF, RES_SHARED_VGA },
-    { PCI_CHIP_R300_AG, PCI_CHIP_R300_AG, RES_SHARED_VGA },
-    { PCI_CHIP_R300_ND, PCI_CHIP_R300_ND, RES_SHARED_VGA },
-    { PCI_CHIP_R300_NE, PCI_CHIP_R300_NE, RES_SHARED_VGA },
-    { PCI_CHIP_R300_NF, PCI_CHIP_R300_NF, RES_SHARED_VGA },
-    { PCI_CHIP_R300_NG, PCI_CHIP_R300_NG, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_AP, PCI_CHIP_RV350_AP, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_AQ, PCI_CHIP_RV350_AQ, RES_SHARED_VGA },
-    { PCI_CHIP_RV360_AR, PCI_CHIP_RV360_AR, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_AS, PCI_CHIP_RV350_AS, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_AT, PCI_CHIP_RV350_AT, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_AV, PCI_CHIP_RV350_AV, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_NP, PCI_CHIP_RV350_NP, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_NQ, PCI_CHIP_RV350_NQ, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_NR, PCI_CHIP_RV350_NR, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_NS, PCI_CHIP_RV350_NS, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_NT, PCI_CHIP_RV350_NT, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_NV, PCI_CHIP_RV350_NV, RES_SHARED_VGA },
-    { PCI_CHIP_RV350_4155, PCI_CHIP_RV350_4155, RES_SHARED_VGA },
-    { PCI_CHIP_R350_AH, PCI_CHIP_R350_AH, RES_SHARED_VGA },
-    { PCI_CHIP_R350_AI, PCI_CHIP_R350_AI, RES_SHARED_VGA },
-    { PCI_CHIP_R350_AJ, PCI_CHIP_R350_AJ, RES_SHARED_VGA },
-    { PCI_CHIP_R350_AK, PCI_CHIP_R350_AK, RES_SHARED_VGA },
-    { PCI_CHIP_R350_NH, PCI_CHIP_R350_NH, RES_SHARED_VGA },
-    { PCI_CHIP_R350_NI, PCI_CHIP_R350_NI, RES_SHARED_VGA },
-    { PCI_CHIP_R350_NK, PCI_CHIP_R350_NK, RES_SHARED_VGA },
-    { PCI_CHIP_R360_NJ, PCI_CHIP_R360_NJ, RES_SHARED_VGA },
-    { PCI_CHIP_RV380_3E50, PCI_CHIP_RV380_3E50, RES_SHARED_VGA },
-    { PCI_CHIP_RV380_3E54, PCI_CHIP_RV380_3E54, RES_SHARED_VGA },
-    { PCI_CHIP_RV380_3150, PCI_CHIP_RV380_3150, RES_SHARED_VGA },
-    { PCI_CHIP_RV380_3152, PCI_CHIP_RV380_3152, RES_SHARED_VGA },
-    { PCI_CHIP_RV380_3154, PCI_CHIP_RV380_3154, RES_SHARED_VGA },
-    { PCI_CHIP_RV370_5B60, PCI_CHIP_RV370_5B60, RES_SHARED_VGA },
-    { PCI_CHIP_RV370_5B62, PCI_CHIP_RV370_5B62, RES_SHARED_VGA },
-    { PCI_CHIP_RV370_5B63, PCI_CHIP_RV370_5B63, RES_SHARED_VGA },
-    { PCI_CHIP_RV370_5B64, PCI_CHIP_RV370_5B64, RES_SHARED_VGA },
-    { PCI_CHIP_RV370_5B65, PCI_CHIP_RV370_5B65, RES_SHARED_VGA },
-    { PCI_CHIP_RV370_5460, PCI_CHIP_RV370_5460, RES_SHARED_VGA },
-    { PCI_CHIP_RV370_5462, PCI_CHIP_RV370_5462, RES_SHARED_VGA },
-    { PCI_CHIP_RV370_5464, PCI_CHIP_RV370_5464, RES_SHARED_VGA },
-    { PCI_CHIP_RS400_5A41, PCI_CHIP_RS400_5A41, RES_SHARED_VGA },
-    { PCI_CHIP_RS400_5A42, PCI_CHIP_RS400_5A42, RES_SHARED_VGA },
-    { PCI_CHIP_RC410_5A61, PCI_CHIP_RC410_5A61, RES_SHARED_VGA },
-    { PCI_CHIP_RC410_5A62, PCI_CHIP_RC410_5A62, RES_SHARED_VGA },
-    { PCI_CHIP_RS480_5954, PCI_CHIP_RS480_5954, RES_SHARED_VGA },
-    { PCI_CHIP_RS480_5955, PCI_CHIP_RS480_5955, RES_SHARED_VGA },
-    { PCI_CHIP_RS482_5974, PCI_CHIP_RS482_5974, RES_SHARED_VGA },
-    { PCI_CHIP_RS485_5975, PCI_CHIP_RS485_5975, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_5E48, PCI_CHIP_RV410_5E48, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_564A, PCI_CHIP_RV410_564A, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_564B, PCI_CHIP_RV410_564B, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_564F, PCI_CHIP_RV410_564F, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_5652, PCI_CHIP_RV410_5652, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_5653, PCI_CHIP_RV410_5653, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_5E4B, PCI_CHIP_RV410_5E4B, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_5E4A, PCI_CHIP_RV410_5E4A, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_5E4D, PCI_CHIP_RV410_5E4D, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_5E4C, PCI_CHIP_RV410_5E4C, RES_SHARED_VGA },
-    { PCI_CHIP_RV410_5E4F, PCI_CHIP_RV410_5E4F, RES_SHARED_VGA },
-    { PCI_CHIP_R420_JH, PCI_CHIP_R420_JH, RES_SHARED_VGA },
-    { PCI_CHIP_R420_JI, PCI_CHIP_R420_JI, RES_SHARED_VGA },
-    { PCI_CHIP_R420_JJ, PCI_CHIP_R420_JJ, RES_SHARED_VGA },
-    { PCI_CHIP_R420_JK, PCI_CHIP_R420_JK, RES_SHARED_VGA },
-    { PCI_CHIP_R420_JL, PCI_CHIP_R420_JL, RES_SHARED_VGA },
-    { PCI_CHIP_R420_JM, PCI_CHIP_R420_JM, RES_SHARED_VGA },
-    { PCI_CHIP_R420_JN, PCI_CHIP_R420_JN, RES_SHARED_VGA },
-    { PCI_CHIP_R420_JP, PCI_CHIP_R420_JP, RES_SHARED_VGA },
-    { PCI_CHIP_R420_4A4F, PCI_CHIP_R420_4A4F, RES_SHARED_VGA },
-    { PCI_CHIP_R420_4A54, PCI_CHIP_R420_4A54, RES_SHARED_VGA },
-    { PCI_CHIP_R423_UH, PCI_CHIP_R423_UH, RES_SHARED_VGA },
-    { PCI_CHIP_R423_UI, PCI_CHIP_R423_UI, RES_SHARED_VGA },
-    { PCI_CHIP_R423_UJ, PCI_CHIP_R423_UJ, RES_SHARED_VGA },
-    { PCI_CHIP_R423_UK, PCI_CHIP_R423_UK, RES_SHARED_VGA },
-    { PCI_CHIP_R423_UQ, PCI_CHIP_R423_UQ, RES_SHARED_VGA },
-    { PCI_CHIP_R423_UR, PCI_CHIP_R423_UR, RES_SHARED_VGA },
-    { PCI_CHIP_R423_UT, PCI_CHIP_R423_UT, RES_SHARED_VGA },
-    { PCI_CHIP_R423_5D57, PCI_CHIP_R423_5D57, RES_SHARED_VGA },
-    { PCI_CHIP_R423_5550, PCI_CHIP_R423_5550, RES_SHARED_VGA },
-    { PCI_CHIP_R430_5D49, PCI_CHIP_R430_5D49, RES_SHARED_VGA },
-    { PCI_CHIP_R430_5D4A, PCI_CHIP_R430_5D4A, RES_SHARED_VGA },
-    { PCI_CHIP_R430_5D48, PCI_CHIP_R430_5D48, RES_SHARED_VGA },
-    { PCI_CHIP_R430_554F, PCI_CHIP_R430_554F, RES_SHARED_VGA },
-    { PCI_CHIP_R430_554D, PCI_CHIP_R430_554D, RES_SHARED_VGA },
-    { PCI_CHIP_R430_554E, PCI_CHIP_R430_554E, RES_SHARED_VGA },
-    { PCI_CHIP_R430_554C, PCI_CHIP_R430_554C, RES_SHARED_VGA },
-    { PCI_CHIP_R480_5D4C, PCI_CHIP_R480_5D4C, RES_SHARED_VGA },
-    { PCI_CHIP_R480_5D50, PCI_CHIP_R480_5D50, RES_SHARED_VGA },
-    { PCI_CHIP_R480_5D4E, PCI_CHIP_R480_5D4E, RES_SHARED_VGA },
-    { PCI_CHIP_R480_5D4F, PCI_CHIP_R480_5D4F, RES_SHARED_VGA },
-    { PCI_CHIP_R480_5D52, PCI_CHIP_R480_5D52, RES_SHARED_VGA },
-    { PCI_CHIP_R480_5D4D, PCI_CHIP_R480_5D4D, RES_SHARED_VGA },
-    { PCI_CHIP_R481_4B4B, PCI_CHIP_R481_4B4B, RES_SHARED_VGA },
-    { PCI_CHIP_R481_4B4A, PCI_CHIP_R481_4B4A, RES_SHARED_VGA },
-    { PCI_CHIP_R481_4B49, PCI_CHIP_R481_4B49, RES_SHARED_VGA },
-    { PCI_CHIP_R481_4B4C, PCI_CHIP_R481_4B4C, RES_SHARED_VGA },
-
-    { -1,                 -1,                 RES_UNDEFINED }
-};
+#include "radeon_pci_chipset_gen.h"
 
 int gRADEONEntityIndex = -1;
 


More information about the xorg-commit mailing list