> Subject: [PATCH 2/6] drm/i915/dp: End link configuration loops properly > > Call intel_dp_link_caps_iter_end() after the link configuration loops. > At the moment this call only clears the iteration object, so the lack of call > didn't > cause an actual issue. > > Cc: Luca Coelho <[email protected]> > Fixes: 7266df62ed0a7 ("drm/i915/dp: Iterate configurations via link_caps for > SST non-DSC") > Fixes: 4f104fc10a461 ("drm/i915/dp: Iterate configurations via link_caps for > SST > DSC") > Signed-off-by: Imre Deak <[email protected]>
LGTM Reviewed-by: Suraj Kandpal <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_dp.c | 21 ++++++++++++++++----- > 1 file changed, 16 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > b/drivers/gpu/drm/i915/display/intel_dp.c > index 0922d23b284ca..0d2c696b9e4b0 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -1688,6 +1688,7 @@ intel_dp_compute_link_config_wide(struct intel_dp > *intel_dp, > struct intel_dp_link_caps *link_caps = intel_dp->link.caps; > struct intel_dp_link_caps_order order = > intel_dp_link_caps_connector_compute_order(connector); > + int err = -EINVAL; > int link_avail; > > for (bpp = fxp_q4_to_int(limits->link.max_bpp_x16); > @@ -1718,12 +1719,18 @@ intel_dp_compute_link_config_wide(struct > intel_dp *intel_dp, > pipe_config->pipe_bpp = bpp; > pipe_config->port_clock = link_config.rate; > > - return 0; > + err = 0; > + > + break; > } > } > + intel_dp_link_caps_iter_end(&iter); > + > + if (!err) > + break; > } > > - return -EINVAL; > + return err; > } > > int intel_dp_dsc_max_src_input_bpc(struct intel_display *display) @@ -1924,6 > +1931,7 @@ static int dsc_compute_link_config(struct intel_dp *intel_dp, > intel_dp_link_caps_connector_compute_order(connector); > struct intel_dp_link_config link_config; > struct intel_dp_link_caps_iter iter; > + int err = -EINVAL; > > intel_dp_link_caps_iter_start(&iter, link_caps, order, limits- > >link_config_filter); > for_each_dp_link_config(&iter, &link_config) { @@ -1966,10 +1974,13 > @@ static int dsc_compute_link_config(struct intel_dp *intel_dp, > continue; > } > > - return 0; > - } > + err = 0; > > - return -EINVAL; > + break; > + } > + intel_dp_link_caps_iter_end(&iter); > + > + return err; > } > > static u16 intel_dp_dsc_max_delta_bppx16(const struct intel_connector > *connector, > -- > 2.49.1
