diff options
author | b02247 <b02247@freescale.com> | 2012-05-14 09:54:27 +0800 |
---|---|---|
committer | Eric Nelson <eric.nelson@boundarydevices.com> | 2013-07-05 13:01:20 -0700 |
commit | 1b8293207298116d842d09653c9de73964564870 (patch) | |
tree | 9958e24b49d121d220f3c66b40f2d893ef48bc4e | |
parent | fbe0e429ff069a4c3317ba27d2e2da6efa1736a6 (diff) |
ENGR00181680-2 No audio when play 3 streams after 3~10 seconds sometimes
sdma: bd is bufferable dma buffer, interrupt handler can not get correct
data after sdma script updated. Which will cause there is no interrupt
after failed period number times in the interrupt handler.
This is a workaround.
Signed-off-by: b02247 <b02247@freescale.com>
-rw-r--r-- | drivers/dma/imx-sdma.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 6b7af2cc047e..2b4d95183760 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -7,7 +7,7 @@ * * Based on code from Freescale: * - * Copyright 2004-2012 Freescale Semiconductor, Inc. + * Copyright 2004-2013 Freescale Semiconductor, Inc. * * The code contained herein is licensed under the GNU General Public * License. You may obtain a copy of the GNU General Public License @@ -882,7 +882,7 @@ static int sdma_request_channel(struct sdma_channel *sdmac) int channel = sdmac->channel; int ret = -EBUSY; - sdmac->bd = dma_alloc_coherent(NULL, PAGE_SIZE, &sdmac->bd_phys, GFP_KERNEL); + sdmac->bd = dma_alloc_noncached(NULL, PAGE_SIZE, &sdmac->bd_phys, GFP_KERNEL); if (!sdmac->bd) { ret = -ENOMEM; goto out; |