summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/intel_gpu_top.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c
index 14f333e..a0707b6 100644
--- a/tools/intel_gpu_top.c
+++ b/tools/intel_gpu_top.c
@@ -165,6 +165,7 @@ static void
power_stat_init(struct powerdata *power)
{
#ifdef __linux__
+ /* detect the correct location for the acpi/battery and i915_emon_status */
int i, ret;
power->battery_file = (char *)malloc(FILENAME_MAX);
for (i=0, ret=-1; i < 16; i++) {
@@ -178,12 +179,16 @@ power_stat_init(struct powerdata *power)
power->battery_file = NULL;
}
-
power->battery_file_ext = (char *)malloc(FILENAME_MAX);
for (i=0, ret=-1; i < 16; i++) {
+ /* Try in /sys/kernel/debug */
snprintf(power->battery_file_ext, FILENAME_MAX, "/sys/kernel/debug/dri/%d/i915_emon_status", i);
if ((ret = access(power->battery_file_ext, R_OK)) == 0)
break;
+ /* Try in /debug */
+ snprintf(power->battery_file_ext, FILENAME_MAX, "/debug/dri/%d/i915_emon_status", i);
+ if ((ret = access(power->battery_file_ext, R_OK)) == 0)
+ break;
}
if (ret < 0) {
free(power->battery_file_ext);