diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2013-04-03 11:06:04 +0200 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-04-05 11:25:47 +0100 |
commit | a8909c9bc5803fd68363c8b349bd76c99fc0569b (patch) | |
tree | 8744cc20bbb9456c9f0507af4571fb27cc0dd956 /sound/soc/fsl/imx-ssi.c | |
parent | 3489d5067a2cd8c51a2649b2f39bfb5b11852b8d (diff) | |
download | op-kernel-dev-a8909c9bc5803fd68363c8b349bd76c99fc0569b.zip op-kernel-dev-a8909c9bc5803fd68363c8b349bd76c99fc0569b.tar.gz |
ASoC: fsl: Use common DAI DMA data struct
Use the common DAI DMA data struct for fsl/imx, this allows us to use the common
helper function to configure the DMA slave config based on the DAI DMA data.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/fsl/imx-ssi.c')
-rw-r--r-- | sound/soc/fsl/imx-ssi.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/sound/soc/fsl/imx-ssi.c b/sound/soc/fsl/imx-ssi.c index 14018c4..dce05b6 100644 --- a/sound/soc/fsl/imx-ssi.c +++ b/sound/soc/fsl/imx-ssi.c @@ -236,7 +236,7 @@ static int imx_ssi_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *cpu_dai) { struct imx_ssi *ssi = snd_soc_dai_get_drvdata(cpu_dai); - struct imx_pcm_dma_params *dma_data; + struct snd_dmaengine_dai_dma_data *dma_data; /* Tx/Rx config */ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) @@ -369,8 +369,8 @@ static int imx_ssi_dai_probe(struct snd_soc_dai *dai) snd_soc_dai_set_drvdata(dai, ssi); - val = SSI_SFCSR_TFWM0(ssi->dma_params_tx.burstsize) | - SSI_SFCSR_RFWM0(ssi->dma_params_rx.burstsize); + val = SSI_SFCSR_TFWM0(ssi->dma_params_tx.maxburst) | + SSI_SFCSR_RFWM0(ssi->dma_params_rx.maxburst); writel(val, ssi->base + SSI_SFCSR); return 0; @@ -570,21 +570,24 @@ static int imx_ssi_probe(struct platform_device *pdev) writel(0x0, ssi->base + SSI_SIER); - ssi->dma_params_rx.dma_addr = res->start + SSI_SRX0; - ssi->dma_params_tx.dma_addr = res->start + SSI_STX0; + ssi->dma_params_rx.addr = res->start + SSI_SRX0; + ssi->dma_params_tx.addr = res->start + SSI_STX0; - ssi->dma_params_tx.burstsize = 6; - ssi->dma_params_rx.burstsize = 4; + ssi->dma_params_tx.maxburst = 6; + ssi->dma_params_rx.maxburst = 4; + + ssi->dma_params_tx.filter_data = &ssi->filter_data_tx; + ssi->dma_params_rx.filter_data = &ssi->filter_data_rx; res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx0"); if (res) { - imx_pcm_dma_params_init_data(&ssi->dma_params_tx, res->start, + imx_pcm_dma_params_init_data(&ssi->filter_data_tx, res->start, false); } res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx0"); if (res) { - imx_pcm_dma_params_init_data(&ssi->dma_params_rx, res->start, + imx_pcm_dma_params_init_data(&ssi->filter_data_rx, res->start, false); } |