@@ -20498,7 +20498,8 @@ static void Call_HSMP_ACCU(CORE_RO *Core)
2049820498 {
2049920499 Core->Delta.RAM.ACCU = (unsigned long long) DIMM_PWR.mWatt;
2050020500 Core->Delta.RAM.ACCU <<= PUBLIC(RO(Proc))->PowerThermal.Unit.ESU;
20501- Core->Delta.RAM.ACCU = Core->Delta.RAM.ACCU / 1000LLU;
20501+ Core->Delta.RAM.ACCU *= PUBLIC(RO(Proc))->SleepInterval;
20502+ Core->Delta.RAM.ACCU = Core->Delta.RAM.ACCU / (1000LLU * 1000LLU);
2050220503 }
2050320504 }
2050420505 else if (IS_HSMP_OOO(rx))
@@ -20600,12 +20601,18 @@ static void Call_DFLT( const unsigned int plane0, const unsigned int plane1,
2060020601static void Call_Genoa( const unsigned int plane0, const unsigned int plane1,
2060120602 const unsigned long long factor )
2060220603{
20603- UNUSED(plane0);
20604- UNUSED(plane1);
20604+ AMD_GNA_SVI SVI = {.value = 0};
2060520605 UNUSED(factor);
2060620606
2060720607 PUBLIC(RO(Proc))->PowerThermal.VID.CPU = \
2060820608 PUBLIC(RO(Core,AT( PUBLIC(RO(Proc))->Service.Core )))->PowerThermal.VID;
20609+
20610+ Core_AMD_SMN_Read(SVI,
20611+ PUBLIC(RO(Core, AT(PUBLIC(RO(Proc))->Service.Core)))->T.PackageID == 0 ?
20612+ SMU_AMD_F17H_SVI(plane0) : SMU_AMD_F17H_SVI(plane1),
20613+ PRIVATE(OF(Zen)).Device.DF);
20614+
20615+ PUBLIC(RO(Proc))->PowerThermal.VID.SOC = SVI.SVI1;
2060920616}
2061020617
2061120618static enum hrtimer_restart Entry_AMD_F17h(struct hrtimer *pTimer,
@@ -20660,7 +20667,7 @@ static enum hrtimer_restart Cycle_AMD_Zen4_RPL(struct hrtimer *pTimer)
2066020667}
2066120668static enum hrtimer_restart Cycle_AMD_Zen4_Genoa(struct hrtimer *pTimer)
2066220669{
20663- return Entry_AMD_F17h(pTimer, Call_Genoa_ACCU, Call_Genoa, 0, 0 , 0LLU);
20670+ return Entry_AMD_F17h(pTimer, Call_Genoa_ACCU, Call_Genoa, 1, 2 , 0LLU);
2066420671}
2066520672static enum hrtimer_restart Cycle_AMD_F17h(struct hrtimer *pTimer)
2066620673{
0 commit comments