summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2014-10-31 23:32:22 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2014-10-31 23:32:22 +0000
commit5e3d188e89d719c8949f4f16321d82cc63ca8529 (patch)
tree4303736a67e1acfb1a51dd626636f44b09955ea0 /target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch
parentb63cfc95302367d4900d68364fcf66c4074ab112 (diff)
downloadmaster-31e0f0ae-5e3d188e89d719c8949f4f16321d82cc63ca8529.tar.gz
master-31e0f0ae-5e3d188e89d719c8949f4f16321d82cc63ca8529.tar.bz2
master-31e0f0ae-5e3d188e89d719c8949f4f16321d82cc63ca8529.zip
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
Diffstat (limited to 'target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch')
-rw-r--r--target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch29
1 files changed, 28 insertions, 1 deletions
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