[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