30 lines
1.2 KiB
Diff
30 lines
1.2 KiB
Diff
From 5be3837d01ea56e1455781f1b51764bd896973f2 Mon Sep 17 00:00:00 2001
|
|
From: John Crispin <blogic@openwrt.org>
|
|
Date: Thu, 6 Dec 2012 11:59:23 +0100
|
|
Subject: [PATCH 20/40] 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
|
|
@@ -47,6 +47,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 */
|
|
@@ -195,7 +196,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;
|
|
|