> -----Original Message-----
> From: Intel-gfx <[email protected]> On Behalf Of Imre
> Deak
> Sent: Wednesday, June 17, 2026 1:39 AM
> To: [email protected]; [email protected]
> Cc: Nikula, Jani <[email protected]>
> Subject: [PATCH v2 15/28] drm/i915/dp_link_caps: Add helper to print all
> supported link rates
>
> Add intel_dp_link_caps_print_rates() to print all the supported link rates
> tracked by the link_caps module. This prepares for tracking these capabilities
> internally within the link caps module.
>
> Suggested-by: Jani Nikula <[email protected]>
> Signed-off-by: Imre Deak <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 4 +---
> drivers/gpu/drm/i915/display/intel_dp_link_caps.c | 14 ++++++++++++++
> drivers/gpu/drm/i915/display/intel_dp_link_caps.h | 2 ++
> 3 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index d2b9b6fce2b32..f9c3d3561c417 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1543,9 +1543,7 @@ static void intel_dp_print_rates(struct intel_dp
> *intel_dp)
> seq_buf_print_array(&s, intel_dp->sink_rates, intel_dp-
> >num_sink_rates);
> drm_dbg_kms(display->drm, "sink rates: %s\n", seq_buf_str(&s));
>
> - seq_buf_clear(&s);
> - seq_buf_print_array(&s, intel_dp->common_rates, intel_dp-
> >num_common_rates);
> - drm_dbg_kms(display->drm, "common rates: %s\n",
> seq_buf_str(&s));
> + intel_dp_link_caps_print_common_rates(intel_dp->link.caps);
> }
>
> int
> 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 679d59cc256c9..13f9bfd5d7bad 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
> @@ -6,6 +6,7 @@
> #include <linux/bitops.h>
> #include <linux/debugfs.h>
> #include <linux/log2.h>
> +#include <linux/seq_buf.h>
> #include <linux/slab.h>
> #include <linux/sort.h>
> #include <linux/string.h>
> @@ -66,6 +67,19 @@ int intel_dp_max_common_rate(struct intel_dp
> *intel_dp)
> return intel_dp_common_rate(intel_dp, intel_dp-
> >num_common_rates - 1); }
>
> +void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps
> +*link_caps) {
> + struct intel_dp *intel_dp = link_caps->dp;
> + struct intel_display *display = to_intel_display(intel_dp);
> + DECLARE_SEQ_BUF(s, 128);
> + int i;
> +
> + for (i = 0; i < intel_dp->num_common_rates; i++)
> + seq_buf_printf(&s, "%s%d", i ? ", " : "", intel_dp-
> >common_rates[i]);
> +
> + drm_dbg_kms(display->drm, "common rates: %s\n",
> seq_buf_str(&s)); }
> +
> static int forced_lane_count(struct intel_dp *intel_dp) {
> struct intel_dp_link_caps *link_caps = intel_dp->link.caps; diff --git
> a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
> b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
> index 09e580bc5c9b3..7333df6b82f97 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
> @@ -16,6 +16,8 @@ int intel_dp_common_len_rate_limit(const struct
> intel_dp *intel_dp, int intel_dp_common_rate(struct intel_dp *intel_dp, int
> index); int intel_dp_max_common_rate(struct intel_dp *intel_dp);
>
> +void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps
> +*link_caps);
> +
LGTM,
Reviewed-by: Nemesa Garg <[email protected]>
> void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps
> *link_caps,
> struct intel_dp_link_config
> *forced_params);
>
> --
> 2.49.1