Re: [PATCH] drm/i915/ilk: Wait one vblank before enabling audio

Jani Nikula
2016-05-23T06:32:17Z

On Sat, 21 May 2016, Lyude <cpaul@redhat.com> wrote:
> We no longer call ilk_audio_codec_enable() while we have vblanks
> disabled. As such, we can finally fix this and stop the occasional pipe
> underruns I'm seeing on this Dell OptiPlex 990.
>
> Cc: stable@vger.kernel.org

Even if this were the right fix now, I'd be wary of adding a blanket cc:
stable to kernels where we still have vblanks disabled when this
function gets called.

Whoever pushes this, please ensure the cc: stable gets dropped from the
commit.

Thanks,
Jani.

> Signed-off-by: Lyude <cpaul@redhat.com>
> ---
> drivers/gpu/drm/i915/intel_audio.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c
> index 7d281b4..0d685fe 100644
> --- a/drivers/gpu/drm/i915/intel_audio.c
> +++ b/drivers/gpu/drm/i915/intel_audio.c
> @@ -423,12 +423,8 @@ static void ilk_audio_codec_enable(struct drm_connector *connector,
> if (WARN_ON(port == PORT_A))
> return;
>
> - /*
> - * FIXME: We're supposed to wait for vblank here, but we have vblanks
> - * disabled during the mode set. The proper fix would be to push the
> - * rest of the setup into a vblank work item, queued here, but the
> - * infrastructure is not there yet.
> - */
> + /* Need to wait one vblank before enabling audio */
> + intel_wait_for_vblank(connector->dev, pipe);
>
> if (HAS_PCH_IBX(connector->dev)) {
> hdmiw_hdmiedid = IBX_HDMIW_HDMIEDID(pipe);

--
Jani Nikula, Intel Open Source Technology Center