30 lines
1.2 KiB
Diff
30 lines
1.2 KiB
Diff
|
From e9e520f4f10fdd673e5083bdc082515425ed7457 Mon Sep 17 00:00:00 2001
|
||
|
From: John Crispin <blogic@openwrt.org>
|
||
|
Date: Thu, 6 Dec 2012 11:59:23 +0100
|
||
|
Subject: [PATCH 02/22] MIPS: lantiq: adds 4dword burst length for dma
|
||
|
|
||
|
---
|
||
|
arch/mips/lantiq/xway/dma.c | 4 +++-
|
||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||
|
|
||
|
--- a/arch/mips/lantiq/xway/dma.c
|
||
|
+++ b/arch/mips/lantiq/xway/dma.c
|
||
|
@@ -48,6 +48,7 @@
|
||
|
#define DMA_IRQ_ACK 0x7e /* IRQ status register */
|
||
|
#define DMA_POLL BIT(31) /* turn on channel polling */
|
||
|
#define DMA_CLK_DIV4 BIT(6) /* polling clock divider */
|
||
|
+#define DMA_4W_BURST BIT(2) /* 4 word burst length */
|
||
|
#define DMA_2W_BURST BIT(1) /* 2 word burst length */
|
||
|
#define DMA_MAX_CHANNEL 20 /* the soc has 20 channels */
|
||
|
#define DMA_ETOP_ENDIANNESS (0xf << 8) /* endianness swap etop channels */
|
||
|
@@ -196,7 +197,8 @@ ltq_dma_init_port(int p)
|
||
|
* Tell the DMA engine to swap the endianness of data frames and
|
||
|
* drop packets if the channel arbitration fails.
|
||
|
*/
|
||
|
- ltq_dma_w32_mask(0, DMA_ETOP_ENDIANNESS | DMA_PDEN,
|
||
|
+ ltq_dma_w32_mask(0, (DMA_4W_BURST << 4) | (DMA_4W_BURST << 2) |
|
||
|
+ DMA_ETOP_ENDIANNESS | DMA_PDEN,
|
||
|
LTQ_DMA_PCTRL);
|
||
|
break;
|
||
|
|