ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit
authorCezary Rojewski <cezary.rojewski@intel.com>
Thu, 13 Jun 2019 19:04:32 +0000 (21:04 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 25 Jun 2019 14:33:39 +0000 (15:33 +0100)
commit078759399ff74e2e6f5e208c61924d1b7d66e5d8
tree51e7b070bfea1ca24354a9bc75aacb880a043ffb
parent9f90af3a995298d2a49b23b896f075d6a1cc8a17
ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit

Host clears DONE bit to signal IPC target it has completed the
operation. Once this is done, IPC target i.e. DSP may proceed with the
next reply, filling registers with new portion of data.

Because of this, host should always read all registers prior to clearing
DONE and BUSY bits to ensure no desynchronization happens the time in
between clearing bits and reading message data (here, extension).

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/cnl-sst.c
sound/soc/intel/skylake/skl-sst-ipc.c