Re: [PATCH v2] drm/i915/kunit: DP Link: Use if statements instead of for loops

Jani Nikula <[email protected]>
Newsgroups org.freedesktop.lists.intel-gfx
Organization Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs Bertel Jungin Aukio 5, 02600 Espoo, Finland
Message-ID <[email protected]>
On Wed, 12 Aug 2026, Jonathan Cavitt <[email protected]> wrote:
> The static functions get_target_config and get_fallback_config in
> intel_dp_link_test.c use for loops to determine if the requested index of
> the config set is in the bounds of the config set entry list.
>
> Reconfigure these functions to use if statements instead, as these for
> loops are only run for a single iteration.

The CI on intel-gfx doesn't run kunit tests, while intel-xe does.

Please send the changes to intel-xe, and double check that the link
tests get run, before merging.

> Issue caught by static analysis.
>
> v2: (Michal)
> - Change i <= 0 check to i == 0, as i cannot be negative by assertion
> - Remove unnecessary newlines
>
> Signed-off-by: Jonathan Cavitt <[email protected]>
> Cc: Imre Deak <[email protected]>
> Cc: Michal Grzelak <[email protected]>
> ---
>  .../i915/display/tests/intel_dp_link_test.c   | 34 ++++++++-----------
>  1 file changed, 15 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c b/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c
> index 67c6fe9f1812..6dfd8903a8ec 100644
> --- a/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c
> +++ b/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c
> @@ -1215,22 +1215,20 @@ static bool get_fallback_config(const struct test_config_table *expected_table,
>  	struct kunit *test = expected_table->test;
>  	const struct link_config_set *config_set =
>  		get_fallback_configs_for_output_type(test, output_type);
> +	const struct intel_dp_link_config *config;
>  	int i;
>  
>  	i = lookup_config(config_set, target_config);
>  	KUNIT_ASSERT_GE(test, i, 0);
>  
> -	for (i--; i >= 0; i--) {
> -		const struct intel_dp_link_config *config =
> -			&config_set->entries[i];
> +	if (!i)
> +		return false;
>  
> -		assert_config_is_supported(expected_table, config);
> -		*fallback_config = *config;
> +	config = &config_set->entries[i-1];

Nitpick, checkpatch should complain about missing spaces around the
operand in "i-1".

> +	assert_config_is_supported(expected_table, config);
> +	*fallback_config = *config;
>  
> -		return true;
> -	}
> -
> -	return false;
> +	return true;
>  }
>  
>  static bool get_target_config(const struct test_config_table *expected_table,
> @@ -1240,19 +1238,17 @@ static bool get_target_config(const struct test_config_table *expected_table,
>  	struct kunit *test = expected_table->test;
>  	const struct link_config_set *config_set =
>  		get_target_configs_for_output_type(test, output_type);
> -	int i;
> +	const struct intel_dp_link_config *config;
> +	int i = config_set->size - 1;
>  
> -	for (i = config_set->size - 1; i >= 0; i--) {
> -		const struct intel_dp_link_config *config =
> -			&config_set->entries[i];
> +	if (i < 0)
> +		return false;
>  
> -		assert_config_is_supported(expected_table, config);
> -		*target = *config;
> +	config = &config_set->entries[i];
> +	assert_config_is_supported(expected_table, config);
> +	*target = *config;
>  
> -		return true;
> -	}
> -
> -	return false;
> +	return true;
>  }
>  
>  static void test_fallback_seq(struct kunit *test,

-- 
Jani Nikula, Intel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.