既に 2つの DeviceID が用意されている Yellow Carp APU ファミリー

Update: 2021/07/28 00:13 +0900

Yellow Carp APU の Device (PCI) ID は、 AMD GPUドライバーにサポートを追加する最初のパッチでは追加されなかったが、先日 amd-gfxメーリングリストにて DeviceID を追加するパッチが公開された。

公開、追加された Yellow Carp APU厳密に言えば GPU部の DeviceID は 0x164D0x1681 の 2つとなる。

 +   /* Yellow Carp */
 +   {0x1002, 0x164D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_YELLOW_CARP|AMD_IS_APU},
 +   {0x1002, 0x1681, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_YELLOW_CARP|AMD_IS_APU},
 +

そして、もう 1つのパッチでは、2つでそれぞれ異なる external_rev_id を持つことが示されている。
external_rev_id は APU/GPU のシリコンに割り当てられる ID であり、0x00..0xFF から一部の範囲を取る。また、external_rev_id は APU/GPU のファミリー内で識別するための ID となる。

 -       adev->external_rev_id = adev->rev_id + 0x01;
 +       if (adev->pdev->device == 0x1681)
 +           adev->external_rev_id = adev->rev_id + 0x19;
 +       else
 +           adev->external_rev_id = adev->rev_id + 0x01;

そのため今回のパッチは、Yellow Carp と同様の GPUコア部、各種 IP (マルチメディアエンジン、ディスプレイエンジン/コントローラー) を搭載した APU が存在することを示していると考えられる。
Yellow Carp の DeviceID として追加されているが、APU/GPU の DeviceID が記述されている amdgpu_drv.c では Raven APURenoir APU をまとめて管理しており、その関係と思われる。 Raven には Raven・Raven2・PicassoRenoir には Renoir・Lucienne・Cezanne (Green Sardine) ・Barcelo の同様の GPU を搭載した異なる APU がそれぞれ属する。

     /* Renoir */
     {0x1002, 0x15E7, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RENOIR|AMD_IS_APU},
     {0x1002, 0x1636, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RENOIR|AMD_IS_APU},
     {0x1002, 0x1638, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RENOIR|AMD_IS_APU},
     {0x1002, 0x164C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RENOIR|AMD_IS_APU},

一応、ディスプレイエンジン/コントローラー部のバージョンを識別するのに使われる部分を記述した dal_asci_id.h では、Yellow Carp は A0ステッピングと B0ステッピングで異なる ID を持つことを示しているが、
今回のパッチで追加された DeviceId: 0x1681external_rev_id 範囲から外れるため、やはり Yellow Carp と同様の GPUコア部を搭載した異なる APU が存在し、既にサポートを追加する用意が進められていると考えられる。
コードネームも Yellow Carp とは異なるものになるだろう。

 #define FAMILY_YELLOW_CARP                     146

 #define YELLOW_CARP_A0 0x01
 #define YELLOW_CARP_B0 0x02     // TODO: DCN31 - update with correct B0 ID
 #define YELLOW_CARP_UNKNOWN 0xFF

 #ifndef ASICREV_IS_YELLOW_CARP
 #define ASICREV_IS_YELLOW_CARP(eChipRev) ((eChipRev >= YELLOW_CARP_A0) && (eChipRev < YELLOW_CARP_UNKNOWN))
 #endif

最近の AMD APU では、Raven からプロセスを改良した PicassoRaven に存在したバグを修正し、規模を小さくして同じプロセスで製造される Raven2
Renoir と同じ構成、同じ製造プロセスだが電源管理機能を改良した LucienneRenoir から CPUアーキテクチャを一世代進んだものを採用した Cezanne (Green Sardine) など、ある APU からの派生パターンが増えていることもあり、DeviceID: 0x1681Yellow Carp とどこが異なるのかは現時点では全く予想できないが、だからこそパッチ、公式発表を待つことは楽しいのだと思う。

RSSFeedbackChangelog
Site Search by Github (Beta) © 2019 - 2021 Umio-Yasuno
Hosted by Github Pages, Powered by Hugo 0.82.1