[alsa-devel] [PATCH] ASoC: fsl: Set sdma peripheral type directly
Let CPU DAI drivers set SDMA periperal type directly to support more dma types(SPDIF, ESAI) other than only two for SSI. This will easily allow some non-SSI drivers to use the imx-pcm-dma as well.
Signed-off-by: Nicolin Chen b42378@freescale.com --- @Timur Compile-passed with mpc85xx_defconfig by using gcc-4.6.3-nolibc_powerpc-linux. --- sound/soc/fsl/fsl_ssi.c | 4 ++-- sound/soc/fsl/imx-pcm.h | 7 ++----- sound/soc/fsl/imx-ssi.c | 4 ++-- 3 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c index 11469fe..4d78df7 100644 --- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c @@ -775,9 +775,9 @@ static int fsl_ssi_probe(struct platform_device *pdev) "fsl,spba-bus");
imx_pcm_dma_params_init_data(&ssi_private->filter_data_tx, - dma_events[0], shared); + dma_events[0], shared ? IMX_DMATYPE_SSI_SP : IMX_DMATYPE_SSI); imx_pcm_dma_params_init_data(&ssi_private->filter_data_rx, - dma_events[1], shared); + dma_events[1], shared ? IMX_DMATYPE_SSI_SP : IMX_DMATYPE_SSI); }
/* Initialize the the device_attribute structure */ diff --git a/sound/soc/fsl/imx-pcm.h b/sound/soc/fsl/imx-pcm.h index fd56cad..9136625 100644 --- a/sound/soc/fsl/imx-pcm.h +++ b/sound/soc/fsl/imx-pcm.h @@ -22,14 +22,11 @@
static inline void imx_pcm_dma_params_init_data(struct imx_dma_data *dma_data, - int dma, bool shared) + int dma, enum sdma_peripheral_type peripheral_type) { dma_data->dma_request = dma; dma_data->priority = DMA_PRIO_HIGH; - if (shared) - dma_data->peripheral_type = IMX_DMATYPE_SSI_SP; - else - dma_data->peripheral_type = IMX_DMATYPE_SSI; + dma_data->peripheral_type = peripheral_type; }
struct imx_pcm_fiq_params { diff --git a/sound/soc/fsl/imx-ssi.c b/sound/soc/fsl/imx-ssi.c index f029e27..f58bcd8 100644 --- a/sound/soc/fsl/imx-ssi.c +++ b/sound/soc/fsl/imx-ssi.c @@ -571,13 +571,13 @@ static int imx_ssi_probe(struct platform_device *pdev) res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx0"); if (res) { imx_pcm_dma_params_init_data(&ssi->filter_data_tx, res->start, - false); + IMX_DMATYPE_SSI); }
res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx0"); if (res) { imx_pcm_dma_params_init_data(&ssi->filter_data_rx, res->start, - false); + IMX_DMATYPE_SSI); }
platform_set_drvdata(pdev, ssi);
On Thu, Jul 25, 2013 at 05:41:41PM +0800, Nicolin Chen wrote:
Let CPU DAI drivers set SDMA periperal type directly to support more dma types(SPDIF, ESAI) other than only two for SSI. This will easily allow some non-SSI drivers to use the imx-pcm-dma as well.
Signed-off-by: Nicolin Chen b42378@freescale.com
Acked-by: Shawn Guo shawn.guo@linaro.org
On Thu, Jul 25, 2013 at 05:41:41PM +0800, Nicolin Chen wrote:
Let CPU DAI drivers set SDMA periperal type directly to support more dma types(SPDIF, ESAI) other than only two for SSI. This will easily allow some non-SSI drivers to use the imx-pcm-dma as well.
Applied, thanks.
participants (3)
-
Mark Brown
-
Nicolin Chen
-
Shawn Guo