mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 17:40:53 +07:00
cpupower: AMD fam14h/Ontario monitor can also be used by fam12h cpus
The name of the monitor is updated at runtime to the name of the CPU type. Signed-off-by: Thomas Renninger <trenn@suse.de> CC: Andreas Herrmann <herrmann.der.user@googlemail.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
parent
568a89904c
commit
f642089ce0
@ -107,7 +107,7 @@ Deepest package sleep states may in reality show up as machine/platform wide
|
|||||||
sleep states and can only be entered if all cores are idle. Look up Intel
|
sleep states and can only be entered if all cores are idle. Look up Intel
|
||||||
manuals (some are provided in the References section) for further details.
|
manuals (some are provided in the References section) for further details.
|
||||||
|
|
||||||
.SS "Ontario" "Liano"
|
.SS "Fam_12h" "Fam_14h"
|
||||||
AMD laptop and desktop processor (family 12h and 14h) sleep state counters.
|
AMD laptop and desktop processor (family 12h and 14h) sleep state counters.
|
||||||
The registers are accessed via PCI and therefore can still be read out while
|
The registers are accessed via PCI and therefore can still be read out while
|
||||||
cores have been offlined.
|
cores have been offlined.
|
||||||
|
@ -281,13 +281,13 @@ struct cpuidle_monitor *amd_fam14h_register(void)
|
|||||||
if (cpupower_cpu_info.vendor != X86_VENDOR_AMD)
|
if (cpupower_cpu_info.vendor != X86_VENDOR_AMD)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (cpupower_cpu_info.family == 0x14) {
|
if (cpupower_cpu_info.family == 0x14)
|
||||||
if (cpu_count <= 0 || cpu_count > 2) {
|
strncpy(amd_fam14h_monitor.name, "Fam_14h",
|
||||||
fprintf(stderr, "AMD fam14h: Invalid cpu count: %d\n",
|
MONITOR_NAME_LEN - 1);
|
||||||
cpu_count);
|
else if (cpupower_cpu_info.family == 0x12)
|
||||||
return NULL;
|
strncpy(amd_fam14h_monitor.name, "Fam_12h",
|
||||||
}
|
MONITOR_NAME_LEN - 1);
|
||||||
} else
|
else
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* We do not alloc for nbp1 machine wide counter */
|
/* We do not alloc for nbp1 machine wide counter */
|
||||||
@ -322,7 +322,7 @@ static void amd_fam14h_unregister(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct cpuidle_monitor amd_fam14h_monitor = {
|
struct cpuidle_monitor amd_fam14h_monitor = {
|
||||||
.name = "Ontario",
|
.name = "",
|
||||||
.hw_states = amd_fam14h_cstates,
|
.hw_states = amd_fam14h_cstates,
|
||||||
.hw_states_num = AMD_FAM14H_STATE_NUM,
|
.hw_states_num = AMD_FAM14H_STATE_NUM,
|
||||||
.start = amd_fam14h_start,
|
.start = amd_fam14h_start,
|
||||||
|
Loading…
Reference in New Issue
Block a user