[PATCH v4 1/2] Partially revert ASoC: qcom: Fix enabling BCLK and LRCLK in LPAIF invalid state
Mark Brown
broonie at kernel.org
Tue Dec 1 18:51:35 CET 2020
On Tue, Dec 01, 2020 at 11:01:21PM +0530, Srinivasa Rao Mandadapu wrote:
> On 11/30/2020 6:16 PM, Mark Brown wrote:
> > Part of this commit message says that the problem was making the registers
> > non-volatile but both the change and the rest of the commit message say
> > that the issue was that the registers were made volatile. I'm also
> > still unclear as to what the issue is either way - how does reading the
> > state of the registers from the hardware instead of the cache affect
> > things?
> Initial problem was, during playback if device suspended, I2S and DMA
> control registers
> are getting reset and unable to recover playback after resume.
> As these registers were non volatile registers, driver is not getting actual
> register value
> and unable to report error state to application. Due to this application
> keeps on polling for HW current pointer state and not exited from PCM
> running state.
> Later from review comments by Srinivas kandagatla, I got to know
>
> about regcache sync APIs, which can be used to sync cache after resume and
>
> HW registers can be updated with original values. With that playback can be
> continued.
>
> So is the reason, I am reverting partial changes in the commit b1824968221c.
I don't understand why a fix for the register cache not being in sync
with the hardware doesn't involve syncing the register cache with the
hardware.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20201201/2129e360/attachment.sig>
More information about the Alsa-devel
mailing list