tools/power x86_energy_perf_policy: Enhance HWP enable

On enabling HWP, preserve the reserved bits in MSR_PM_ENABLE.

Also, skip writing the MSR_PM_ENABLE if HWP is already enabled.

Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
Len Brown
2025-09-19 14:07:02 -04:00
parent b6b42a6051
commit c97c057d35

View File

@@ -1166,13 +1166,18 @@ int update_hwp_request_pkg(int pkg)
int enable_hwp_on_cpu(int cpu)
{
unsigned long long msr;
unsigned long long old_msr, new_msr;
get_msr(cpu, MSR_PM_ENABLE, &msr);
put_msr(cpu, MSR_PM_ENABLE, 1);
get_msr(cpu, MSR_PM_ENABLE, &old_msr);
if (old_msr & 1)
return 0; /* already enabled */
new_msr = old_msr | 1;
put_msr(cpu, MSR_PM_ENABLE, new_msr);
if (verbose)
printf("cpu%d: MSR_PM_ENABLE old: %d new: %d\n", cpu, (unsigned int) msr, 1);
printf("cpu%d: MSR_PM_ENABLE old: %llX new: %llX\n", cpu, old_msr, new_msr);
return 0;
}