Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or base_frequency

In some case when BIOS disabled turbo, cpufreq cpuinfo_max_freq can be
lower than base_frequency at higher config level. So, in that case set
scaling_min_freq to base_frequency.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://lore.kernel.org/r/20201221071859.2783957-3-srinivas.pandruvada@linux.intel.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>

authored by

Srinivas Pandruvada and committed by
Hans de Goede
bbaa2e95 f981dc17

+11
+11
tools/power/x86/intel-speed-select/isst-config.c
··· 1461 1461 set_cpufreq_scaling_min_max(cpu, 1, base_freq); 1462 1462 } 1463 1463 1464 + static void adjust_scaling_min_from_base_freq(int cpu) 1465 + { 1466 + int base_freq, scaling_min_freq; 1467 + 1468 + scaling_min_freq = parse_int_file(0, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_min_freq", cpu); 1469 + base_freq = get_cpufreq_base_freq(cpu); 1470 + if (scaling_min_freq < base_freq) 1471 + set_cpufreq_scaling_min_max(cpu, 0, base_freq); 1472 + } 1473 + 1464 1474 static int set_clx_pbf_cpufreq_scaling_min_max(int cpu) 1465 1475 { 1466 1476 struct isst_pkg_ctdp_level_info *ctdp_level; ··· 1568 1558 continue; 1569 1559 1570 1560 set_cpufreq_scaling_min_max_from_cpuinfo(i, 1, 0); 1561 + adjust_scaling_min_from_base_freq(i); 1571 1562 } 1572 1563 } 1573 1564