@@ -17689,6 +17689,24 @@ static void Call_SVI_APU(const unsigned int plane0, const unsigned int plane1,
1768917689 SoC_RAPL(SVI, factor);
1769017690}
1769117691
17692+ static void Call_SVI_RMB(const unsigned int plane0, const unsigned int plane1,
17693+ const unsigned long long factor)
17694+ {
17695+ AMD_RMB_SVI SVI = {.value = 0};
17696+
17697+ Core_AMD_SMN_Read( SVI,
17698+ SMU_AMD_RMB_SVI(plane0),
17699+ PRIVATE(OF(Zen)).Device.DF );
17700+
17701+ PUBLIC(RO(Proc))->PowerThermal.VID.CPU = SVI.SVI1;
17702+
17703+ Core_AMD_SMN_Read( SVI,
17704+ SMU_AMD_RMB_SVI(plane1),
17705+ PRIVATE(OF(Zen)).Device.DF );
17706+
17707+ PUBLIC(RO(Proc))->PowerThermal.VID.SOC = SVI.SVI1;
17708+ }
17709+
1769217710static void Call_DFLT( const unsigned int plane0, const unsigned int plane1,
1769317711 const unsigned long long factor )
1769417712{
@@ -17741,6 +17759,10 @@ static enum hrtimer_restart Cycle_AMD_F17h_Zen2_APU(struct hrtimer *pTimer)
1774117759{
1774217760 return Entry_AMD_F17h(pTimer, Call_SVI_APU, 0, 1, 294300LLU);
1774317761}
17762+ static enum hrtimer_restart Cycle_AMD_Zen3Plus_RMB(struct hrtimer *pTimer)
17763+ {
17764+ return Entry_AMD_F17h(pTimer, Call_SVI_RMB, 0, 1, 294300LLU);
17765+ }
1774417766static enum hrtimer_restart Cycle_AMD_F17h(struct hrtimer *pTimer)
1774517767{
1774617768 return Entry_AMD_F17h(pTimer, Call_DFLT, 0, 0, 0LLU);
@@ -17771,6 +17793,11 @@ static void InitTimer_AMD_F17h_Zen2_APU(unsigned int cpu)
1777117793 smp_call_function_single(cpu, InitTimer, Cycle_AMD_F17h_Zen2_APU, 1);
1777217794}
1777317795
17796+ static void InitTimer_AMD_Zen3Plus_RMB(unsigned int cpu)
17797+ {
17798+ smp_call_function_single(cpu, InitTimer, Cycle_AMD_Zen3Plus_RMB, 1);
17799+ }
17800+
1777417801static void Start_AMD_Family_17h(void *arg)
1777517802{
1777617803 unsigned int cpu = smp_processor_id();
0 commit comments