cpu/intel/turbo: Add option to disable turbo

disable_turbo function can be used to disable turbo mode
on each processor by settings MSR 0x1A0 bit 38.

This option will help to perform some quick test
without enabling turbo mode.

Change-Id: If3e387e16e9fa6f63cb0ffff6ab2759b447e7c5c
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/19674
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Subrata Banik 2017-05-02 19:35:42 +05:30 committed by Martin Roth
parent 7a00a63829
commit 7bde848d62
2 changed files with 20 additions and 0 deletions

View File

@ -106,3 +106,20 @@ void enable_turbo(void)
printk(BIOS_INFO, "Turbo has been enabled\n"); printk(BIOS_INFO, "Turbo has been enabled\n");
} }
} }
/*
* Try to disable Turbo mode.
*/
void disable_turbo(void)
{
msr_t msr;
/* Set Turbo Disable bit in Misc Enables */
msr = rdmsr(MSR_IA32_MISC_ENABLES);
msr.hi |= H_MISC_DISABLE_TURBO;
wrmsr(MSR_IA32_MISC_ENABLES, msr);
/* Update cached turbo state */
set_global_turbo_state(TURBO_UNAVAILABLE);
printk(BIOS_INFO, "Turbo has been disabled\n");
}

View File

@ -39,4 +39,7 @@ int get_turbo_state(void);
/* Enable turbo */ /* Enable turbo */
void enable_turbo(void); void enable_turbo(void);
/* Disable turbo */
void disable_turbo(void);
#endif #endif