> -----Original Message-----
> From: Intel-xe <[email protected]> On Behalf Of Imre Deak
> Sent: Tuesday, 16 June 2026 23.09
> To: [email protected]; [email protected]
> Subject: [PATCH v2 20/28] drm/i915/dp_link_caps: Use max common lane count 
> from link_caps
> 
> Convert all users of intel_dp_max_common_lane_count() to query the
> maximum common lane count via the link capability API, in common with
> the link rate queries.
> 

Reviewed-by: Mika Kahola <[email protected]>

> Signed-off-by: Imre Deak <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_display_types.h | 1 -
>  drivers/gpu/drm/i915/display/intel_dp.c            | 9 +--------
>  drivers/gpu/drm/i915/display/intel_dp.h            | 1 -
>  drivers/gpu/drm/i915/display/intel_dp_link_caps.c  | 7 ++++++-
>  drivers/gpu/drm/i915/display/intel_dp_link_caps.h  | 1 +
>  drivers/gpu/drm/i915/display/intel_dp_tunnel.c     | 3 ++-
>  6 files changed, 10 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h 
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index dd43c7ee8f143..19c66b3a81509 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1834,7 +1834,6 @@ struct intel_dp {
>       bool use_rate_select;
>       /* Max sink lane count as reported by DP_MAX_LANE_COUNT */
>       int max_sink_lane_count;
> -     int max_common_lane_count;
>       struct {
>               /* TODO: move the rest of link specific fields to here */
>               bool active;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 2873b2df29f84..0d7ec7a8898c9 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -354,11 +354,6 @@ static int intel_dp_get_max_common_lane_count(struct 
> intel_dp *intel_dp)
>       return min3(source_max, sink_max, lane_max);
>  }
> 
> -int intel_dp_max_common_lane_count(struct intel_dp *intel_dp)
> -{
> -     return intel_dp->max_common_lane_count;
> -}
> -
>  int intel_dp_max_lane_count(struct intel_dp *intel_dp)
>  {
>       struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
> @@ -701,8 +696,6 @@ static bool intel_dp_set_common_link_params(struct 
> intel_dp *intel_dp)
>       int common_rates[DP_MAX_SUPPORTED_RATES];
>       bool params_changed = false;
> 
> -     intel_dp->max_common_lane_count = 
> intel_dp_get_max_common_lane_count(intel_dp);
> -
>       intel_dp_get_common_rates(intel_dp, common_rates, &num_common_rates);
>       if (intel_dp_link_caps_update(intel_dp,
>                                     common_rates, num_common_rates,
> @@ -3613,7 +3606,7 @@ void intel_dp_set_link_params(struct intel_dp *intel_dp,
> 
>  void intel_dp_reset_link_params(struct intel_dp *intel_dp)
>  {
> -     intel_dp->link.max_lane_count = 
> intel_dp_max_common_lane_count(intel_dp);
> +     intel_dp->link.max_lane_count = 
> intel_dp_link_caps_max_common_lane_count(intel_dp->link.caps);
>       intel_dp->link.max_rate = intel_dp_max_common_rate(intel_dp);
>       intel_dp->link.mst_probed_lane_count = 0;
>       intel_dp->link.mst_probed_rate = 0;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.h 
> b/drivers/gpu/drm/i915/display/intel_dp.h
> index fdf9bd88859e7..f776bec7c4254 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
> @@ -106,7 +106,6 @@ int intel_dp_max_link_rate(struct intel_dp *intel_dp);
>  int intel_dp_max_lane_count(struct intel_dp *intel_dp);
>  int intel_dp_config_required_rate(const struct intel_crtc_state *crtc_state);
>  int intel_dp_rate_select(struct intel_dp *intel_dp, int rate);
> -int intel_dp_max_common_lane_count(struct intel_dp *intel_dp);
>  int intel_dp_rate_index(const int *rates, int len, int rate);
>  void intel_dp_update_sink_caps(struct intel_dp *intel_dp);
>  void intel_dp_reset_link_params(struct intel_dp *intel_dp);
> 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 bb727bcf4de18..b227c9a55f63b 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.c
> @@ -102,6 +102,11 @@ void intel_dp_link_caps_print_common_rates(struct 
> intel_dp_link_caps *link_caps)
>       drm_dbg_kms(display->drm, "common rates: %s\n", seq_buf_str(&s));
>  }
> 
> +int intel_dp_link_caps_max_common_lane_count(struct intel_dp_link_caps 
> *link_caps)
> +{
> +     return link_caps->max_lane_count;
> +}
> +
>  static int forced_lane_count(struct intel_dp *intel_dp)
>  {
>       struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
> @@ -110,7 +115,7 @@ static int forced_lane_count(struct intel_dp *intel_dp)
>               return 0;
> 
>       return clamp(link_caps->forced_params.lane_count,
> -                  1, intel_dp_max_common_lane_count(intel_dp));
> +                  1, intel_dp_link_caps_max_common_lane_count(link_caps));
>  }
> 
>  static int forced_link_rate(struct intel_dp *intel_dp)
> 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 e2f53eb167a8e..9218cb5de2c71 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp_link_caps.h
> @@ -17,6 +17,7 @@ int intel_dp_common_rate(struct intel_dp *intel_dp, int 
> index);
>  int intel_dp_link_caps_common_rate_idx(struct intel_dp_link_caps *link_caps, 
> int rate);
>  int intel_dp_max_common_rate(struct intel_dp *intel_dp);
>  int intel_dp_link_caps_num_common_rates(struct intel_dp_link_caps 
> *link_caps);
> +int intel_dp_link_caps_max_common_lane_count(struct intel_dp_link_caps 
> *link_caps);
> 
>  void intel_dp_link_caps_print_common_rates(struct intel_dp_link_caps 
> *link_caps);
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c 
> b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
> index c82adfcce01d0..9d9d8d04742bc 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_tunnel.c
> @@ -57,8 +57,9 @@ static int kbytes_to_mbits(int kbytes)
> 
>  static int get_current_link_bw(struct intel_dp *intel_dp)
>  {
> +     struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
>       int rate = intel_dp_max_common_rate(intel_dp);
> -     int lane_count = intel_dp_max_common_lane_count(intel_dp);
> +     int lane_count = intel_dp_link_caps_max_common_lane_count(link_caps);
> 
>       return intel_dp_max_link_data_rate(intel_dp, rate, lane_count);
>  }
> --
> 2.49.1

Reply via email to