On Mon, Jul 06, 2026 at 01:49:35PM +0300, Luca Coelho wrote: > On Wed, 2026-07-01 at 18:31 +0300, Imre Deak wrote: > > Use the link caps helper to select the maximum eDP link configuration > > for DSC computation, instead of using the separate max rate and lane > > count limits, which may not form a valid configuration after individual > > configs are disabled by fallback. > > > > This is a step towards unifying configuration selection and iteration > > across connector types and between compute and fallback paths. > > > > The state computation should likely consider all allowed configurations, > > as noted in the code comment; for now keep the existing eDP DSC behavior > > of selecting the maximum configuration determined by the eDP connector > > rate / lane config iteration order. > > > > Signed-off-by: Imre Deak <[email protected]> > > --- > > drivers/gpu/drm/i915/display/intel_dp.c | 17 ++++++++++++++--- > > 1 file changed, 14 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > > b/drivers/gpu/drm/i915/display/intel_dp.c > > index c6920afb50902..79e3334d24332 100644 > > --- a/drivers/gpu/drm/i915/display/intel_dp.c > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > > @@ -2248,7 +2248,7 @@ static int dsc_compute_compressed_bpp(struct intel_dp > > *intel_dp, > > int pipe_bpp) > > { > > struct intel_display *display = to_intel_display(intel_dp); > > - const struct intel_connector *connector = > > to_intel_connector(conn_state->connector); > > + struct intel_connector *connector = > > to_intel_connector(conn_state->connector); > > int min_bpp_x16, max_bpp_x16, bpp_step_x16; > > int bpp_x16; > > int ret; > > @@ -2260,8 +2260,19 @@ static int dsc_compute_compressed_bpp(struct > > intel_dp *intel_dp, > > max_bpp_x16 = align_max_compressed_bpp_x16(connector, > > pipe_config->output_format, > > pipe_bpp, max_bpp_x16); > > if (intel_dp_is_edp(intel_dp)) { > > - pipe_config->port_clock = limits->max_rate; > > - pipe_config->lane_count = limits->max_lane_count; > > + struct intel_dp_link_config max_link_config; > > + > > + /* > > + * FIXME: Clarify why eDP does not use the regular SST BW > > + * check and instead always uses the maximum link config, > > + * regardless of intel_dp::use_max_params. Then unify this eDP > > + * path with the regular DP path. > > + */ > > Are you planning to clarify this? Will it be part of your current > refactoring (maybe in later patches)?
This patchset doesn't want to change the behavior, so here the link configuration with the max rate and lane count is selected as before. The above comment only serves as a reminder to make the eDP case work as the SST-DP case, in a follow-up. > > + if (!intel_dp_get_connector_max_link_config(connector, limits, > > &max_link_config)) > > + return -EINVAL; > > + > > + pipe_config->port_clock = max_link_config.rate; > > + pipe_config->lane_count = max_link_config.lane_count; > > > > pipe_config->dsc.compressed_bpp_x16 = max_bpp_x16; > > > > Regardless: > > Reviewed-by: Luca Coelho <[email protected]> > > -- > Cheers, > Luca.
