From 5e3d188e89d719c8949f4f16321d82cc63ca8529 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Fri, 31 Oct 2014 23:32:22 +0000
Subject: [PATCH] kernel: add patch header and missing part in
 132-mips_inline_dma_ops.patch again

The select SYS_HAS_DMA_OPS in CPU_CAVIUM_OCTEON was from the kernel
patch in 3.13, but it is only included in kernel 3.14 and not in 3.13
and 3.18, add it again.

Thank you swalker for spotting this.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 43134
---
 .../132-mips_inline_dma_ops.patch             | 31 +++++++++++++++++--
 .../300-mips_expose_boot_raw.patch            |  2 +-
 .../063-mips_decompressor_memmove.patch       |  8 ++---
 .../132-mips_inline_dma_ops.patch             | 19 ++++++++++++
 .../132-mips_inline_dma_ops.patch             | 29 ++++++++++++++++-
 .../300-mips_expose_boot_raw.patch            |  2 +-
 .../patches-3.18/304-mips_disable_fpu.patch   |  2 +-
 7 files changed, 82 insertions(+), 11 deletions(-)

diff --git a/target/linux/generic/patches-3.13/132-mips_inline_dma_ops.patch b/target/linux/generic/patches-3.13/132-mips_inline_dma_ops.patch
index 53cbbb2455..a42a049d86 100644
--- a/target/linux/generic/patches-3.13/132-mips_inline_dma_ops.patch
+++ b/target/linux/generic/patches-3.13/132-mips_inline_dma_ops.patch
@@ -1,6 +1,33 @@
+From 2c58080407554e1bac8fd50d23cb02420524caed Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Mon, 12 Aug 2013 12:50:22 +0200
+Subject: [PATCH] MIPS: partially inline dma ops
+
+Several DMA ops are no-op on many platforms, and the indirection through
+the mips_dma_map_ops function table is causing the compiler to emit
+unnecessary code.
+
+Inlining visibly improves network performance in my tests (on a 24Kc
+based system), and also slightly reduces code size of a few drivers.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+ arch/mips/Kconfig                   |   4 +
+ arch/mips/include/asm/dma-mapping.h | 360 +++++++++++++++++++++++++++++++++++-
+ arch/mips/mm/dma-default.c          | 163 ++--------------
+ 3 files changed, 373 insertions(+), 154 deletions(-)
+
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1377,6 +1377,7 @@ config CPU_CAVIUM_OCTEON
+@@ -1145,6 +1145,7 @@ config CPU_LOONGSON2F
+ 	depends on SYS_HAS_CPU_LOONGSON2F
+ 	select CPU_LOONGSON2
+ 	select ARCH_REQUIRE_GPIOLIB
++	select SYS_HAS_DMA_OPS
+ 	help
+ 	  The Loongson 2F processor implements the MIPS III instruction set
+ 	  with many extensions.
+@@ -1377,6 +1378,7 @@ config CPU_CAVIUM_OCTEON
  	select LIBFDT
  	select USE_OF
  	select USB_EHCI_BIG_ENDIAN_MMIO
@@ -8,7 +35,7 @@
  	help
  	  The Cavium Octeon processor is a highly integrated chip containing
  	  many ethernet hardware widgets for networking tasks. The processor
-@@ -1599,6 +1600,9 @@ config SYS_HAS_CPU_XLR
+@@ -1599,6 +1601,9 @@ config SYS_HAS_CPU_XLR
  config SYS_HAS_CPU_XLP
  	bool
  
diff --git a/target/linux/generic/patches-3.13/300-mips_expose_boot_raw.patch b/target/linux/generic/patches-3.13/300-mips_expose_boot_raw.patch
index d80fdee72d..3383bf87d0 100644
--- a/target/linux/generic/patches-3.13/300-mips_expose_boot_raw.patch
+++ b/target/linux/generic/patches-3.13/300-mips_expose_boot_raw.patch
@@ -18,7 +18,7 @@ Acked-by: Rob Landley <rob@landley.net>
  config CEVT_BCM1480
  	bool
  
-@@ -2349,6 +2346,18 @@ config USE_OF
+@@ -2350,6 +2347,18 @@ config USE_OF
  	select OF_EARLY_FLATTREE
  	select IRQ_DOMAIN
  
