[PATCH xf86-video-amdgpu] Order unique chipsets according to first appearance in ati_pciids.csv

Alex Deucher alexdeucher at gmail.com
Wed Oct 19 14:10:49 UTC 2016


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


More information about the amd-gfx mailing list