On Fri, Jun 10, 2022 at 05:10:27PM +0300, Jani Nikula wrote: > Split ddi port parsing and debug printing to clarify the functional > parts of parse_ddi_port(), which are quite small nowadays. > > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_bios.c | 65 +++++++++++++---------- > 1 file changed, 37 insertions(+), 28 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c > index 59d55a99bc2e..fb5f8a9f5ab5 100644 > --- a/drivers/gpu/drm/i915/display/intel_bios.c > +++ b/drivers/gpu/drm/i915/display/intel_bios.c > @@ -2561,33 +2561,13 @@ static bool is_port_valid(struct drm_i915_private *i915, enum port port) > return true; > } > > -static void parse_ddi_port(struct intel_bios_encoder_data *devdata) > +static void print_ddi_port(const struct intel_bios_encoder_data *devdata, > + enum port port) > { > struct drm_i915_private *i915 = devdata->i915; > const struct child_device_config *child = &devdata->child; > bool is_dvi, is_hdmi, is_dp, is_edp, is_crt, supports_typec_usb, supports_tbt; > int dp_boost_level, dp_max_link_rate, hdmi_boost_level, hdmi_level_shift, max_tmds_clock; > - enum port port; > - > - port = dvo_port_to_port(i915, child->dvo_port); > - if (port == PORT_NONE) > - return; > - > - if (!is_port_valid(i915, port)) { > - drm_dbg_kms(&i915->drm, > - "VBT reports port %c as supported, but that can't be true: skipping\n", > - port_name(port)); > - return; > - } > - > - if (i915->vbt.ports[port]) { > - drm_dbg_kms(&i915->drm, > - "More than one child device for port %c in VBT, using the first.\n", > - port_name(port)); > - return; > - } > - > - sanitize_device_type(devdata, port); > > is_dvi = intel_bios_encoder_supports_dvi(devdata); > is_dp = intel_bios_encoder_supports_dp(devdata); > @@ -2605,12 +2585,6 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata) > supports_typec_usb, supports_tbt, > devdata->dsc != NULL); > > - if (is_dvi) > - sanitize_ddc_pin(devdata, port); > - > - if (is_dp) > - sanitize_aux_ch(devdata, port); > - > hdmi_level_shift = _intel_bios_hdmi_level_shift(devdata); > if (hdmi_level_shift >= 0) { > drm_dbg_kms(&i915->drm, > @@ -2642,6 +2616,41 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata) > drm_dbg_kms(&i915->drm, > "Port %c VBT DP max link rate: %d\n", > port_name(port), dp_max_link_rate); > +} > + > +static void parse_ddi_port(struct intel_bios_encoder_data *devdata) > +{ > + struct drm_i915_private *i915 = devdata->i915; > + const struct child_device_config *child = &devdata->child; > + enum port port; > + > + port = dvo_port_to_port(i915, child->dvo_port); > + if (port == PORT_NONE) > + return; > + > + if (!is_port_valid(i915, port)) { > + drm_dbg_kms(&i915->drm, > + "VBT reports port %c as supported, but that can't be true: skipping\n", > + port_name(port)); > + return; > + } > + > + if (i915->vbt.ports[port]) { > + drm_dbg_kms(&i915->drm, > + "More than one child device for port %c in VBT, using the first.\n", > + port_name(port)); > + return; > + } > + > + sanitize_device_type(devdata, port); > + > + print_ddi_port(devdata, port); Maybe put the print to the end, in case we want to start printing something about the ddc/aux stuff? Series is Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > + > + if (intel_bios_encoder_supports_dvi(devdata)) > + sanitize_ddc_pin(devdata, port); > + > + if (intel_bios_encoder_supports_dp(devdata)) > + sanitize_aux_ch(devdata, port); > > i915->vbt.ports[port] = devdata; > } > -- > 2.30.2 -- Ville Syrjälä Intel