diff --git a/target/linux/generic/patches-3.14/063-mips_decompressor_memmove.patch b/target/linux/generic/patches-3.14/063-mips_decompressor_memmove.patch
index 501e11ab47..d215b80ab2 100644
--- a/target/linux/generic/patches-3.14/063-mips_decompressor_memmove.patch
+++ b/target/linux/generic/patches-3.14/063-mips_decompressor_memmove.patch
@@ -1,8 +1,6 @@
-Index: linux-3.14.16/arch/mips/boot/compressed/string.c
-===================================================================
---- linux-3.14.16.orig/arch/mips/boot/compressed/string.c	2014-08-07 16:50:59.000000000 -0700
-+++ linux-3.14.16/arch/mips/boot/compressed/string.c	2014-10-23 16:42:01.015003995 -0700
-@@ -26,3 +26,19 @@
+--- a/arch/mips/boot/compressed/string.c
++++ b/arch/mips/boot/compressed/string.c
+@@ -26,3 +26,19 @@ void *memset(void *s, int c, size_t n)
  		ss[i] = c;
  	return s;
  }
diff --git a/target/linux/generic/patches-3.14/132-mips_inline_dma_ops.patch b/target/linux/generic/patches-3.14/132-mips_inline_dma_ops.patch
index 0259214bb3..e43de025e6 100644
--- a/target/linux/generic/patches-3.14/132-mips_inline_dma_ops.patch
+++ b/target/linux/generic/patches-3.14/132-mips_inline_dma_ops.patch
@@ -1,3 +1,22 @@
+From 2c58080407554e1bac8fd50d23cb02420524caed Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Mon, 12 Aug 2013 12:50:22 +0200
+Subject: [PATCH] MIPS: partially inline dma ops
+
+Several DMA ops are no-op on many platforms, and the indirection through
+the mips_dma_map_ops function table is causing the compiler to emit
+unnecessary code.
+
+Inlining visibly improves network performance in my tests (on a 24Kc
+based system), and also slightly reduces code size of a few drivers.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+ arch/mips/Kconfig                   |   4 +
+ arch/mips/include/asm/dma-mapping.h | 360 +++++++++++++++++++++++++++++++++++-
+ arch/mips/mm/dma-default.c          | 163 ++--------------
+ 3 files changed, 373 insertions(+), 154 deletions(-)
+
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
 @@ -1620,6 +1620,9 @@ config SYS_HAS_CPU_XLR
diff --git a/target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch b/target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch
index 577f566d08..c13e191cf7 100644
--- a/target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch
+++ b/target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch
@@ -1,6 +1,33 @@
+From 2c58080407554e1bac8fd50d23cb02420524caed Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Mon, 12 Aug 2013 12:50:22 +0200
+Subject: [PATCH] MIPS: partially inline dma ops
+
+Several DMA ops are no-op on many platforms, and the indirection through
+the mips_dma_map_ops function table is causing the compiler to emit
+unnecessary code.
+
+Inlining visibly improves network performance in my tests (on a 24Kc
+based system), and also slightly reduces code size of a few drivers.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+ arch/mips/Kconfig                   |   4 +
+ arch/mips/include/asm/dma-mapping.h | 360 +++++++++++++++++++++++++++++++++++-
+ arch/mips/mm/dma-default.c          | 163 ++--------------
+ 3 files changed, 373 insertions(+), 154 deletions(-)
+
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1705,6 +1705,9 @@ config MIPS_MALTA_PM
+@@ -1450,6 +1450,7 @@ config CPU_CAVIUM_OCTEON
+ 	select CPU_SUPPORTS_HUGEPAGES
+ 	select USB_EHCI_BIG_ENDIAN_MMIO
+ 	select MIPS_L1_CACHE_SHIFT_7
++	select SYS_HAS_DMA_OPS
+ 	help
+ 	  The Cavium Octeon processor is a highly integrated chip containing
+ 	  many ethernet hardware widgets for networking tasks. The processor
+@@ -1705,6 +1706,9 @@ config MIPS_MALTA_PM
  	bool
  	default y
  
diff --git a/target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch b/target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch
index 8ea08e7791..6f0879a789 100644
--- a/target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch
+++ b/target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch
@@ -18,7 +18,7 @@ Acked-by: Rob Landley <rob@landley.net>
  config CEVT_BCM1480
  	bool
  
-@@ -2492,6 +2489,18 @@ config USE_OF
+@@ -2493,6 +2490,18 @@ config USE_OF
  config BUILTIN_DTB
  	bool
  
diff --git a/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch b/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch
index 980eaf0b7e..e3fadb9242 100644
--- a/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch
+++ b/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch
@@ -26,7 +26,7 @@ v2: incorporated changes suggested by Jonas Gorski
 
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -2484,6 +2484,20 @@ config MIPS_O32_FP64_SUPPORT
+@@ -2485,6 +2485,20 @@ config MIPS_O32_FP64_SUPPORT
  
  	  If unsure, say N.
  
-- 
2.30.2