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

Riana Tauro riana.tauro at intel.com
Tue Mar 21 07:57:55 UTC 2023



On 3/21/2023 6:48 AM, Ashutosh Dixit wrote:
> 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);
> +
can be replaced with for_each_sysfs_gt_dirfd and making the test a 
dynamic subtest ?

Thanks
Riana Tauro

>   	/* 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);
>   }
>   


More information about the igt-dev mailing list