Skip to content

Commit cad12ce

Browse files
committed
[AMD][Zen4] Clarify Hawk Point and Phoenix-Refresh architectures
1 parent 9235fb3 commit cad12ce

File tree

5 files changed

+112
-27
lines changed

5 files changed

+112
-27
lines changed

x86_64/corefreq-cli.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7509,8 +7509,9 @@ void Topology(Window *win, CELL_FUNC OutFunc, unsigned int *cellPadding)
75097509
case AMD_Zen3_CZN:
75107510
case AMD_Zen3Plus_RMB:
75117511
case AMD_Zen4_PHX:
7512-
case AMD_Zen4_HWK:
7512+
case AMD_Zen4_PHXR:
75137513
case AMD_Zen4_PHX2:
7514+
case AMD_Zen4_HWK:
75147515
TopologyFunc = Topology_SMT;
75157516
OffLineItem = RSC(TOPOLOGY_OFF_0).CODE();
75167517
TopologySubHeader[1] = TopologyAltSubHeader[0];

x86_64/corefreqd.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7792,8 +7792,9 @@ void Topology(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) **RO(Core),
77927792
case AMD_Zen4_Genoa:
77937793
case AMD_Zen4_RPL:
77947794
case AMD_Zen4_PHX:
7795-
case AMD_Zen4_HWK:
7795+
case AMD_Zen4_PHXR:
77967796
case AMD_Zen4_PHX2:
7797+
case AMD_Zen4_HWK:
77977798
case AMD_Zen4_Bergamo:
77987799
case AMD_Zen4_STP:
77997800
case AMD_Family_17h:

x86_64/corefreqk.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2170,8 +2170,9 @@ static void Map_AMD_Topology(void *arg)
21702170
case AMD_Zen3_CZN:
21712171
case AMD_Zen3Plus_RMB:
21722172
case AMD_Zen4_PHX:
2173-
case AMD_Zen4_HWK:
2173+
case AMD_Zen4_PHXR:
21742174
case AMD_Zen4_PHX2:
2175+
case AMD_Zen4_HWK:
21752176
CPU_Complex = false;
21762177
fallthrough;
21772178
/* Zen CPU Complex */
@@ -8189,8 +8190,9 @@ static bool Compute_AMD_Zen_Boost(unsigned int cpu)
81898190
AMD_17_ZEN2_COF XtraCOF = {.value = 0};
81908191

