Applied the series.  Thanks!

Alex

On Fri, May 29, 2026 at 5:34 AM Timur Kristóf <[email protected]> wrote:
>
> No functional changes. Just clean up a conceptual mismatch.
>
> Based on feedback on the NUTMEG code in DC, the
> preferred_link_setting is meant to force the DP link to a
> specific setting, meaning both the link rate and lane count
> should be locked to an exact value. What NUTMEG needs is
> a lower bound on the link rate, which is not the same concept.
>
> Implement this as a HW workaround flag instead.
>
> Suggested-by: Wenjing Liu <[email protected]>
> Signed-off-by: Timur Kristóf <[email protected]>
> ---
>  drivers/gpu/drm/amd/display/dc/dc.h                         | 2 ++
>  drivers/gpu/drm/amd/display/dc/link/link_detection.c        | 2 +-
>  .../drm/amd/display/dc/link/protocols/link_dp_capability.c  | 6 +++---
>  3 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dc.h 
> b/drivers/gpu/drm/amd/display/dc/dc.h
> index 75f59ca927ffe..3fb97860722df 100644
> --- a/drivers/gpu/drm/amd/display/dc/dc.h
> +++ b/drivers/gpu/drm/amd/display/dc/dc.h
> @@ -1731,6 +1731,8 @@ struct dc_scratch_space {
>                 bool dp_skip_DID2;
>                 bool dp_skip_reset_segment;
>                 bool dp_skip_fs_144hz;
> +               /* Some DP bridges don't work with RBR and must use HBR. */
> +               bool dp_skip_rbr;
>                 bool dp_mot_reset_segment;
>                 /* Some USB4 docks do not handle turning off MST DSC once it 
> has been enabled. */
>                 bool dpia_mst_dsc_always_on;
> diff --git a/drivers/gpu/drm/amd/display/dc/link/link_detection.c 
> b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
> index 1ac6a22fecfee..9f4e90493fed5 100644
> --- a/drivers/gpu/drm/amd/display/dc/link/link_detection.c
> +++ b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
> @@ -621,7 +621,7 @@ static bool detect_dp(struct dc_link *link,
>                 link->dpcd_caps.sink_count.bits.SINK_COUNT = 1;
>                 /* NUTMEG requires that we use HBR, doesn't work with RBR. */
>                 if (link->dpcd_caps.branch_dev_id == 
> DP_BRANCH_DEVICE_ID_00001A)
> -                       link->preferred_link_setting.link_rate = 
> LINK_RATE_HIGH;
> +                       link->wa_flags.dp_skip_rbr = true;
>         }
>
>         return true;
> diff --git 
> a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c 
> b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c
> index f44c13300a59c..708dd6f336d8c 100644
> --- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c
> +++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c
> @@ -750,9 +750,9 @@ static bool decide_dp_link_settings(struct dc_link *link, 
> struct dc_link_setting
>         if (req_bw > dp_link_bandwidth_kbps(link, &link->verified_link_cap))
>                 return false;
>
> -       if (link->preferred_link_setting.link_rate != LINK_RATE_UNKNOWN) {
> -               initial_link_setting.link_rate = 
> link->preferred_link_setting.link_rate;
> -               current_link_setting.link_rate = 
> link->preferred_link_setting.link_rate;
> +       if (link->wa_flags.dp_skip_rbr) {
> +               initial_link_setting.link_rate = LINK_RATE_HIGH;
> +               current_link_setting.link_rate = LINK_RATE_HIGH;
>         }
>
>         /* search for the minimum link setting that:
> --
> 2.53.0
>

Reply via email to