diff options
author | Nicolin Chen <b42378@freescale.com> | 2013-11-13 09:55:25 -0500 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2013-12-15 22:48:48 -0500 |
commit | 1a895578d4e50577bb6aa79bd194b502f09dd768 (patch) | |
tree | 9f8ae02613713c5242f35eb975e621e5b848be3f | |
parent | cd72b8462a2ebbf9524e726c65c2770f0bf70d22 (diff) |
dma: imx-sdma: Add new dma type for ssi dual fifo script
This patch adds a new DMA_TYPE for SSI dual FIFO script, included
in SDMA firmware version 2. This script would allow SSI use dual
fifo mode to transimit/receive data without occasional hardware
underrun/overrun.
Signed-off-by: Nicolin Chen <b42378@freescale.com>
Acked-by: Kumar Gala <galak@codeaurora.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
-rw-r--r-- | Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | 1 | ||||
-rw-r--r-- | drivers/dma/imx-sdma.c | 4 | ||||
-rw-r--r-- | include/linux/platform_data/dma-imx.h | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt index 4fa814d38321..68b83ecc3850 100644 --- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | |||
@@ -42,6 +42,7 @@ The full ID of peripheral types can be found below. | |||
42 | 19 IPU Memory | 42 | 19 IPU Memory |
43 | 20 ASRC | 43 | 20 ASRC |
44 | 21 ESAI | 44 | 21 ESAI |
45 | 22 SSI Dual FIFO (needs firmware ver >= 2) | ||
45 | 46 | ||
46 | The third cell specifies the transfer priority as below. | 47 | The third cell specifies the transfer priority as below. |
47 | 48 | ||
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index f769c7383536..152247675feb 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c | |||
@@ -725,6 +725,10 @@ static void sdma_get_pc(struct sdma_channel *sdmac, | |||
725 | per_2_emi = sdma->script_addrs->app_2_mcu_addr; | 725 | per_2_emi = sdma->script_addrs->app_2_mcu_addr; |
726 | emi_2_per = sdma->script_addrs->mcu_2_app_addr; | 726 | emi_2_per = sdma->script_addrs->mcu_2_app_addr; |
727 | break; | 727 | break; |
728 | case IMX_DMATYPE_SSI_DUAL: | ||
729 | per_2_emi = sdma->script_addrs->ssish_2_mcu_addr; | ||
730 | emi_2_per = sdma->script_addrs->mcu_2_ssish_addr; | ||
731 | break; | ||
728 | case IMX_DMATYPE_SSI_SP: | 732 | case IMX_DMATYPE_SSI_SP: |
729 | case IMX_DMATYPE_MMC: | 733 | case IMX_DMATYPE_MMC: |
730 | case IMX_DMATYPE_SDHC: | 734 | case IMX_DMATYPE_SDHC: |
diff --git a/include/linux/platform_data/dma-imx.h b/include/linux/platform_data/dma-imx.h index beac6b8b6a7b..bcbc6c3c14c0 100644 --- a/include/linux/platform_data/dma-imx.h +++ b/include/linux/platform_data/dma-imx.h | |||
@@ -39,6 +39,7 @@ enum sdma_peripheral_type { | |||
39 | IMX_DMATYPE_IPU_MEMORY, /* IPU Memory */ | 39 | IMX_DMATYPE_IPU_MEMORY, /* IPU Memory */ |
40 | IMX_DMATYPE_ASRC, /* ASRC */ | 40 | IMX_DMATYPE_ASRC, /* ASRC */ |
41 | IMX_DMATYPE_ESAI, /* ESAI */ | 41 | IMX_DMATYPE_ESAI, /* ESAI */ |
42 | IMX_DMATYPE_SSI_DUAL, /* SSI Dual FIFO */ | ||
42 | }; | 43 | }; |
43 | 44 | ||
44 | enum imx_dma_prio { | 45 | enum imx_dma_prio { |