81918192
switch (PUBLIC(RO(Proc))->ArchID) {
8192-
case AMD_Zen4_PHX2:
81938193
case AMD_Zen4_HWK:
8194+
case AMD_Zen4_PHX2:
8195+
case AMD_Zen4_PHXR:
81948196
case AMD_Zen4_PHX:
81958197
case AMD_Zen4_RPL:
81968198
case AMD_Zen3Plus_RMB:

x86_64/corefreqk.h

Lines changed: 102 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2053,8 +2053,9 @@ static void InitTimer_AMD_Zen4_RPL(unsigned int cpu) ;
20532053
[Zen4/Raphael] AF_61h Stepping 2 5 nm [RPL]
20542054
[Zen4/Dragon Range] AF_61h Stepping 2 5 nm FL1
20552055
[Zen4/Phoenix Point] AF_74h 4 nm [PHX]
2056-
[Zen4/Hawk Point] AF_75h 4 nm [PHX]
2056+
[Zen4/Phoenix-R] AF_75h 4 nm [PHX]
20572057
[Zen4c/Phoenix2] AF_78h 4 nm [PHX2]
2058+
[Zen4c/Hawk Point] AF_7Ch 4 nm [HWK]
20582059
[Zen4c][Bergamo][Siena] AF_A0h Stepping [1][2] 5 nm SVR
20592060
[Zen4/Storm Peak] AF_18h Stepping 1 5 nm WS/SP6
20602061
[Zen5/Granite Ridge] */
@@ -2072,8 +2073,9 @@ static void InitTimer_AMD_Zen4_RPL(unsigned int cpu) ;
20722073
#define _AMD_Zen4_Genoa {.ExtFamily=0xa, .Family=0xF, .ExtModel=0x1, .Model=0x1}
20732074
#define _AMD_Zen4_RPL {.ExtFamily=0xa, .Family=0xF, .ExtModel=0x6, .Model=0x1}
20742075
#define _AMD_Zen4_PHX {.ExtFamily=0xa, .Family=0xF, .ExtModel=0x7, .Model=0x4}
2075-
#define _AMD_Zen4_HWK {.ExtFamily=0xa, .Family=0xF, .ExtModel=0x7, .Model=0x5}
2076+
#define _AMD_Zen4_PHXR {.ExtFamily=0xa, .Family=0xF, .ExtModel=0x7, .Model=0x5}
20762077
#define _AMD_Zen4_PHX2 {.ExtFamily=0xa, .Family=0xF, .ExtModel=0x7, .Model=0x8}
2078+
#define _AMD_Zen4_HWK {.ExtFamily=0xa, .Family=0xF, .ExtModel=0x7, .Model=0xC}
20772079
#define _AMD_Zen4_Bergamo \
20782080
{.ExtFamily=0xa, .Family=0xF, .ExtModel=0xa, .Model=0x0}
20792081

@@ -3597,10 +3599,11 @@ enum {
35973599
CN_PHOENIX
35983600
};
35993601
enum {
3600-
CN_PHOENIX_R
3602+
CN_PHOENIX2
36013603
};
36023604
enum {
3603-
CN_PHOENIX2
3605+
CN_PHOENIX_R,
3606+
CN_HAWK_POINT
36043607
};
36053608

36063609
enum {
@@ -3697,8 +3700,9 @@ static char *Arch_AMD_Zen4_RPL[] = ZLIST(
36973700
static char *Arch_AMD_Zen4_PHX[] = ZLIST(
36983701
[CN_PHOENIX] = "Zen4/Phoenix Point"
36993702
);
3700-
static char *Arch_AMD_Zen4_HWK[] = ZLIST(
3701-
[CN_PHOENIX_R] = "Zen4/Hawk Point"
3703+
static char *Arch_AMD_Zen4_PHXR[] = ZLIST(
3704+
[CN_PHOENIX_R] = "Zen4/Phoenix Point-R",
3705+
[CN_HAWK_POINT] = "Zen4/Hawk Point"
37023706
);
37033707
static char *Arch_AMD_Zen4_PHX2[] = ZLIST(
37043708
[CN_PHOENIX2] = "Zen4/Phoenix2"
@@ -8133,15 +8137,15 @@ static PROCESSOR_SPECIFIC AMD_Zen4_PHX_Specific[] = {
81338137
},
81348138
{0}
81358139
};
8136-
static PROCESSOR_SPECIFIC AMD_Zen4_HWK_Specific[] = {
8140+
static PROCESSOR_SPECIFIC AMD_Zen4_PHXR_Specific[] = {
81378141
{
81388142
.Brand = ZLIST( "AMD Ryzen 9 PRO 8945HS", \
81398143
"AMD Ryzen 9 8945HS", \
81408144
"AMD Ryzen 9 8945H", /* zh-cn */\
81418145
"AMD Ryzen 9 8940H" ),
81428146
.Boost = {+12, 0},
81438147
.Param.Offset = {0, 0, 0},
8144-
.CodeNameIdx = CN_PHOENIX_R,
8148+
.CodeNameIdx = CN_HAWK_POINT,
81458149
.TgtRatioUnlocked = 1,
81468150
.ClkRatioUnlocked = 0b10,
81478151
.TurboUnlocked = 0,
@@ -8156,7 +8160,7 @@ static PROCESSOR_SPECIFIC AMD_Zen4_HWK_Specific[] = {
81568160
"AMD Ryzen Embedded 8845HS" ),
81578161
.Boost = {+13, 0},
81588162
.Param.Offset = {0, 0, 0},
8159-
.CodeNameIdx = CN_PHOENIX_R,
8163+
.CodeNameIdx = CN_HAWK_POINT,
81608164
.TgtRatioUnlocked = 1,
81618165
.ClkRatioUnlocked = 0b10,
81628166
.TurboUnlocked = 0,
@@ -8173,7 +8177,7 @@ static PROCESSOR_SPECIFIC AMD_Zen4_HWK_Specific[] = {
81738177
"AMD Ryzen Embedded 8840U" ),
81748178
.Boost = {+18, 0},
81758179
.Param.Offset = {0, 0, 0},
8176-
.CodeNameIdx = CN_PHOENIX_R,
8180+
.CodeNameIdx = CN_HAWK_POINT,
81778181
.TgtRatioUnlocked = 1,
81788182
.ClkRatioUnlocked = 0b10,
81798183
.TurboUnlocked = 0,
@@ -8188,7 +8192,7 @@ static PROCESSOR_SPECIFIC AMD_Zen4_HWK_Specific[] = {
81888192
"AMD Ryzen Embedded 8645HS" ),
81898193
.Boost = {+7, 0},
81908194
.Param.Offset = {0, 0, 0},
8191-
.CodeNameIdx = CN_PHOENIX_R,
8195+
.CodeNameIdx = CN_HAWK_POINT,
81928196
.TgtRatioUnlocked = 1,
81938197
.ClkRatioUnlocked = 0b10,
81948198
.TurboUnlocked = 0,
@@ -8204,7 +8208,7 @@ static PROCESSOR_SPECIFIC AMD_Zen4_HWK_Specific[] = {
82048208
"AMD Ryzen Embedded 8640U" ),
82058209
.Boost = {+14, 0},
82068210
.Param.Offset = {0, 0, 0},
8207-
.CodeNameIdx = CN_PHOENIX_R,
8211+
.CodeNameIdx = CN_HAWK_POINT,
82088212
.TgtRatioUnlocked = 1,
82098213
.ClkRatioUnlocked = 0b10,
82108214
.TurboUnlocked = 0,
@@ -8218,7 +8222,7 @@ static PROCESSOR_SPECIFIC AMD_Zen4_HWK_Specific[] = {
82188222
"AMD Ryzen 3 8440U" ),
82198223
.Boost = {+17, 0},
82208224
.Param.Offset = {0, 0, 0},
8221-
.CodeNameIdx = CN_PHOENIX_R,
8225+
.CodeNameIdx = CN_HAWK_POINT,
82228226
.TgtRatioUnlocked = 1,
82238227
.ClkRatioUnlocked = 0b10,
82248228
.TurboUnlocked = 0,
@@ -8227,7 +8231,20 @@ static PROCESSOR_SPECIFIC AMD_Zen4_HWK_Specific[] = {
82278231
.Latch=LATCH_TGT_RATIO_UNLOCK|LATCH_CLK_RATIO_UNLOCK|LATCH_TURBO_UNLOCK
82288232
},
82298233
{
8230-
.Brand = ZLIST( "AMD Ryzen 7 8700F", \
8234+
.Brand = ZLIST( "AMD Ryzen 7 PRO 8700GE"),
8235+
.Boost = {+15, 0},
8236+
.Param.Offset = {0, 0, 0},
8237+
.CodeNameIdx = CN_PHOENIX_R,
8238+
.TgtRatioUnlocked = 1,
8239+
.ClkRatioUnlocked = 0b10,
8240+
.TurboUnlocked = 1,
8241+
.UncoreUnlocked = 0,
8242+
.HSMP_Capable = 0,
8243+
.Latch=LATCH_TGT_RATIO_UNLOCK|LATCH_CLK_RATIO_UNLOCK|LATCH_TURBO_UNLOCK
8244+
},
8245+
{
8246+
.Brand = ZLIST( "AMD Ryzen 7 PRO 8700G", \
8247+
"AMD Ryzen 7 8700F", \
82318248
"AMD Ryzen 7 8700G" ),
82328249
.Boost = {+9, 0},
82338250
.Param.Offset = {0, 0, 0},
@@ -8240,7 +8257,20 @@ static PROCESSOR_SPECIFIC AMD_Zen4_HWK_Specific[] = {
82408257
.Latch=LATCH_TGT_RATIO_UNLOCK|LATCH_CLK_RATIO_UNLOCK|LATCH_TURBO_UNLOCK
82418258
},
82428259
{
8243-
.Brand = ZLIST("AMD Ryzen 5 8600G"),
8260+
.Brand = ZLIST("AMD Ryzen 5 PRO 8600GE"),
8261+
.Boost = {+11, 0},
8262+
.Param.Offset = {0, 0, 0},
8263+
.CodeNameIdx = CN_PHOENIX_R,
8264+
.TgtRatioUnlocked = 1,
8265+
.ClkRatioUnlocked = 0b10,
8266+
.TurboUnlocked = 1,
8267+
.UncoreUnlocked = 0,
8268+
.HSMP_Capable = 0,
8269+
.Latch=LATCH_TGT_RATIO_UNLOCK|LATCH_CLK_RATIO_UNLOCK|LATCH_TURBO_UNLOCK
8270+
},
8271+
{
8272+
.Brand = ZLIST( "AMD Ryzen 5 PRO 8600G", \
8273+
"AMD Ryzen 5 8600G" ),
82448274
.Boost = {+7, 0},
82458275
.Param.Offset = {0, 0, 0},
82468276
.CodeNameIdx = CN_PHOENIX_R,
@@ -8281,7 +8311,9 @@ static PROCESSOR_SPECIFIC AMD_Zen4_PHX2_Specific[] = {
82818311
.Latch=LATCH_TGT_RATIO_UNLOCK|LATCH_CLK_RATIO_UNLOCK|LATCH_TURBO_UNLOCK
82828312
},
82838313
{
8284-
.Brand = ZLIST( "AMD Ryzen 5 8500G", \
8314+
.Brand = ZLIST( "AMD Ryzen 5 PRO 8500G", \
8315+
"AMD Ryzen 3 PRO 8300G", \
8316+
"AMD Ryzen 5 8500G", \
82858317
"AMD Ryzen 3 8300G" ),
82868318
.Boost = {+15, 0},
82878319
.Param.Offset = {0, 0, 0},
@@ -8293,6 +8325,30 @@ static PROCESSOR_SPECIFIC AMD_Zen4_PHX2_Specific[] = {
82938325
.HSMP_Capable = 0,
82948326
.Latch=LATCH_TGT_RATIO_UNLOCK|LATCH_CLK_RATIO_UNLOCK|LATCH_TURBO_UNLOCK
82958327
},
8328+
{
8329+
.Brand = ZLIST("AMD Ryzen 5 PRO 8500GE"),
8330+
.Boost = {+16, 0},
8331+
.Param.Offset = {0, 0, 0},
8332+
.CodeNameIdx = CN_PHOENIX2,
8333+
.TgtRatioUnlocked = 1,
8334+
.ClkRatioUnlocked = 0b10,
8335+
.TurboUnlocked = 0,
8336+
.UncoreUnlocked = 0,
8337+
.HSMP_Capable = 0,
8338+
.Latch=LATCH_TGT_RATIO_UNLOCK|LATCH_CLK_RATIO_UNLOCK|LATCH_TURBO_UNLOCK
8339+
},
8340+
{
8341+
.Brand = ZLIST("AMD Ryzen 3 PRO 8300GE"),
8342+
.Boost = {+14, 0},
8343+
.Param.Offset = {0, 0, 0},
8344+
.CodeNameIdx = CN_PHOENIX2,
8345+
.TgtRatioUnlocked = 1,
8346+
.ClkRatioUnlocked = 0b10,
8347+
.TurboUnlocked = 0,
8348+
.UncoreUnlocked = 0,
8349+
.HSMP_Capable = 0,
8350+
.Latch=LATCH_TGT_RATIO_UNLOCK|LATCH_CLK_RATIO_UNLOCK|LATCH_TURBO_UNLOCK
8351+
},
82968352
{0}
82978353
};
82988354
static PROCESSOR_SPECIFIC AMD_Zen4_Bergamo_Specific[] = {
@@ -11998,8 +12054,8 @@ static ARCH Arch[ARCHITECTURES] = {
1199812054
.SystemDriver = AMD_Zen_Driver,
1199912055
.Architecture = Arch_AMD_Zen4_PHX
1200012056
},
12001-
[AMD_Zen4_HWK] = { /*117*/
12002-
.Signature = _AMD_Zen4_HWK,
12057+
[AMD_Zen4_PHXR] = { /*117*/
12058+
.Signature = _AMD_Zen4_PHXR,
1200312059
.Query = Query_AMD_F19h_PerSocket,
1200412060
.Update = PerCore_AMD_Family_19h_Query,
1200512061
.Start = Start_AMD_Family_19h,
@@ -12018,9 +12074,9 @@ static ARCH Arch[ARCHITECTURES] = {
1201812074
.Stop = Stop_Uncore_AMD_Family_19h,
1201912075
.ClockMod = NULL
1202012076
},
12021-
.Specific = AMD_Zen4_HWK_Specific,
12077+
.Specific = AMD_Zen4_PHXR_Specific,
1202212078
.SystemDriver = AMD_Zen_Driver,
12023-
.Architecture = Arch_AMD_Zen4_HWK
12079+
.Architecture = Arch_AMD_Zen4_PHXR
1202412080
},
1202512081
[AMD_Zen4_PHX2] = { /*118*/
1202612082
.Signature = _AMD_Zen4_PHX2,
@@ -12046,7 +12102,31 @@ static ARCH Arch[ARCHITECTURES] = {
1204612102
.SystemDriver = AMD_Zen_Driver,
1204712103
.Architecture = Arch_AMD_Zen4_PHX2
1204812104
},
12049-
[AMD_Zen4_Bergamo] = { /*119*/
12105+
[AMD_Zen4_HWK] = { /*119*/
12106+
.Signature = _AMD_Zen4_HWK,
12107+
.Query = Query_AMD_F19h_PerSocket,
12108+
.Update = PerCore_AMD_Family_19h_Query,
12109+
.Start = Start_AMD_Family_19h,
12110+
.Stop = Stop_AMD_Family_19h,
12111+
.Exit = Exit_AMD_F19h,
12112+
.Timer = InitTimer_AMD_Zen4_PHX,
12113+
.BaseClock = BaseClock_AMD_Family_19h,
12114+
.ClockMod = ClockMod_AMD_Zen,
12115+
.TurboClock = TurboClock_AMD_Zen,
12116+
.thermalFormula = THERMAL_FORMULA_AMD_19h,
12117+
.voltageFormula = VOLTAGE_FORMULA_AMD_ZEN4,
12118+
.powerFormula = POWER_FORMULA_AMD_19h,
12119+
.PCI_ids = PCI_AMD_19h_ids,
12120+
.Uncore = {
12121+
.Start = Start_Uncore_AMD_Family_19h,
12122+
.Stop = Stop_Uncore_AMD_Family_19h,
12123+
.ClockMod = NULL
12124+
},
12125+
.Specific = AMD_Zen4_PHXR_Specific,
12126+
.SystemDriver = AMD_Zen_Driver,
12127+
.Architecture = Arch_AMD_Zen4_PHXR
12128+
},
12129+
[AMD_Zen4_Bergamo] = { /*120*/
1205012130
.Signature = _AMD_Zen4_Bergamo,
1205112131
.Query = Query_AMD_F19h_11h_PerCluster,
1205212132
.Update = PerCore_AMD_Family_19h_Query,
@@ -12070,7 +12150,7 @@ static ARCH Arch[ARCHITECTURES] = {
1207012150
.SystemDriver = AMD_Zen_Driver,
1207112151
.Architecture = Arch_AMD_Zen4_Bergamo
1207212152
},
12073-
[AMD_Zen4_STP] = { /*120*/
12153+
[AMD_Zen4_STP] = { /*121*/
1207412154
.Signature = _AMD_Zen4_STP,
1207512155
.Query = Query_AMD_F19h_11h_PerCluster,
1207612156
.Update = PerCore_AMD_Family_19h_Query,

x86_64/coretypes.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,9 @@ enum { GenuineArch = 0,
144144
AMD_Zen4_Genoa,
145145
AMD_Zen4_RPL,
146146
AMD_Zen4_PHX,
147-
AMD_Zen4_HWK,
147+
AMD_Zen4_PHXR,
148148
AMD_Zen4_PHX2,
149+
AMD_Zen4_HWK,
149150
AMD_Zen4_Bergamo,
150151
AMD_Zen4_STP,
151152
ARCHITECTURES

0 commit comments

Comments
 (0)