summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.14/132-mips_inline_dma_ops.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.14/132-mips_inline_dma_ops.patch')
-rw-r--r--target/linux/generic/patches-3.14/132-mips_inline_dma_ops.patch19
1 files changed, 19 insertions, 0 deletions
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