mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
x86/topology: Add TOPO_CPU_TYPE_LOW_POWER
AMD heterogeneous parts report a third core type via CPUID Fn0x80000026 EBX[31:28] (Extended CPU Topology, Core Type): 0 - Performance 1 - Efficiency 2 - Low Power get_topology_cpu_type() only translates the first two, so on parts that ship low-power cores the third type falls through to TOPO_CPU_TYPE_UNKNOWN. Add TOPO_CPU_TYPE_LOW_POWER which takes care of this new type. [ bp: Massage commit message, zap the "what" explanation. ] Signed-off-by: Vishal Badole <Vishal.Badole@amd.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://patch.msgid.link/20260721154514.2506972-4-Vishal.Badole@amd.com
This commit is contained in:
parent
bdb1b1f03b
commit
924be9d673
|
|
@ -73,6 +73,7 @@ enum x86_topology_cpu_type {
|
|||
TOPO_CPU_TYPE_ANY = 0,
|
||||
TOPO_CPU_TYPE_PERFORMANCE,
|
||||
TOPO_CPU_TYPE_EFFICIENCY,
|
||||
TOPO_CPU_TYPE_LOW_POWER,
|
||||
TOPO_CPU_TYPE_UNKNOWN,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -281,8 +281,9 @@ int amd_get_boost_ratio_numerator(unsigned int cpu, u64 *numerator)
|
|||
/* use the max scale for performance cores */
|
||||
*numerator = CPPC_HIGHEST_PERF_PERFORMANCE;
|
||||
return 0;
|
||||
case TOPO_CPU_TYPE_LOW_POWER:
|
||||
case TOPO_CPU_TYPE_EFFICIENCY:
|
||||
/* use the highest perf value for efficiency cores */
|
||||
/* use the highest perf value for efficiency and low-power cores */
|
||||
ret = amd_get_highest_perf(cpu, &tmp);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ enum x86_topology_cpu_type get_topology_cpu_type(struct cpuinfo_x86 *c)
|
|||
switch (c->topo.amd_type) {
|
||||
case AMD_CPU_TYPE_PERFORMANCE: return TOPO_CPU_TYPE_PERFORMANCE;
|
||||
case AMD_CPU_TYPE_EFFICIENCY: return TOPO_CPU_TYPE_EFFICIENCY;
|
||||
case AMD_CPU_TYPE_LOW_POWER: return TOPO_CPU_TYPE_LOW_POWER;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -57,6 +58,8 @@ const char *get_topology_cpu_type_name(struct cpuinfo_x86 *c)
|
|||
return "performance";
|
||||
case TOPO_CPU_TYPE_EFFICIENCY:
|
||||
return "efficiency";
|
||||
case TOPO_CPU_TYPE_LOW_POWER:
|
||||
return "low_power";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user