From 82d609ae25d3a873b3b5541e6824cc8cf77e7c29 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens 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 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 +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 +--- + 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 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 +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 +--- + 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 +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 +--- + 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 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 c710bfc64a..4712615ff9 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