Commit f3c677b9 authored by Forrest Shi's avatar Forrest Shi Committed by Dan Williams

fsldma: fix issue of slow dma

Fixed fsl dma slow issue by initializing dma mode register with
bandwidth control. It boosts dma performance and should works
with 85xx board.
Signed-off-by: default avatarForrest Shi <b29237@freescale.com>
Signed-off-by: default avatarLi Yang <leoli@freescale.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent c989a7fc
...@@ -50,9 +50,11 @@ static void dma_init(struct fsldma_chan *chan) ...@@ -50,9 +50,11 @@ static void dma_init(struct fsldma_chan *chan)
* EIE - Error interrupt enable * EIE - Error interrupt enable
* EOSIE - End of segments interrupt enable (basic mode) * EOSIE - End of segments interrupt enable (basic mode)
* EOLNIE - End of links interrupt enable * EOLNIE - End of links interrupt enable
* BWC - Bandwidth sharing among channels
*/ */
DMA_OUT(chan, &chan->regs->mr, FSL_DMA_MR_EIE DMA_OUT(chan, &chan->regs->mr, FSL_DMA_MR_BWC
| FSL_DMA_MR_EOLNIE | FSL_DMA_MR_EOSIE, 32); | FSL_DMA_MR_EIE | FSL_DMA_MR_EOLNIE
| FSL_DMA_MR_EOSIE, 32);
break; break;
case FSL_DMA_IP_83XX: case FSL_DMA_IP_83XX:
/* Set the channel to below modes: /* Set the channel to below modes:
......
/* /*
* Copyright (C) 2007 Freescale Semiconductor, Inc. All rights reserved. * Copyright (C) 2007-2010 Freescale Semiconductor, Inc. All rights reserved.
* *
* Author: * Author:
* Zhang Wei <wei.zhang@freescale.com>, Jul 2007 * Zhang Wei <wei.zhang@freescale.com>, Jul 2007
...@@ -36,6 +36,13 @@ ...@@ -36,6 +36,13 @@
#define FSL_DMA_MR_DAHE 0x00002000 #define FSL_DMA_MR_DAHE 0x00002000
#define FSL_DMA_MR_SAHE 0x00001000 #define FSL_DMA_MR_SAHE 0x00001000
/*
* Bandwidth/pause control determines how many bytes a given
* channel is allowed to transfer before the DMA engine pauses
* the current channel and switches to the next channel
*/
#define FSL_DMA_MR_BWC 0x08000000
/* Special MR definition for MPC8349 */ /* Special MR definition for MPC8349 */
#define FSL_DMA_MR_EOTIE 0x00000080 #define FSL_DMA_MR_EOTIE 0x00000080
#define FSL_DMA_MR_PRC_RM 0x00000800 #define FSL_DMA_MR_PRC_RM 0x00000800
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment