> Subject: [PATCH 3/6] drm/i915/dp: Enable SST fallback between UHBR and non- > UHBR rates > > Enable link training fallback between UHBR and non-UHBR link rates on DP SST > links. This was disabled so far to preserve the fallback behavior. > There isn't a known issue related to such a fallback and DP MST has been using > this for a while already. Also, enabling UHBR rates over Thunderbolt tunnels > in > a follow-up change, which at least on some links supports only 4 lanes and > not 1 > or 2 lanes on UHBR, makes a > UHBR->non-UHBR fallback scenario more likely. > > At the same time align the corresponding link training fallback kunit test, > allowing a UHBR <-> non-UHBR fallback there as well. > > Signed-off-by: Imre Deak <[email protected]>
LGTM, Reviewed-by: Suraj Kandpal <[email protected]> > --- > .../gpu/drm/i915/display/intel_dp_link_training.c | 5 ----- > .../drm/i915/display/tests/intel_dp_link_test.c | 15 +++------------ > 2 files changed, 3 insertions(+), 17 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c > b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > index fa55664c9d98e..cb92cff906146 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > @@ -1874,11 +1874,6 @@ static bool reduce_link_params(struct intel_dp > *intel_dp, const struct intel_crt > continue; > } > > - if (!is_mst && > - drm_dp_is_uhbr_rate(config.rate) != > - drm_dp_is_uhbr_rate(old_config.rate)) > - continue; > - > *new_link_rate = config.rate; > *new_lane_count = config.lane_count; > new_found = true; > 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 e1c356ba11b59..776d93f333851 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 > @@ -1199,11 +1199,6 @@ get_fallback_configs_for_output_type(struct kunit > *test, > } > } > > -static bool output_type_allows_uhbr_fallback(enum intel_output_type > output_type) -{ > - return output_type == INTEL_OUTPUT_DP_MST; > -} > - > static void assert_config_is_supported(const struct test_config_table > *expected_table, > const struct intel_dp_link_config > *config) { > @@ -1230,14 +1225,10 @@ static bool get_fallback_config(const struct > test_config_table *expected_table, > const struct intel_dp_link_config *config = > &config_set->entries[i]; > > - if (output_type_allows_uhbr_fallback(output_type) || > - (drm_dp_is_uhbr_rate(target_config->rate) == > - drm_dp_is_uhbr_rate(config->rate))) { > - assert_config_is_supported(expected_table, config); > - *fallback_config = *config; > + assert_config_is_supported(expected_table, config); > + *fallback_config = *config; > > - return true; > - } > + return true; > } > > return false; > -- > 2.49.1
