summaryrefslogtreecommitdiffstats
path: root/sound/soc/amd/acp.h
diff options
context:
space:
mode:
authorAkshu Agrawal <akshu.agrawal@amd.com>2018-09-10 22:50:27 +0530
committerMark Brown <broonie@kernel.org>2018-09-10 18:46:09 +0100
commit8dcb0c90c691de5b79608d04ec7941ef9b3fee9c (patch)
tree542f75339e01b428d035a9a5e93870c9510e0c10 /sound/soc/amd/acp.h
parente36a1d0d249aa09f94d551cadf043a7f9f7fae00 (diff)
downloadlinux-8dcb0c90c691de5b79608d04ec7941ef9b3fee9c.tar.gz
linux-8dcb0c90c691de5b79608d04ec7941ef9b3fee9c.tar.bz2
linux-8dcb0c90c691de5b79608d04ec7941ef9b3fee9c.zip
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>
Diffstat (limited to 'sound/soc/amd/acp.h')
-rw-r--r--sound/soc/amd/acp.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/amd/acp.h b/sound/soc/amd/acp.h
index be3963e8f4fa..dbbb1a85638d 100644
--- a/sound/soc/amd/acp.h
+++ b/sound/soc/amd/acp.h
@@ -158,7 +158,8 @@ struct audio_drv_data {
* and dma driver
*/
struct acp_platform_info {
- u16 i2s_instance;
+ u16 play_i2s_instance;
+ u16 cap_i2s_instance;
u16 capture_channel;
};