From 2a44d6fd2d1eae52fc03fdcc9626e72a7af3ba74 Mon Sep 17 00:00:00 2001 From: Robin Gong Date: Thu, 18 Dec 2014 12:41:16 +0800 Subject: [PATCH] MLK-9986-4 dma: imx-sdma: add new ecspi tx script 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 (cherry picked from commit 17f472aa698aba0af5da4566df447e23306f4289) (cherry picked from commit 90c929d7d1a3f8e196641b5ed7a33d2ee03bd63c) (cherry picked from commit 6d76bdcf2097e4198217edf27363cf6ba2e6542a) --- drivers/dma/imx-sdma.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 9105c191c884..97e010d3bd1c 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -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: