Commit a700a1e6 authored by Jeeja KP's avatar Jeeja KP Committed by Mark Brown

ASoC: Intel: Skylake: set the resume point to LPIB

In system suspend, the firmware pipelines will be deleted and there
is no need to save the pipeline context. Driver will save the DPIB and
LPIB pointers in suspend.

In system resume, the firmware pipelines will be created again and the
RD/RW pointers in the Firmware buffer points to the base address. So
need to fetch the non-played data again to firmware buffer. LPIB
indicates the HW rendered position.

Instead of setting DPIB as resume point, set it to LPIB to restore from
the HW render position so that DMA would fetch the non-played data one
more time.
Signed-off-by: default avatarJeeja KP <jeeja.kp@intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 7cbfdf87
...@@ -474,7 +474,7 @@ static int skl_pcm_trigger(struct snd_pcm_substream *substream, int cmd, ...@@ -474,7 +474,7 @@ static int skl_pcm_trigger(struct snd_pcm_substream *substream, int cmd,
snd_hdac_ext_stream_drsm_enable(ebus, true, snd_hdac_ext_stream_drsm_enable(ebus, true,
hdac_stream(stream)->index); hdac_stream(stream)->index);
snd_hdac_ext_stream_set_dpibr(ebus, stream, snd_hdac_ext_stream_set_dpibr(ebus, stream,
stream->dpib); stream->lpib);
snd_hdac_ext_stream_set_lpib(stream, stream->lpib); snd_hdac_ext_stream_set_lpib(stream, stream->lpib);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment