On Wed, Oct 19, 2016 at 5:28 AM, Michel Dänzer <michel at daenzer.net> wrote: > From: Michel Dänzer <michel.daenzer at amd.com> > > Instead of lexically. This makes it more likely for similar generations > to be close to each other in the list of unique chipsets. > > (Ported from radeon commit 1ce1b1656acc6211deb2091ff7f28d51b6daf86b, > plus change $numunique++ => ++$numunique to fix OLAND getting listed > twice) > > Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > src/amdgpu_chipset_gen.h | 26 +++++++++++++------------- > src/pcidb/parse_pci_ids.pl | 9 +++++++-- > 2 files changed, 20 insertions(+), 15 deletions(-) > > diff --git a/src/amdgpu_chipset_gen.h b/src/amdgpu_chipset_gen.h > index 3bfab87..1598941 100644 > --- a/src/amdgpu_chipset_gen.h > +++ b/src/amdgpu_chipset_gen.h > @@ -195,22 +195,22 @@ SymTabRec AMDGPUChipsets[] = { > }; > > SymTabRec AMDGPUUniqueChipsets[] = { > - { 0, "BONAIRE" }, > - { 0, "CARRIZO" }, > - { 0, "FIJI" }, > + { 0, "OLAND" }, > { 0, "HAINAN" }, > - { 0, "HAWAII" }, > + { 0, "TAHITI" }, > + { 0, "PITCAIRN" }, > + { 0, "VERDE" }, > + { 0, "BONAIRE" }, > { 0, "KABINI" }, > - { 0, "KAVERI" }, > { 0, "MULLINS" }, > - { 0, "OLAND" }, > - { 0, "PITCAIRN" }, > - { 0, "POLARIS10" }, > - { 0, "POLARIS11" }, > - { 0, "STONEY" }, > - { 0, "TAHITI" }, > - { 0, "TONGA" }, > + { 0, "KAVERI" }, > + { 0, "HAWAII" }, > { 0, "TOPAZ" }, > - { 0, "VERDE" }, > + { 0, "TONGA" }, > + { 0, "CARRIZO" }, > + { 0, "FIJI" }, > + { 0, "STONEY" }, > + { 0, "POLARIS11" }, > + { 0, "POLARIS10" }, > { -1, NULL } > }; > diff --git a/src/pcidb/parse_pci_ids.pl b/src/pcidb/parse_pci_ids.pl > index 9b6c6f2..1234d79 100755 > --- a/src/pcidb/parse_pci_ids.pl > +++ b/src/pcidb/parse_pci_ids.pl > @@ -17,6 +17,8 @@ my $amdgpuchipsetfile = 'amdgpu_chipset_gen.h'; > my $amdgpuchipinfofile = 'amdgpu_chipinfo_gen.h'; > > my %uniquechipsets; > +my @uniquearray; > +my $numunique = 0; > > my $csv = Text::CSV_XS->new(); > > @@ -50,7 +52,10 @@ while (<CSV>) { > print PCIDEVICEMATCH " ATI_DEVICE_MATCH( PCI_CHIP_$columns[1], 0 ),\n"; > > print AMDGPUCHIPSET " { PCI_CHIP_$columns[1], \"$columns[3]\" },\n"; > - $uniquechipsets{$columns[3]} = 1; > + if (!$uniquechipsets{$columns[3]}) { > + $uniquearray[$numunique] = $columns[3]; > + $uniquechipsets{$columns[3]} = ++$numunique; > + } > > print AMDGPUCHIPINFO " { $columns[0], CHIP_FAMILY_$columns[2] },\n"; > } > @@ -63,7 +68,7 @@ while (<CSV>) { > > print AMDGPUCHIPINFO "};\n"; > print AMDGPUCHIPSET " { -1, NULL }\n};\n\nSymTabRec AMDGPUUniqueChipsets[] = {\n"; > -foreach (sort keys %uniquechipsets) { > +foreach (@uniquearray) { > print AMDGPUCHIPSET " { 0, \"$_\" },\n"; > } > print AMDGPUCHIPSET " { -1, NULL }\n};\n"; > -- > 2.9.3 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx