MLK-9986-4 dma: imx-sdma: add new ecspi tx script
authorRobin Gong <b38343@freescale.com>
Thu, 18 Dec 2014 04:41:16 +0000 (12:41 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:47:24 +0000 (14:47 -0500)
Current ecspi rom script didn't take care of rxfifo overflow risk. Add new
ecspi tx script to check the rxfifo status, if it is near to full(>=48 bytes),
do not copy data to txfifo which will trigger data push into rxfifo. Because
rx script may not read rxfifo in time, we have to consider it.

Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit 17f472aa698aba0af5da4566df447e23306f4289)
(cherry picked from commit 90c929d7d1a3f8e196641b5ed7a33d2ee03bd63c)
(cherry picked from commit 6d76bdcf2097e4198217edf27363cf6ba2e6542a)

drivers/dma/imx-sdma.c

index 7197498..7d0c7be 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Based on code from Freescale:
  *
- * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright 2004-2015 Freescale Semiconductor, Inc. All Rights Reserved.
  *
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
@@ -865,6 +865,9 @@ static void sdma_get_pc(struct sdma_channel *sdmac,
                emi_2_per = sdma->script_addrs->mcu_2_ata_addr;
                break;
        case IMX_DMATYPE_CSPI:
+               per_2_emi = sdma->script_addrs->app_2_mcu_addr;
+               emi_2_per = sdma->script_addrs->mcu_2_ecspi_addr;
+               break;
        case IMX_DMATYPE_EXT:
        case IMX_DMATYPE_SSI:
        case IMX_DMATYPE_SAI: