Skip to content

Commit dc02dc9

Browse files
zhang-ruilenb
authored andcommitted
tools/power/turbostat: Add support for new i915 sysfs knobs
On Meteorlake platform, i915 driver supports the traditional graphics sysfs knobs including /sys/class/drm/card0/power/rc6_residency_ms /sys/class/drm/card0/gt_cur_freq_mhz /sys/class/drm/card0/gt_act_freq_mhz At the same time, it also supports /sys/class/drm/card0/gt/gt0/rc6_residency_ms /sys/class/drm/card0/gt/gt0/rps_cur_freq_mhz /sys/class/drm/card0/gt/gt0/rps_act_freq_mhz /sys/class/drm/card0/gt/gt1/rc6_residency_ms /sys/class/drm/card0/gt/gt1/rps_cur_freq_mhz /sys/class/drm/card0/gt/gt1/rps_act_freq_mhz gt0 is for GFX and gt1 is for SA Media. Enhance turbostat to prefer the i915 new sysfs knobs. Export gt0 via BIC_GFX_rc6/BIC_GFXMHz/BIC_GFXACTMHz. Export gt1 via BIC_SMA_mc6/BIC_SMAMHz/BIC_SMAACTMHz. Signed-off-by: Zhang Rui <[email protected]>
1 parent 3bbb331 commit dc02dc9

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

tools/power/x86/turbostat/turbostat.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5380,6 +5380,29 @@ static void probe_intel_uncore_frequency(void)
53805380

53815381
static void probe_graphics(void)
53825382
{
5383+
/* New i915 graphics sysfs knobs */
5384+
if (!access("/sys/class/drm/card0/gt/gt0/rc6_residency_ms", R_OK)) {
5385+
gfx_info[GFX_rc6].path = "/sys/class/drm/card0/gt/gt0/rc6_residency_ms";
5386+
5387+
if (!access("/sys/class/drm/card0/gt/gt0/rps_cur_freq_mhz", R_OK))
5388+
gfx_info[GFX_MHz].path = "/sys/class/drm/card0/gt/gt0/rps_cur_freq_mhz";
5389+
5390+
if (!access("/sys/class/drm/card0/gt/gt0/rps_act_freq_mhz", R_OK))
5391+
gfx_info[GFX_ACTMHz].path = "/sys/class/drm/card0/gt/gt0/rps_act_freq_mhz";
5392+
5393+
if (!access("/sys/class/drm/card0/gt/gt1/rc6_residency_ms", R_OK))
5394+
gfx_info[SAM_mc6].path = "/sys/class/drm/card0/gt/gt1/rc6_residency_ms";
5395+
5396+
if (!access("/sys/class/drm/card0/gt/gt1/rps_cur_freq_mhz", R_OK))
5397+
gfx_info[SAM_MHz].path = "/sys/class/drm/card0/gt/gt1/rps_cur_freq_mhz";
5398+
5399+
if (!access("/sys/class/drm/card0/gt/gt1/rps_act_freq_mhz", R_OK))
5400+
gfx_info[SAM_ACTMHz].path = "/sys/class/drm/card0/gt/gt1/rps_act_freq_mhz";
5401+
5402+
goto end;
5403+
}
5404+
5405+
/* Fall back to traditional i915 graphics sysfs knobs */
53835406
if (!access("/sys/class/drm/card0/power/rc6_residency_ms", R_OK))
53845407
gfx_info[GFX_rc6].path = "/sys/class/drm/card0/power/rc6_residency_ms";
53855408

@@ -5394,6 +5417,7 @@ static void probe_graphics(void)
53945417
else if (!access("/sys/class/graphics/fb0/device/drm/card0/gt_act_freq_mhz", R_OK))
53955418
gfx_info[GFX_ACTMHz].path = "/sys/class/graphics/fb0/device/drm/card0/gt_act_freq_mhz";
53965419

5420+
end:
53975421
if (gfx_info[GFX_rc6].path)
53985422
BIC_PRESENT(BIC_GFX_rc6);
53995423
if (gfx_info[GFX_MHz].path)

0 commit comments

Comments
 (0)