On Wed, Nov 29, 2017 at 04:43:03PM +0000, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Transcoder EDP does not support audio. Let's not try to > read the state of the audio enable bit HSW_AUD_PIN_ELD_CP_VLD > based on the pipe when using transcoder EDP. > > While at it make the function static and flatten it. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_ddi.c | 20 ++++++++++---------- > drivers/gpu/drm/i915/intel_drv.h | 2 -- > 2 files changed, 10 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c > index eff3b51872eb..48ba9b7fdc78 100644 > --- a/drivers/gpu/drm/i915/intel_ddi.c > +++ b/drivers/gpu/drm/i915/intel_ddi.c > @@ -2513,17 +2513,17 @@ void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp) > udelay(600); > } > > -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv, > - struct intel_crtc *intel_crtc) > +static bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv, > + enum transcoder cpu_transcoder) > { > - u32 temp; > + if (cpu_transcoder == TRANSCODER_EDP) > + return false; > > - if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) { > - temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD); > - if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe)) > - return true; > - } > - return false; > + if (!intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) > + return false; > + > + return I915_READ(HSW_AUD_PIN_ELD_CP_VLD) & > + AUDIO_OUTPUT_ENABLE(cpu_transcoder); > } > > void intel_ddi_compute_min_voltage_level(struct drm_i915_private *dev_priv, > @@ -2616,7 +2616,7 @@ void intel_ddi_get_config(struct intel_encoder *encoder, > } > > pipe_config->has_audio = > - intel_ddi_is_audio_enabled(dev_priv, intel_crtc); > + intel_ddi_is_audio_enabled(dev_priv, cpu_transcoder); > > if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp && > pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) { > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index c679df99d530..c55fa245cd8c 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -1288,8 +1288,6 @@ intel_ddi_get_crtc_new_encoder(struct intel_crtc_state *crtc_state); > void intel_ddi_set_pipe_settings(const struct intel_crtc_state *crtc_state); > void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp); > bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector); > -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv, > - struct intel_crtc *intel_crtc); > void intel_ddi_get_config(struct intel_encoder *encoder, > struct intel_crtc_state *pipe_config); > > -- > 2.13.6 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx