[PATCH xf86-video-amdgpu] Only list each unique chipset family once in the log file

Michel Dänzer michel at daenzer.net
Mon Aug 29 07:46:29 UTC 2016


From: Michel Dänzer <michel.daenzer at amd.com>

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/amdgpu_chipset_gen.h   | 21 +++++++++++++++++++++
 src/amdgpu_probe.c         |  2 +-
 src/pcidb/parse_pci_ids.pl |  9 +++++++++
 3 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/src/amdgpu_chipset_gen.h b/src/amdgpu_chipset_gen.h
index 30e5d24..786b0f2 100644
--- a/src/amdgpu_chipset_gen.h
+++ b/src/amdgpu_chipset_gen.h
@@ -193,3 +193,24 @@ SymTabRec AMDGPUChipsets[] = {
   { PCI_CHIP_POLARIS10_67CF, "POLARIS10" },
   { -1,                 NULL }
 };
+
+SymTabRec AMDGPUUniqueChipsets[] = {
+  { PCI_CHIP_BONAIRE_6640, "BONAIRE" },
+  { PCI_CHIP_CARRIZO_9870, "CARRIZO" },
+  { PCI_CHIP_FIJI_7300, "FIJI" },
+  { PCI_CHIP_HAINAN_6660, "HAINAN" },
+  { PCI_CHIP_HAWAII_67A0, "HAWAII" },
+  { PCI_CHIP_KABINI_9830, "KABINI" },
+  { PCI_CHIP_KAVERI_1304, "KAVERI" },
+  { PCI_CHIP_MULLINS_9850, "MULLINS" },
+  { PCI_CHIP_OLAND_6600, "OLAND" },
+  { PCI_CHIP_PITCAIRN_6800, "PITCAIRN" },
+  { PCI_CHIP_POLARIS10_67C0, "POLARIS10" },
+  { PCI_CHIP_POLARIS11_67E0, "POLARIS11" },
+  { PCI_CHIP_STONEY_98E4, "STONEY" },
+  { PCI_CHIP_TAHITI_6780, "TAHITI" },
+  { PCI_CHIP_TONGA_6920, "TONGA" },
+  { PCI_CHIP_TOPAZ_6900, "TOPAZ" },
+  { PCI_CHIP_VERDE_6820, "VERDE" },
+  { -1,                 NULL }
+};
diff --git a/src/amdgpu_probe.c b/src/amdgpu_probe.c
index 1c32742..213d245 100644
--- a/src/amdgpu_probe.c
+++ b/src/amdgpu_probe.c
@@ -77,7 +77,7 @@ static const OptionInfoRec *AMDGPUAvailableOptions(int chipid, int busid)
 static void AMDGPUIdentify(int flags)
 {
 	xf86PrintChipsets(AMDGPU_NAME,
-			  "Driver for AMD Radeon chipsets", AMDGPUChipsets);
+			  "Driver for AMD Radeon chipsets", AMDGPUUniqueChipsets);
 }
 
 static char *amdgpu_bus_id(ScrnInfoPtr pScrn, struct pci_device *dev)
diff --git a/src/pcidb/parse_pci_ids.pl b/src/pcidb/parse_pci_ids.pl
index 06a9e1e..110d021 100755
--- a/src/pcidb/parse_pci_ids.pl
+++ b/src/pcidb/parse_pci_ids.pl
@@ -16,6 +16,8 @@ my $amdgpupcidevicematchfile = 'amdgpu_pci_device_match_gen.h';
 my $amdgpuchipsetfile = 'amdgpu_chipset_gen.h';
 my $amdgpuchipinfofile  = 'amdgpu_chipinfo_gen.h';
 
+my %uniquechipsets;
+
 my $csv = Text::CSV_XS->new();
 
 open (CSV, "<", $file) or die $!;
@@ -48,6 +50,9 @@ while (<CSV>) {
 	print PCIDEVICEMATCH " ATI_DEVICE_MATCH( PCI_CHIP_$columns[1], 0 ),\n";
 
 	print AMDGPUCHIPSET "  { PCI_CHIP_$columns[1], \"$columns[3]\" },\n";
+	if (!$uniquechipsets{$columns[3]}) {
+		$uniquechipsets{$columns[3]} = $columns[1];
+	}
 
 	print AMDGPUCHIPINFO " { $columns[0], CHIP_FAMILY_$columns[2] },\n";
       }
@@ -59,6 +64,10 @@ while (<CSV>) {
 }
 
 print AMDGPUCHIPINFO "};\n";
+print AMDGPUCHIPSET "  { -1,                 NULL }\n};\n\nSymTabRec AMDGPUUniqueChipsets[] = {\n";
+foreach (sort keys %uniquechipsets) {
+	print AMDGPUCHIPSET "  { PCI_CHIP_$uniquechipsets{$_}, \"$_\" },\n";
+}
 print AMDGPUCHIPSET "  { -1,                 NULL }\n};\n";
 print PCICHIPSET " { -1,                 -1,                 RES_UNDEFINED }\n};\n";
 print PCIDEVICEMATCH " { 0, 0, 0 }\n};\n";
-- 
2.9.3



More information about the amd-gfx mailing list