On Tue, Feb 06, 2018 at 11:49:18AM +0000, Jani Nikula wrote:
> Apparently using the manual Maud/Naud mode does not work on KBL. The
> details on the failure mode are scarce, except that there's no audio,
> and there is obviously no idea on the root cause either. It is also
> unknown whether the failure can be reproduced on newer platforms in some
> scenarios.
> 
> The problem was introduced when switching from automatic mode to manual
> mode in commit 6014ac122ed0 ("drm/i915/audio: set proper N/M in
> modeset"). Instead of reverting that, disable the feature on KBL as a
> workaround.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104093
> Reported-by: Quanxian Wang <quanxian.w...@intel.com>
> Fixes: 6014ac122ed0 ("drm/i915/audio: set proper N/M in modeset")
> Cc: <sta...@vger.kernel.org> # v4.10+
> Cc: Keqiao Zhang <keqiao.zh...@intel.com>
> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
> Cc: Mengdong Lin <mengdong....@intel.com>
> Cc: Libin Yang <libin.y...@linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.v...@intel.com>
> Cc: Quanxian Wang <quanxian.w...@intel.com>
> Cc: Wang Zhijun <zhijunx.w...@intel.com>
> Cc: Cui Yueping <yuepingx....@intel.com>
> Cc: Alice Liu <alice....@intel.com>
> Cc: intel-gfx@lists.freedesktop.org
> Signed-off-by: Jani Nikula <jani.nik...@intel.com>
> 
> ---
> 
> UNTESTED. Please provide Tested-by's on the affected KBLs, but *also* on
> CFL, CNL, etc.
> ---
>  drivers/gpu/drm/i915/intel_audio.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_audio.c 
> b/drivers/gpu/drm/i915/intel_audio.c
> index 522d54fecb53..b7634cff12b6 100644
> --- a/drivers/gpu/drm/i915/intel_audio.c
> +++ b/drivers/gpu/drm/i915/intel_audio.c
> @@ -294,12 +294,19 @@ hsw_dp_audio_config_update(struct intel_encoder 
> *encoder,
>       struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
>       enum port port = encoder->port;
>       enum pipe pipe = crtc->pipe;
> -     const struct dp_aud_n_m *nm;
> +     const struct dp_aud_n_m *nm = NULL;
>       int rate;
>       u32 tmp;
>  
>       rate = acomp ? acomp->aud_sample_rate[port] : 0;
> -     nm = audio_config_dp_get_n_m(crtc_state, rate);
> +
> +     /*
> +      * FIXME: For reasons still unknown, there seem to be issues with the
> +      * manual Maud/Naud mode on KBL.
> +      */
> +     if (!IS_KABYLAKE(dev_priv))

Hmm... not much visibility on the audio gap between KBL and CFL.
But on our side I believe we should also apply it for CFL.

I wonder if some bugs audio guys are hunting now on CNL and ICL could
also be related to it.

Isn't revert the original an option?

> +             nm = audio_config_dp_get_n_m(crtc_state, rate);
> +
>       if (nm)
>               DRM_DEBUG_KMS("using Maud %u, Naud %u\n", nm->m, nm->n);
>       else
> -- 
> 2.11.0
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to