Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7293fccd authored by Len Brown's avatar Len Brown
Browse files

tools/power turbostat: dump p-state software config



cpu1: cpufreq driver: acpi-cpufreq
cpu1: cpufreq governor: ondemand
cpufreq boost: 1

or

cpu0: cpufreq driver: intel_pstate
cpu0: cpufreq governor: powersave
cpufreq intel_pstate no_turbo: 0

Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 7da6e3e2
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
@@ -2979,6 +2979,54 @@ dump_sysfs_cstate_config(void)
		fclose(input);
	}
}
static void
dump_sysfs_pstate_config(void)
{
	char path[64];
	char driver_buf[64];
	char governor_buf[64];
	FILE *input;
	int turbo;

	sprintf(path, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_driver",
			base_cpu);
	input = fopen(path, "r");
	if (input == NULL) {
		fprintf(stderr, "NSFOD %s\n", path);
		return;
	}
	fgets(driver_buf, sizeof(driver_buf), input);
	fclose(input);

	sprintf(path, "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor",
			base_cpu);
	input = fopen(path, "r");
	if (input == NULL) {
		fprintf(stderr, "NSFOD %s\n", path);
		return;
	}
	fgets(governor_buf, sizeof(governor_buf), input);
	fclose(input);

	fprintf(outf, "cpu%d: cpufreq driver: %s", base_cpu, driver_buf);
	fprintf(outf, "cpu%d: cpufreq governor: %s", base_cpu, governor_buf);

	sprintf(path, "/sys/devices/system/cpu/cpufreq/boost");
	input = fopen(path, "r");
	if (input != NULL) {
		fscanf(input, "%d", &turbo);
		fprintf(outf, "cpufreq boost: %d\n", turbo);
		fclose(input);
	}

	sprintf(path, "/sys/devices/system/cpu/intel_pstate/no_turbo");
	input = fopen(path, "r");
	if (input != NULL) {
		fscanf(input, "%d", &turbo);
		fprintf(outf, "cpufreq intel_pstate no_turbo: %d\n", turbo);
		fclose(input);
	}
}


/*
@@ -4168,6 +4216,8 @@ void process_cpuid()

	if (!quiet)
		dump_sysfs_cstate_config();
	if (!quiet)
		dump_sysfs_pstate_config();

	if (has_skl_msrs(family, model))
		calculate_tsc_tweak();