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