lantiq: add v3.9 support
[openwrt.git] / target / linux / lantiq / patches-3.9 / 0002-MIPS-lantiq-adds-4dword-burst-length-for-dma.patch
diff --git a/target/linux/lantiq/patches-3.9/0002-MIPS-lantiq-adds-4dword-burst-length-for-dma.patch b/target/linux/lantiq/patches-3.9/0002-MIPS-lantiq-adds-4dword-burst-length-for-dma.patch
new file mode 100644 (file)
index 0000000..56e6b4c
--- /dev/null
@@ -0,0 +1,34 @@
+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(-)
+
+diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
+index 08f7ebd..ccf1451 100644
+--- 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;
+-- 
+1.7.10.4
+