[PATCH i-g-t v2] tests/intel/xe_gt_freq: Resolve freq_low_max test

Kamil Konieczny kamil.konieczny at linux.intel.com
Tue Jun 18 11:48:33 UTC 2024


Hi Badal,
On 2024-06-14 at 23:05:20 +0530, Badal Nilawar wrote:
> In GUCPC flow when max freq is less than min freq and min freq is greater
> than rpe then cur will be set to min.
> 
> By nature rpe is variable as pcode changes it as per its calculations.
> So for above scenario when rpe is greater than min then GUCPC will set cur
> to rpe.
> 
> To validate GUCPC behaving as expected it is enough to check cur freq.
> 
> Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1045
> Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1829
> Fixes: 1a1e668e774e ("tests/intel/xe_gt_freq: Fix freq_low_max test")
> Fixes: adcc68266b8e ("tests/intel/xe_gt_freq: Check for RPe freq updates")
> Cc: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
> Signed-off-by: Badal Nilawar <badal.nilawar at intel.com>
> ---
>  tests/intel/xe_gt_freq.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/intel/xe_gt_freq.c b/tests/intel/xe_gt_freq.c
> index d2e4d1a09..664ea3f79 100644
> --- a/tests/intel/xe_gt_freq.c
> +++ b/tests/intel/xe_gt_freq.c
> @@ -264,6 +264,7 @@ static void test_freq_low_max(int fd, int gt_id)
>  {
>  	uint32_t rpn = get_freq(fd, gt_id, "rpn");
>  	uint32_t rpe = get_freq(fd, gt_id, "rpe");
> +	uint32_t min;
>  
>  	/*
>  	 *  When max request < min request, max is ignored and min works like
> @@ -276,10 +277,16 @@ static void test_freq_low_max(int fd, int gt_id)
>  	/* Refresh value of rpe, pcode could have adjusted it */
>  	rpe = get_freq(fd, gt_id, "rpe");
>  
> -	igt_assert(get_freq(fd, gt_id, "cur") == rpe);
> +	min = get_freq(fd, gt_id, "min");
>  
> -	if (!xe_is_gt_in_c6(fd, gt_id))

Why did you dropped this check? Please write about this
in description,

Regards,
Kamil

> -		igt_assert(get_freq(fd, gt_id, "act") == rpe);
> +	/*
> +	 * Refreshed value of rpe can be lesser or greater than min (previous rpe).
> +	 * So when rpe < min then cur = min else cur = rpe
> +	 */
> +	if (rpe < min)
> +		igt_assert(get_freq(fd, gt_id, "cur") == min);
> +	else
> +		igt_assert(get_freq(fd, gt_id, "cur") == rpe);
>  }
>  
>  /**
> -- 
> 2.34.1
> 


More information about the igt-dev mailing list