61f9fdcd | 24-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Add Emerald Rapid quirk
Need memory frequency quirk as Sapphire Rapids in Emerald Rapids. So add Emerald Rapids CPU model check in is_spr_platform().
Signed-off-
tools/power/x86/intel-speed-select: Add Emerald Rapid quirk
Need memory frequency quirk as Sapphire Rapids in Emerald Rapids. So add Emerald Rapids CPU model check in is_spr_platform().
Signed-off-by: Zhang Rui <rui.zhang@intel.com> [srinivas.pandruvada@linux.intel.com: Subject, changelog and code edits] Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
0d5eea35 | 09-Dec-2022 |
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> |
tools/power/x86/intel-speed-select: Fix display of uncore min frequency
Uncore P1 is not uncore minmum frequency. This is uncore base frequency. Correct display from uncore-frequency-min(MHz) to unc
tools/power/x86/intel-speed-select: Fix display of uncore min frequency
Uncore P1 is not uncore minmum frequency. This is uncore base frequency. Correct display from uncore-frequency-min(MHz) to uncore-frequency-base(Mhz).
To get uncore min frequency use mailbox command CONFIG_TDP_GET_RATIO_INFO. Use this mailbox to get uncore frequency limits when present.
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
6ed9e363 | 07-Jan-2023 |
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> |
tools/power/x86/intel-speed-select: turbo-freq auto mode with SMT off
When SMT is disabled from kernel command line, sibling CPUs still appears in the sysfs as offline CPUs. This is a problem when t
tools/power/x86/intel-speed-select: turbo-freq auto mode with SMT off
When SMT is disabled from kernel command line, sibling CPUs still appears in the sysfs as offline CPUs. This is a problem when turbo-freq is enabled in auto mode. They are still assigned to CLOS value of 3 as they are still in the present CPU list. But they are not in the sibling list of a CPU. When the CPU is a high priority CPU, because of sibling it will be still set to CLOS to 3 as CLOS is assigned at core level not at CPU level.
So, avoid setting CLOS 3 to offline CPU.
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
cf3b8e8f | 07-Jan-2023 |
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> |
tools/power/x86/intel-speed-select: cpufreq reads on offline CPUs
Due to some recent kernel changes, reading cpufreq attributes like scaling_max_freq on offline CPUs returns error. So avoid reading
tools/power/x86/intel-speed-select: cpufreq reads on offline CPUs
Due to some recent kernel changes, reading cpufreq attributes like scaling_max_freq on offline CPUs returns error. So avoid reading cpufreq attributes on offline CPUs.
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
689dfc9e | 12-Jan-2023 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Use null-terminated string
strlen() and strtok() takes null-termimated strings as input. Make sure these strings are null-terminated before using them.
Signed-of
tools/power/x86/intel-speed-select: Use null-terminated string
strlen() and strtok() takes null-termimated strings as input. Make sure these strings are null-terminated before using them.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
8a44d275 | 12-Jan-2023 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Remove duplicate dup()
Remove the duplicate dup() invocation.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruv
tools/power/x86/intel-speed-select: Remove duplicate dup()
Remove the duplicate dup() invocation.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
364ba3b7 | 12-Jan-2023 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Handle open() failure case
Add handling for open() failure case to make sure a valid file descriptor is passed to dup().
Signed-off-by: Zhang Rui <rui.zhang@inte
tools/power/x86/intel-speed-select: Handle open() failure case
Add handling for open() failure case to make sure a valid file descriptor is passed to dup().
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
b8bebc8e | 12-Jan-2023 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Remove unused non_block flag
variable 'non_block' is always 0, thus remove the variable and the handling for "non_block != 0" case.
Signed-off-by: Zhang Rui <rui
tools/power/x86/intel-speed-select: Remove unused non_block flag
variable 'non_block' is always 0, thus remove the variable and the handling for "non_block != 0" case.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
97ec890d | 15-Sep-2022 |
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> |
tools/power/x86/intel-speed-select: Release v1.13
Update version number.
This version includes fixes for: - fix build failure when using gcc options -Wl,--as-needed - Fix warning for perf_cap.cpu m
tools/power/x86/intel-speed-select: Release v1.13
Update version number.
This version includes fixes for: - fix build failure when using gcc options -Wl,--as-needed - Fix warning for perf_cap.cpu may be uninitialized - Fix off by one check for MAX_DIE_PER_PACKAGE - Fix issue with use of get_physical_die_id instead of get_physical_die_id
Optimizations: - Removed unused interfaces and functions - Better handle package, die, cpu combination by defining a struct and set at one place instead at each user level.
New functional change: - Warn if turbo is disabled and SST turbo-freq feature is requested
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
921604b4 | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Optimize CPU initialization
Optimize CPU initialization. Do cpu related initialization in one function, including setting the cpu present_cpumask, target_cpumask,
tools/power/x86/intel-speed-select: Optimize CPU initialization
Optimize CPU initialization. Do cpu related initialization in one function, including setting the cpu present_cpumask, target_cpumask, and cpu_map and core_count arrays.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
ca56725d | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Utilize cpu_map to get physical id
cpu_map already has the cpu package id, die id information. Thus there is no need to re-evaluating sysfs attributes or stored d
tools/power/x86/intel-speed-select: Utilize cpu_map to get physical id
cpu_map already has the cpu package id, die id information. Thus there is no need to re-evaluating sysfs attributes or stored data file to get the package id and die id of a given CPU each time.
In order to unitlize this, cpu_map needs to be created unconditionally.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
a05b925a | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Remove unused struct clos_config fields
pkg_id/die_id can be retrieved from struct isst_id, remove the redundant clos_config->pkg_id/die_id fields.
Signed-off-by
tools/power/x86/intel-speed-select: Remove unused struct clos_config fields
pkg_id/die_id can be retrieved from struct isst_id, remove the redundant clos_config->pkg_id/die_id fields.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
3ba6a275 | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Enforce isst_id value
Enforce the pkg/die value in struct isst_id are either -1 or a valid value.
This helps avoid inconsistent or redundant checks.
Signed-off-
tools/power/x86/intel-speed-select: Enforce isst_id value
Enforce the pkg/die value in struct isst_id are either -1 or a valid value.
This helps avoid inconsistent or redundant checks.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
e616059e | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Do not export get_physical_id
Now, all the get_physical_pkg/die/core_id() users are inside isst-config.c, so no need to export these APIs.
Signed-off-by: Zhang R
tools/power/x86/intel-speed-select: Do not export get_physical_id
Now, all the get_physical_pkg/die/core_id() users are inside isst-config.c, so no need to export these APIs.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
00bb07db | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Introduce is_cpu_in_power_domain helper
struct isst_id contains cpu, package and die info, and it can represent a specific SST power domain.
Introduce is_cpu_in_
tools/power/x86/intel-speed-select: Introduce is_cpu_in_power_domain helper
struct isst_id contains cpu, package and die info, and it can represent a specific SST power domain.
Introduce is_cpu_in_power_domain() helper to identify if a cpu is in a specified power_domain.
And cleanup the code to use the new helper.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
56d64692 | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Cleanup get_physical_id usage
struct isst_id already contains package and die id information, thus there is no need to get the package and die id information, whe
tools/power/x86/intel-speed-select: Cleanup get_physical_id usage
struct isst_id already contains package and die id information, thus there is no need to get the package and die id information, when struct isst_id is already available.
Remove unneeded get_physical_package_id/get_physical_die_id usage.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
30e0600e | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Convert more function to use isst_id
With pkg and die info added into struct isst_id, more functions can be converted to use struct isst_id as parameter.
Signed-
tools/power/x86/intel-speed-select: Convert more function to use isst_id
With pkg and die info added into struct isst_id, more functions can be converted to use struct isst_id as parameter.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
32d6ab45 | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Add pkg and die in isst_id
Code uses pkg_id and die_id to refer to a specific power domain.
The pkg/die information is already settled at start time. Adding pack
tools/power/x86/intel-speed-select: Add pkg and die in isst_id
Code uses pkg_id and die_id to refer to a specific power domain.
The pkg/die information is already settled at start time. Adding package id and die id information into struct isst_id so that code does not need to retrieve them at runtime.
More code cleanups can be done with the package/die info available.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
850337ec | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Introduce struct isst_id
SST control is power-domain based rather than cpu based, on all the systems including Sapphire Rapids and ealier.
SST core APIs uses cpu
tools/power/x86/intel-speed-select: Introduce struct isst_id
SST control is power-domain based rather than cpu based, on all the systems including Sapphire Rapids and ealier.
SST core APIs uses cpu id as parameter, and use the underlying pkg_id and die_id information to find a power domain, this is not straight forward and introduces obscure logics in the code.
Introduce struct isst_id to represent a SST Power Domain.
All core APIs are converted to use struct isst_id as parameter instead of using cpu id.
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
e2783369 | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Remove unused core_mask array
Remove unused core_mask array.
Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-o
tools/power/x86/intel-speed-select: Remove unused core_mask array
Remove unused core_mask array.
Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
190ba965 | 20-Aug-2022 |
Zhang Rui <rui.zhang@intel.com> |
tools/power/x86/intel-speed-select: Remove dead code
Remove dead code.
Not functional change in this patch
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <sriniv
tools/power/x86/intel-speed-select: Remove dead code
Remove dead code.
Not functional change in this patch
Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
show more ...
|
c55ae102 | 18-Jul-2022 |
Xin Gao <gaoxin@cdjrlc.com> |
tools/power/x86/intel-speed-select: Remove unneeded semicolon
Remove an unneeded semicolon.
Signed-off-by: Xin Gao <gaoxin@cdjrlc.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by
tools/power/x86/intel-speed-select: Remove unneeded semicolon
Remove an unneeded semicolon.
Signed-off-by: Xin Gao <gaoxin@cdjrlc.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|