summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2026-06-16 23:08:35 +0300
committerImre Deak <imre.deak@intel.com>2026-06-24 19:44:03 +0300
commit96d07a10cfdcbb5327e18121079d4d7bb8553490 (patch)
tree3a4395070c074cb8e51da7f313dee3b487b9aaab
parent7aa14e73519d89bd0933df418a488d9d7452c3a1 (diff)
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 <jani.nikula@intel.com> Reviewed-by: Nemesa Garg <nemesa.garg@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patch.msgid.link/20260616200849.3534628-16-imre.deak@intel.com
-rw-r--r--drivers/gpu/drm/i915/display/intel_dp.c4
-rw-r--r--drivers/gpu/drm/i915/display/intel_dp_link_caps.c14
-rw-r--r--drivers/gpu/drm/i915/display/intel_dp_link_caps.h2
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 e2d83f0fcf91..11e03ee9d639 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 679d59cc256c..13f9bfd5d7ba 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 09e580bc5c9b..7333df6b82f9 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);
+
void intel_dp_link_caps_get_forced_params(struct intel_dp_link_caps *link_caps,
struct intel_dp_link_config *forced_params);