On Tue, 2018-10-30 at 17:40 +0200, Imre Deak wrote: > From ICL onwards all the DDI/TypeC ports - even working in HDMI mode > - > need to know their corresponding AUX channel, so move the > corresponding > helper to a common place. > > No functional change. > Reviewed-by: José Roberto de Souza <jose.souza@xxxxxxxxx> > Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/intel_bios.c | 45 > +++++++++++++++++++++++++++++++++++ > drivers/gpu/drm/i915/intel_dp.c | 50 +-------------------------- > ------------ > 3 files changed, 47 insertions(+), 49 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h > b/drivers/gpu/drm/i915/i915_drv.h > index c9e5bab6861b..c57b701f72a7 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -3445,6 +3445,7 @@ bool intel_bios_is_port_hpd_inverted(struct > drm_i915_private *dev_priv, > enum port port); > bool intel_bios_is_lspcon_present(struct drm_i915_private *dev_priv, > enum port port); > +enum aux_ch intel_aux_ch(struct drm_i915_private *dev_priv, enum > port port); > > /* intel_acpi.c */ > #ifdef CONFIG_ACPI > diff --git a/drivers/gpu/drm/i915/intel_bios.c > b/drivers/gpu/drm/i915/intel_bios.c > index 1faa494e2bc9..c7682a470c6a 100644 > --- a/drivers/gpu/drm/i915/intel_bios.c > +++ b/drivers/gpu/drm/i915/intel_bios.c > @@ -2159,3 +2159,48 @@ intel_bios_is_lspcon_present(struct > drm_i915_private *dev_priv, > > return false; > } > + > +enum aux_ch intel_aux_ch(struct drm_i915_private *dev_priv, enum > port port) > +{ > + const struct ddi_vbt_port_info *info = > + &dev_priv->vbt.ddi_port_info[port]; > + enum aux_ch aux_ch; > + > + if (!info->alternate_aux_channel) { > + aux_ch = (enum aux_ch) port; > + > + DRM_DEBUG_KMS("using AUX %c for port %c (platform > default)\n", > + aux_ch_name(aux_ch), port_name(port)); > + return aux_ch; > + } > + > + switch (info->alternate_aux_channel) { > + case DP_AUX_A: > + aux_ch = AUX_CH_A; > + break; > + case DP_AUX_B: > + aux_ch = AUX_CH_B; > + break; > + case DP_AUX_C: > + aux_ch = AUX_CH_C; > + break; > + case DP_AUX_D: > + aux_ch = AUX_CH_D; > + break; > + case DP_AUX_E: > + aux_ch = AUX_CH_E; > + break; > + case DP_AUX_F: > + aux_ch = AUX_CH_F; > + break; > + default: > + MISSING_CASE(info->alternate_aux_channel); > + aux_ch = AUX_CH_A; > + break; > + } > + > + DRM_DEBUG_KMS("using AUX %c for port %c (VBT)\n", > + aux_ch_name(aux_ch), port_name(port)); > + > + return aux_ch; > +} > diff --git a/drivers/gpu/drm/i915/intel_dp.c > b/drivers/gpu/drm/i915/intel_dp.c > index 6b37d66194a3..2445897b8f6c 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -1503,54 +1503,6 @@ intel_dp_aux_transfer(struct drm_dp_aux *aux, > struct drm_dp_aux_msg *msg) > return ret; > } > > -static enum aux_ch intel_aux_ch(struct intel_dp *intel_dp) > -{ > - struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)- > >base; > - struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); > - enum port port = encoder->port; > - const struct ddi_vbt_port_info *info = > - &dev_priv->vbt.ddi_port_info[port]; > - enum aux_ch aux_ch; > - > - if (!info->alternate_aux_channel) { > - aux_ch = (enum aux_ch) port; > - > - DRM_DEBUG_KMS("using AUX %c for port %c (platform > default)\n", > - aux_ch_name(aux_ch), port_name(port)); > - return aux_ch; > - } > - > - switch (info->alternate_aux_channel) { > - case DP_AUX_A: > - aux_ch = AUX_CH_A; > - break; > - case DP_AUX_B: > - aux_ch = AUX_CH_B; > - break; > - case DP_AUX_C: > - aux_ch = AUX_CH_C; > - break; > - case DP_AUX_D: > - aux_ch = AUX_CH_D; > - break; > - case DP_AUX_E: > - aux_ch = AUX_CH_E; > - break; > - case DP_AUX_F: > - aux_ch = AUX_CH_F; > - break; > - default: > - MISSING_CASE(info->alternate_aux_channel); > - aux_ch = AUX_CH_A; > - break; > - } > - > - DRM_DEBUG_KMS("using AUX %c for port %c (VBT)\n", > - aux_ch_name(aux_ch), port_name(port)); > - > - return aux_ch; > -} > - > static enum intel_display_power_domain > intel_aux_power_domain(struct intel_dp *intel_dp) > { > @@ -1691,7 +1643,7 @@ intel_dp_aux_init(struct intel_dp *intel_dp) > struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); > struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)- > >base; > > - intel_dp->aux_ch = intel_aux_ch(intel_dp); > + intel_dp->aux_ch = intel_aux_ch(dev_priv, encoder->port); > intel_dp->aux_power_domain = intel_aux_power_domain(intel_dp); > > if (INTEL_GEN(dev_priv) >= 9) { _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx