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