[igt-dev] [PATCH i-g-t] i915/i915_power: Also show requested and actual freq's

Ashutosh Dixit ashutosh.dixit at intel.com
Tue Mar 21 01:18:00 UTC 2023


When power limits are in effect, in addition to measured power it is also
important to see the requested and actual freq's and see how they change
with set power limits. Add this to the test output.

Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
---
 tests/i915/i915_power.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tests/i915/i915_power.c b/tests/i915/i915_power.c
index f2fd228698a..f0f10fc4d14 100644
--- a/tests/i915/i915_power.c
+++ b/tests/i915/i915_power.c
@@ -5,6 +5,7 @@
 
 #include "igt.h"
 #include "i915/gem.h"
+#include "igt_sysfs.h"
 #include "igt_power.h"
 
 IGT_TEST_DESCRIPTION("i915 power measurement tests");
@@ -27,9 +28,13 @@ static void sanity(int i915)
 	double idle, busy;
 	igt_spin_t *spin;
 	uint64_t ahnd;
+	int dir, req, act;
 
 #define DURATION_SEC 2
 
+	dir = igt_sysfs_gt_open(i915, 0);
+	igt_assert_lt(0, dir);
+
 	/* Idle power */
 	igt_require(!igt_power_open(i915, &pwr, "gpu"));
 	gem_quiescent_gpu(i915);
@@ -44,12 +49,16 @@ static void sanity(int i915)
 	/* Wait till at least one spinner starts */
 	igt_spin_busywait_until_started(spin);
 	busy = measure_power(&pwr, DURATION_SEC);
+	req = igt_sysfs_get_u32(dir, "rps_cur_freq_mhz");
+	act = igt_sysfs_get_u32(dir, "rps_act_freq_mhz");
 	igt_free_spins(i915);
 	put_ahnd(ahnd);
 	intel_ctx_destroy(i915, ctx);
 	igt_power_close(&pwr);
+	close(dir);
 
-	igt_info("Measured power: idle: %g mW, busy: %g mW\n", idle, busy);
+	igt_info("Measured power: idle: %g mW, busy: %g mW, req MHz: %d, act MHz: %d\n",
+		 idle, busy, req, act);
 	igt_assert(idle >= 0 && busy > 0 && busy > idle);
 }
 
-- 
2.38.0



More information about the igt-dev mailing list