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
lede-17.01
Hauke Mehrtens 2014-10-31 23:32:22 +00:00
parent b63cfc9530
commit 5e3d188e89
7 changed files with 82 additions and 11 deletions

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.