[alsa-devel] [PATCH V2] ASoC: dwc: I2S Controller instance param added

Mukunda,Vijendar vijendar.mukunda at amd.com
Fri Mar 23 06:53:23 CET 2018



On Tuesday 20 March 2018 12:42 PM, Vijendar Mukunda wrote:
> When multiple I2S controller instances created,
> i2s_instance parameter refers to i2s controller instance value.
> 
> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda at amd.com>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> v1->v2: defined I2S instance macros in designware header file
>   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 e27e21f..20145c0 100644
> --- a/sound/soc/dwc/dwc-i2s.c
> +++ b/sound/soc/dwc/dwc-i2s.c
> @@ -549,6 +549,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;
> 

Hi Mark,

Could you please review the patch.

Thanks,
Vijendar


More information about the Alsa-devel mailing list