[PATCH v2 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:52:48 UTC 2016


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

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---

v2: Don't bother making up PCI IDs for the AMDGPUUniqueChipsets array,
    they're not used anyway.

 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..3bfab87 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[] = {
+  { 0, "BONAIRE" },
+  { 0, "CARRIZO" },
+  { 0, "FIJI" },
+  { 0, "HAINAN" },
+  { 0, "HAWAII" },
+  { 0, "KABINI" },
+  { 0, "KAVERI" },
+  { 0, "MULLINS" },
+  { 0, "OLAND" },
+  { 0, "PITCAIRN" },
+  { 0, "POLARIS10" },
+  { 0, "POLARIS11" },
+  { 0, "STONEY" },
+  { 0, "TAHITI" },
+  { 0, "TONGA" },
+  { 0, "TOPAZ" },
+  { 0, "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..6b1217c 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 "  { 0, \"$_\" },\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