ASoC: AMD: Fix simultaneous playback and capture on different channel
authorAkshu Agrawal <akshu.agrawal@amd.com>
Mon, 10 Sep 2018 17:20:27 +0000 (22:50 +0530)
committerMark Brown <broonie@kernel.org>
Mon, 10 Sep 2018 17:46:09 +0000 (18:46 +0100)
commit8dcb0c90c691de5b79608d04ec7941ef9b3fee9c
tree542f75339e01b428d035a9a5e93870c9510e0c10
parente36a1d0d249aa09f94d551cadf043a7f9f7fae00
ASoC: AMD: Fix simultaneous playback and capture on different channel

If capture and playback are started on different channel (I2S/BT)
there is a possibilty that channel information passed from machine driver
is overwritten before the configuration is done in dma driver.
Example:
113.597588: cz_max_startup: ---playback sets BT channel
113.597694: cz_dmic1_startup: ---capture sets I2S channel
113.597979: acp_dma_hw_params: ---configures capture for I2S channel
113.598114: acp_dma_hw_params: ---configures playback for I2S channel

This is fixed by having 2 separate instance for playback and capture.

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp-da7219-max98357a.c
sound/soc/amd/acp-pcm-dma.c
sound/soc/amd/acp.h