diff options
Diffstat (limited to 'sound/soc/imx/imx-ssi.c')
| -rw-r--r-- | sound/soc/imx/imx-ssi.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c index 56f46a75d29..0bcc6d7d947 100644 --- a/sound/soc/imx/imx-ssi.c +++ b/sound/soc/imx/imx-ssi.c @@ -39,6 +39,7 @@  #include <linux/interrupt.h>  #include <linux/module.h>  #include <linux/platform_device.h> +#include <linux/slab.h>  #include <sound/core.h>  #include <sound/initval.h> @@ -234,17 +235,20 @@ static int imx_ssi_hw_params(struct snd_pcm_substream *substream,  			     struct snd_soc_dai *cpu_dai)  {  	struct imx_ssi *ssi = cpu_dai->private_data; +	struct imx_pcm_dma_params *dma_data;  	u32 reg, sccr;  	/* Tx/Rx config */  	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {  		reg = SSI_STCCR; -		cpu_dai->dma_data = &ssi->dma_params_tx; +		dma_data = &ssi->dma_params_tx;  	} else {  		reg = SSI_SRCCR; -		cpu_dai->dma_data = &ssi->dma_params_rx; +		dma_data = &ssi->dma_params_rx;  	} +	snd_soc_dai_set_dma_data(cpu_dai, substream, dma_data); +  	sccr = readl(ssi->base + reg) & ~SSI_STCCR_WL_MASK;  	/* DAI data (word) size */  |