Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Medium] The newly added validation check in `max_link_limits_valid()` breaks 
existing KUnit tests in `intel_dp_link_test.c` because the mock `intel_dp` 
environment does not initialize `source_rates`.
--

commit 449b7e18bca4c6d9716f634b5437a3f267bbd539
Author: tarun-tarun143 <[email protected]>

drm/i915/dp_link_caps: Validate max link rate

This commit validates the maximum link rate against the source-supported rates
before using the limits to calculate allowed configurations. This prevents
unsupported link rates from being accepted as a maximum link limit.

> diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c 
> b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
> index 7b6cc6055da82..0934488153bbc 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
> @@ -710,7 +710,10 @@ static bool max_link_limits_valid(struct 
> intel_dp_link_caps *link_caps,
>           !is_power_of_2(max_link_limits->lane_count))
>               return false;
>  
> -     /* TODO: Validate max_link_limits->rate against the source supported 
> rates. */
> +     if (intel_dp_rate_index(link_caps->dp->source_rates,
> +                             link_caps->dp->num_source_rates,
> +                             max_link_limits->rate) < 0)
> +             return false;

[Severity: Medium]
Does this change cause the KUnit tests in intel_dp_link_test.c to fail?

Looking at the mock environment initialization in intel_dp_link_test_init():

drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:intel_dp_link_test_init()
 {
        /* Reset the dev state for each test. */
        memset(&test_ctx.dev, 0, sizeof(test_ctx.dev));
        ...
        intel_dp->link.caps = test_ctx.link_caps_ops->init(intel_dp);
}

The mock initialization zeroes the memory but does not populate source_rates 
or num_source_rates, leaving them at 0 or NULL. As a result, 
intel_dp_rate_index() will evaluate to -1 during the tests.

This causes unconditional test failures when setting max limits, for example
in verify_link_caps_for_order():

drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:verify_link_caps_for_order()
 {
        ...
        KUNIT_ASSERT_TRUE(test, ops->set_max_limits(link_caps, 
&old_max_limits));
}

Could the mock environment be updated to provide valid source_rates so the
tests can successfully pass this new validation check?

>  
>       intel_dp_link_caps_get_forced_params(link_caps, &forced_params);
>       allowed_configs = calc_allowed_config_filter(link_caps, 
> link_caps->enabled_configs,

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=1

Reply via email to