[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1523941201-15665-2-git-send-email-Vijendar.Mukunda@amd.com>
Date: Tue, 17 Apr 2018 10:29:51 +0530
From: Vijendar Mukunda <Vijendar.Mukunda@....com>
To: unlisted-recipients:; (no To-header on input)
CC: Vijendar Mukunda <Vijendar.Mukunda@....com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Alex Deucher <alexander.deucher@....com>,
Akshu Agrawal <akshu.agrawal@....com>,
"Lubomir Rintel" <lkundrak@...sk>,
Markus Elfring <elfring@...rs.sourceforge.net>,
Jose Abreu <Jose.Abreu@...opsys.com>,
"Gustavo A. R. Silva" <garsilva@...eddedor.com>,
"moderated list:SOUND" <alsa-devel@...a-project.org>,
open list <linux-kernel@...r.kernel.org>
Subject: [PATCH 1/4] ASoC: dwc: I2S Controller instance param added
When multiple I2S controller instances created,
i2s_instance parameter refers to i2s controller instance value.
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@....com>
Reviewed-by: Alex Deucher <alexander.deucher@....com>
---
include/sound/designware_i2s.h | 6 ++++++
sound/soc/dwc/dwc-i2s.c | 1 +
sound/soc/dwc/local.h | 1 +
3 files changed, 8 insertions(+)
diff --git a/include/sound/designware_i2s.h b/include/sound/designware_i2s.h
index 830f5ca..8113759 100644
--- a/include/sound/designware_i2s.h
+++ b/include/sound/designware_i2s.h
@@ -44,6 +44,10 @@ struct i2s_platform_data {
int channel;
u32 snd_fmts;
u32 snd_rates;
+ /* i2s_instance parameter returns I2S controller instance value
+ * when multiple I2S controllers instantiated
+ */
+ u32 i2s_instance;
#define DW_I2S_QUIRK_COMP_REG_OFFSET (1 << 0)
#define DW_I2S_QUIRK_COMP_PARAM1 (1 << 1)
@@ -74,5 +78,7 @@ struct i2s_dma_data {
#define FOUR_CHANNEL_SUPPORT 4 /* up to 3.1 */
#define SIX_CHANNEL_SUPPORT 6 /* up to 5.1 */
#define EIGHT_CHANNEL_SUPPORT 8 /* up to 7.1 */
+#define I2S_SP_INSTANCE 1
+#define I2S_BT_INSTANCE 2
#endif /* __SOUND_DESIGNWARE_I2S_H */
diff --git a/sound/soc/dwc/dwc-i2s.c b/sound/soc/dwc/dwc-i2s.c
index 65112b9..58f81a4 100644
--- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c
@@ -553,6 +553,7 @@ static int dw_configure_dai_by_pd(struct dw_i2s_dev *dev,
if (dev->quirks & DW_I2S_QUIRK_16BIT_IDX_OVERRIDE)
idx = 1;
+ dev->i2s_instance = pdata->i2s_instance;
/* Set DMA slaves info */
dev->play_dma_data.pd.data = pdata->play_dma_data;
dev->capture_dma_data.pd.data = pdata->capture_dma_data;
diff --git a/sound/soc/dwc/local.h b/sound/soc/dwc/local.h
index 91dc70a..e89e464 100644
--- a/sound/soc/dwc/local.h
+++ b/sound/soc/dwc/local.h
@@ -98,6 +98,7 @@ struct dw_i2s_dev {
u32 ccr;
u32 xfer_resolution;
u32 fifo_th;
+ u32 i2s_instance;
/* data related to DMA transfers b/w i2s and DMAC */
union dw_i2s_snd_dma_data play_dma_data;
--
2.7.4
Powered by blists - more mailing lists