[Intel-gfx] [PATCH] drm/i915: Fix MST audio enabling

Ander Conselvan De Oliveira conselvan2 at gmail.com
Fri Mar 11 15:52:22 UTC 2016


On Fri, 2016-03-11 at 17:37 +0200, Ville Syrjälä wrote:
> On Fri, Mar 11, 2016 at 05:33:06PM +0200, Ander Conselvan de Oliveira wrote:
> > Commit 3d52ccf52f2c ("drm/i915: start adding dp mst audio") erroneously
> > added a check for MST encoder to ilk_audio_codec_enable instead of the
> > hsw+ equivalent. That causes the HDMI path to be used, resulting in a
> > wrong register value.
> > 
> > Cc: Libin Yang <libin.yang at linux.intel.com>
> > Cc: drm-intel-fixes at lists.freedesktop.org
> > Fixes: commit 3d52ccf52f2c ("drm/i915: start adding dp mst audio")
> > Signed-off-by: Ander Conselvan de Oliveira <
> > ander.conselvan.de.oliveira at intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_audio.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_audio.c
> > b/drivers/gpu/drm/i915/intel_audio.c
> > index 30f9214..f5fccf7 100644
> > --- a/drivers/gpu/drm/i915/intel_audio.c
> > +++ b/drivers/gpu/drm/i915/intel_audio.c
> > @@ -329,7 +329,8 @@ static void hsw_audio_codec_enable(struct drm_connector
> > *connector,
> >  	tmp = I915_READ(HSW_AUD_CFG(pipe));
> >  	tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
> >  	tmp &= ~AUD_CONFIG_PIXEL_CLOCK_HDMI_MASK;
> > -	if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
> > +	if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT) ||
> > +	    intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DP_MST))
> 
> Humm. I thought had I asked all of these to be changed to has_dp_encoder.
> I wonder if I imagined it or if I was just ignored.

Ah, yes. Libin sent a patch to fix the same bug and you asked for that [1] and
even R-b the follow up version even though it didn't use it everywhere. But it
looks like Daniel didn't merge it since he wanted all uses converted to
has_dp_encoders.

[1] https://patchwork.freedesktop.org/patch/68902/
[2] https://patchwork.freedesktop.org/patch/69525/


> 
> >  		tmp |= AUD_CONFIG_N_VALUE_INDEX;
> >  	else
> >  		tmp |= audio_config_hdmi_pixel_clock(adjusted_mode);
> > @@ -476,8 +477,7 @@ static void ilk_audio_codec_enable(struct drm_connector
> > *connector,
> >  	tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
> >  	tmp &= ~AUD_CONFIG_N_PROG_ENABLE;
> >  	tmp &= ~AUD_CONFIG_PIXEL_CLOCK_HDMI_MASK;
> > -	if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT) ||
> > -	    intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DP_MST))
> > +	if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
> >  		tmp |= AUD_CONFIG_N_VALUE_INDEX;
> >  	else
> >  		tmp |= audio_config_hdmi_pixel_clock(adjusted_mode);
> > -- 
> > 2.4.3
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 


More information about the Intel-gfx mailing list