tools/power/turbostat: Relocate lpi probing code
authorZhang Rui <rui.zhang@intel.com>
Thu, 31 Aug 2023 08:01:36 +0000 (16:01 +0800)
committerZhang Rui <rui.zhang@intel.com>
Wed, 27 Sep 2023 14:14:20 +0000 (22:14 +0800)
Introduce probe_lpi(), and move all lpi probing related code into it.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Reviewed-by: Len Brown <len.brown@intel.com>
tools/power/x86/turbostat/turbostat.c

index feff9ecff368c0426017c7a1a0a165988beebc90..ad9147757d5a506e3a1e0fc3ebd8aaef601e7263 100644 (file)
@@ -5374,6 +5374,26 @@ void probe_cstates(void)
        dump_sysfs_cstate_config();
 }
 
+void probe_lpi(void)
+{
+       if (!access("/sys/devices/system/cpu/cpuidle/low_power_idle_cpu_residency_us", R_OK))
+               BIC_PRESENT(BIC_CPU_LPI);
+       else
+               BIC_NOT_PRESENT(BIC_CPU_LPI);
+
+       if (!access(sys_lpi_file_sysfs, R_OK)) {
+               sys_lpi_file = sys_lpi_file_sysfs;
+               BIC_PRESENT(BIC_SYS_LPI);
+       } else if (!access(sys_lpi_file_debugfs, R_OK)) {
+               sys_lpi_file = sys_lpi_file_debugfs;
+               BIC_PRESENT(BIC_SYS_LPI);
+       } else {
+               sys_lpi_file_sysfs = NULL;
+               BIC_NOT_PRESENT(BIC_SYS_LPI);
+       }
+
+}
+
 void probe_pstates(void)
 {
        probe_bclk();
@@ -5570,6 +5590,8 @@ void process_cpuid()
 
        probe_cstates();
 
+       probe_lpi();
+
        probe_intel_uncore_frequency();
 
        probe_graphics();
@@ -5579,27 +5601,11 @@ void process_cpuid()
        if (platform->has_nhm_msrs)
                BIC_PRESENT(BIC_SMI);
 
-       if (!access("/sys/devices/system/cpu/cpuidle/low_power_idle_cpu_residency_us", R_OK))
-               BIC_PRESENT(BIC_CPU_LPI);
-       else
-               BIC_NOT_PRESENT(BIC_CPU_LPI);
-
        if (!access("/sys/devices/system/cpu/cpu0/thermal_throttle/core_throttle_count", R_OK))
                BIC_PRESENT(BIC_CORE_THROT_CNT);
        else
                BIC_NOT_PRESENT(BIC_CORE_THROT_CNT);
 
-       if (!access(sys_lpi_file_sysfs, R_OK)) {
-               sys_lpi_file = sys_lpi_file_sysfs;
-               BIC_PRESENT(BIC_SYS_LPI);
-       } else if (!access(sys_lpi_file_debugfs, R_OK)) {
-               sys_lpi_file = sys_lpi_file_debugfs;
-               BIC_PRESENT(BIC_SYS_LPI);
-       } else {
-               sys_lpi_file_sysfs = NULL;
-               BIC_NOT_PRESENT(BIC_SYS_LPI);
-       }
-
        if (!quiet)
                decode_misc_feature_control();