aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-02-07 17:32:51 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-02-07 17:32:51 -0800
commit2bb48629d8d7e3b0f1d2065f6b3ddda667b7bf7d (patch)
treefd4770418a3aae8d438ba7a25294fd94ed46a3c8
parentf56dadc96c6e1693e2fbd0212872534f7229eb56 (diff)
downloadltsi-kernel-2bb48629d8d7e3b0f1d2065f6b3ddda667b7bf7d.tar.gz
Update to 3.4.29
-rw-r--r--patches.at91/0039-ARM-at91-Add-machine-files-for-AT91SAM9N12-SoC.patch36
-rw-r--r--patches.at91/0212-ARM-at91-add-dummies-pinctrl-for-non-dt-platform.patch9
-rw-r--r--patches.at91/0214-arm-at91-dt-at91sam9-add-pinctrl-support.patch79
-rw-r--r--patches.dma-mapping/arm-dma-mapping-add-support-for-iommu-mapper.patch32
-rw-r--r--patches.dma-mapping/arm-dma-mapping-fix-buffer-chunk-allocation-order.patch9
-rw-r--r--patches.dma-mapping/arm-dma-mapping-fix-error-path-for-memory-allocation-failure.patch9
-rw-r--r--patches.dma-mapping/arm-dma-mapping-implement-dma-sg-methods-on-top-of-any-generic-dma-ops.patch19
-rw-r--r--patches.dma-mapping/arm-dma-mapping-modify-condition-check-while-freeing-pages.patch11
-rw-r--r--patches.dma-mapping/arm-dma-mapping-move-all-dma-bounce-code-to-separate-dma-ops-structure.patch50
-rw-r--r--patches.dma-mapping/arm-dma-mapping-remove-custom-consistent-dma-region.patch12
-rw-r--r--patches.dma-mapping/arm-dma-mapping-remove-offset-parameter-to-prepare-for-generic-dma_ops.patch31
-rw-r--r--patches.dma-mapping/arm-dma-mapping-remove-redundant-code-and-do-the-cleanup.patch17
-rw-r--r--patches.dma-mapping/arm-dma-mapping-use-asm-generic-dma-mapping-common.h.patch41
-rw-r--r--patches.dma-mapping/mm-compaction-export-some-of-the-functions.patch33
-rw-r--r--patches.dma-mapping/x86-integrate-cma-with-dma-mapping-subsystem.patch2
-rw-r--r--patches.ltsi/ltsi-makefile-addition.patch2
16 files changed, 132 insertions, 260 deletions
diff --git a/patches.at91/0039-ARM-at91-Add-machine-files-for-AT91SAM9N12-SoC.patch b/patches.at91/0039-ARM-at91-Add-machine-files-for-AT91SAM9N12-SoC.patch
index e4743efb17c71f..17392b099cc081 100644
--- a/patches.at91/0039-ARM-at91-Add-machine-files-for-AT91SAM9N12-SoC.patch
+++ b/patches.at91/0039-ARM-at91-Add-machine-files-for-AT91SAM9N12-SoC.patch
@@ -9,17 +9,15 @@ Signed-off-by: Hong Xu <hong.xu@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
- arch/arm/mach-at91/Kconfig | 8 ++
- arch/arm/mach-at91/Makefile | 1 +
- arch/arm/mach-at91/Makefile.boot | 2 +
- arch/arm/mach-at91/at91sam9n12.c | 233 +++++++++++++++++++++++++++++++++++++++
- arch/arm/mach-at91/clock.c | 15 ++-
- arch/arm/mach-at91/setup.c | 6 +
+ arch/arm/mach-at91/Kconfig | 8 +
+ arch/arm/mach-at91/Makefile | 1
+ arch/arm/mach-at91/Makefile.boot | 2
+ arch/arm/mach-at91/at91sam9n12.c | 233 +++++++++++++++++++++++++++++++++++++++
+ arch/arm/mach-at91/clock.c | 15 +-
+ arch/arm/mach-at91/setup.c | 6 +
6 files changed, 260 insertions(+), 5 deletions(-)
create mode 100644 arch/arm/mach-at91/at91sam9n12.c
-diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
-index 98a42f3..19505c0 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -91,6 +91,14 @@ config SOC_AT91SAM9X5
@@ -37,11 +35,9 @@ index 98a42f3..19505c0 100644
choice
prompt "Atmel AT91 Processor Devices for non DT boards"
-diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
-index 79d0f60..3bb7a51 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
-@@ -18,6 +18,7 @@ obj-$(CONFIG_SOC_AT91SAM9260) += at91sam9260.o
+@@ -18,6 +18,7 @@ obj-$(CONFIG_SOC_AT91SAM9260) += at91sam
obj-$(CONFIG_SOC_AT91SAM9261) += at91sam9261.o
obj-$(CONFIG_SOC_AT91SAM9263) += at91sam9263.o
obj-$(CONFIG_SOC_AT91SAM9G45) += at91sam9g45.o
@@ -49,11 +45,9 @@ index 79d0f60..3bb7a51 100644
obj-$(CONFIG_SOC_AT91SAM9X5) += at91sam9x5.o
obj-$(CONFIG_SOC_AT91SAM9RL) += at91sam9rl.o
-diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot
-index c03417d..9e84fe4 100644
--- a/arch/arm/mach-at91/Makefile.boot
+++ b/arch/arm/mach-at91/Makefile.boot
-@@ -30,5 +30,7 @@ dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g20.dtb
+@@ -30,5 +30,7 @@ dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g
dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb
# sam9g45
dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb
@@ -61,9 +55,6 @@ index c03417d..9e84fe4 100644
+dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9n12ek.dtb
# sam9x5
dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g25ek.dtb
-diff --git a/arch/arm/mach-at91/at91sam9n12.c b/arch/arm/mach-at91/at91sam9n12.c
-new file mode 100644
-index 0000000..0849466
--- /dev/null
+++ b/arch/arm/mach-at91/at91sam9n12.c
@@ -0,0 +1,233 @@
@@ -300,8 +291,6 @@ index 0000000..0849466
+ .register_clocks = at91sam9n12_register_clocks,
+ .init = at91sam9n12_initialize,
+};
-diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c
-index 6b69282..de2ec6b 100644
--- a/arch/arm/mach-at91/clock.c
+++ b/arch/arm/mach-at91/clock.c
@@ -58,13 +58,15 @@ EXPORT_SYMBOL_GPL(at91_pmc_base);
@@ -341,11 +330,9 @@ index 6b69282..de2ec6b 100644
static LIST_HEAD(clocks);
static DEFINE_SPINLOCK(clk_lock);
-diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
-index f44a2e7..944bffb 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
-@@ -143,6 +143,11 @@ static void __init soc_detect(u32 dbgu_base)
+@@ -145,6 +145,11 @@ static void __init soc_detect(u32 dbgu_b
at91_soc_initdata.type = AT91_SOC_SAM9X5;
at91_boot_soc = at91sam9x5_soc;
break;
@@ -357,7 +344,7 @@ index f44a2e7..944bffb 100644
}
/* at91sam9g10 */
-@@ -210,6 +215,7 @@ static const char *soc_name[] = {
+@@ -212,6 +217,7 @@ static const char *soc_name[] = {
[AT91_SOC_SAM9G45] = "at91sam9g45",
[AT91_SOC_SAM9RL] = "at91sam9rl",
[AT91_SOC_SAM9X5] = "at91sam9x5",
@@ -365,6 +352,3 @@ index f44a2e7..944bffb 100644
[AT91_SOC_NONE] = "Unknown"
};
---
-1.8.0.197.g5a90748
-
diff --git a/patches.at91/0212-ARM-at91-add-dummies-pinctrl-for-non-dt-platform.patch b/patches.at91/0212-ARM-at91-add-dummies-pinctrl-for-non-dt-platform.patch
index 5a907ec2191075..bcaf461a6dab78 100644
--- a/patches.at91/0212-ARM-at91-add-dummies-pinctrl-for-non-dt-platform.patch
+++ b/patches.at91/0212-ARM-at91-add-dummies-pinctrl-for-non-dt-platform.patch
@@ -7,11 +7,9 @@ Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
- arch/arm/mach-at91/setup.c | 3 +++
+ arch/arm/mach-at91/setup.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
-index 944bffb..50c69b5 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -10,6 +10,7 @@
@@ -22,13 +20,10 @@ index 944bffb..50c69b5 100644
#include <asm/system_misc.h>
#include <asm/mach/map.h>
-@@ -463,4 +464,6 @@ void __init at91_initialize(unsigned long main_clock)
+@@ -465,4 +466,6 @@ void __init at91_initialize(unsigned lon
at91_boot_soc.register_clocks();
at91_boot_soc.init();
+
+ pinctrl_provide_dummies();
}
---
-1.8.0.197.g5a90748
-
diff --git a/patches.at91/0214-arm-at91-dt-at91sam9-add-pinctrl-support.patch b/patches.at91/0214-arm-at91-dt-at91sam9-add-pinctrl-support.patch
index f10774a942788b..ddfbd9e4af67e4 100644
--- a/patches.at91/0214-arm-at91-dt-at91sam9-add-pinctrl-support.patch
+++ b/patches.at91/0214-arm-at91-dt-at91sam9-add-pinctrl-support.patch
@@ -11,27 +11,25 @@ Conflicts:
arch/arm/mach-at91/at91sam9n12.c
arch/arm/mach-at91/at91sam9x5.c
---
- .../bindings/pinctrl/atmel,at91-pinctrl.txt | 68 +++++++++++++++++++---
- arch/arm/boot/dts/at91sam9260.dtsi | 9 +++
- arch/arm/boot/dts/at91sam9263.dtsi | 12 ++++
- arch/arm/boot/dts/at91sam9g45.dtsi | 11 ++++
- arch/arm/boot/dts/at91sam9n12.dtsi | 12 +++-
- arch/arm/boot/dts/at91sam9x5.dtsi | 12 +++-
- arch/arm/configs/at91_dt_defconfig | 1 +
- arch/arm/mach-at91/at91sam9260.c | 3 +
- arch/arm/mach-at91/at91sam9263.c | 5 ++
- arch/arm/mach-at91/at91sam9g45.c | 6 ++
- arch/arm/mach-at91/at91sam9n12.c | 11 ++--
- arch/arm/mach-at91/at91sam9x5.c | 18 ++----
- arch/arm/mach-at91/setup.c | 3 +-
- drivers/pinctrl/pinctrl-at91.c | 2 +-
+ Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt | 68 ++++++++--
+ arch/arm/boot/dts/at91sam9260.dtsi | 9 +
+ arch/arm/boot/dts/at91sam9263.dtsi | 12 +
+ arch/arm/boot/dts/at91sam9g45.dtsi | 11 +
+ arch/arm/boot/dts/at91sam9n12.dtsi | 12 +
+ arch/arm/boot/dts/at91sam9x5.dtsi | 12 +
+ arch/arm/configs/at91_dt_defconfig | 1
+ arch/arm/mach-at91/at91sam9260.c | 3
+ arch/arm/mach-at91/at91sam9263.c | 5
+ arch/arm/mach-at91/at91sam9g45.c | 6
+ arch/arm/mach-at91/at91sam9n12.c | 11 -
+ arch/arm/mach-at91/at91sam9x5.c | 18 --
+ arch/arm/mach-at91/setup.c | 3
+ drivers/pinctrl/pinctrl-at91.c | 2
14 files changed, 140 insertions(+), 33 deletions(-)
-diff --git a/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
-index 0296ef4..20a987e 100644
--- a/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
-@@ -22,6 +22,62 @@ Required properties for iomux controller:
+@@ -22,6 +22,62 @@ Required properties for iomux controller
- atmel,mux-mask: array of mask (periph per bank) to describe if a pin can be
configured in this periph mode. All the periph and bank need to be describe.
@@ -117,8 +115,6 @@ index 0296ef4..20a987e 100644
Examples:
-diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
-index e50261d..3654ace 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -104,6 +104,15 @@
@@ -137,8 +133,6 @@ index e50261d..3654ace 100644
pioA: gpio@fffff400 {
compatible = "atmel,at91rm9200-gpio";
reg = <0xfffff400 0x200>;
-diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
-index 45e5363..d7f416d 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -95,6 +95,17 @@
@@ -167,8 +161,6 @@ index 45e5363..d7f416d 100644
};
dbgu: serial@ffffee00 {
-diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
-index 59a21c1..e2fa457 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -115,6 +115,17 @@
@@ -189,8 +181,6 @@ index 59a21c1..e2fa457 100644
pioA: gpio@fffff200 {
compatible = "atmel,at91rm9200-gpio";
reg = <0xfffff200 0x200>;
-diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
-index 135ecef..fc451f9 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -115,9 +115,19 @@
@@ -214,8 +204,6 @@ index 135ecef..fc451f9 100644
pioA: gpio@fffff400 {
compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
reg = <0xfffff400 0x200>;
-diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
-index 4e61a5d..84baa90 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -116,9 +116,19 @@
@@ -239,8 +227,6 @@ index 4e61a5d..84baa90 100644
pioA: gpio@fffff400 {
compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
reg = <0xfffff400 0x200>;
-diff --git a/arch/arm/configs/at91_dt_defconfig b/arch/arm/configs/at91_dt_defconfig
-index 67bc571..b175577 100644
--- a/arch/arm/configs/at91_dt_defconfig
+++ b/arch/arm/configs/at91_dt_defconfig
@@ -111,6 +111,7 @@ CONFIG_I2C=y
@@ -251,11 +237,9 @@ index 67bc571..b175577 100644
# CONFIG_HWMON is not set
CONFIG_WATCHDOG=y
CONFIG_AT91SAM9X_WATCHDOG=y
-diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c
-index bb9bc50..23a8cfb 100644
--- a/arch/arm/mach-at91/at91sam9260.c
+++ b/arch/arm/mach-at91/at91sam9260.c
-@@ -228,6 +228,9 @@ static struct clk_lookup periph_clocks_lookups[] = {
+@@ -228,6 +228,9 @@ static struct clk_lookup periph_clocks_l
CLKDEV_CON_ID("pioA", &pioA_clk),
CLKDEV_CON_ID("pioB", &pioB_clk),
CLKDEV_CON_ID("pioC", &pioC_clk),
@@ -265,11 +249,9 @@ index bb9bc50..23a8cfb 100644
};
static struct clk_lookup usart_clocks_lookups[] = {
-diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c
-index 76499a6..7639f6b 100644
--- a/arch/arm/mach-at91/at91sam9263.c
+++ b/arch/arm/mach-at91/at91sam9263.c
-@@ -214,6 +214,11 @@ static struct clk_lookup periph_clocks_lookups[] = {
+@@ -214,6 +214,11 @@ static struct clk_lookup periph_clocks_l
CLKDEV_CON_DEV_ID("mci_clk", "fff80000.mmc", &mmc0_clk),
CLKDEV_CON_DEV_ID("mci_clk", "fff84000.mmc", &mmc1_clk),
CLKDEV_CON_DEV_ID(NULL, "fff88000.i2c", &twi_clk),
@@ -281,11 +263,9 @@ index 76499a6..7639f6b 100644
};
static struct clk_lookup usart_clocks_lookups[] = {
-diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c
-index 5e7a1dd..2575bbf 100644
--- a/arch/arm/mach-at91/at91sam9g45.c
+++ b/arch/arm/mach-at91/at91sam9g45.c
-@@ -258,6 +258,12 @@ static struct clk_lookup periph_clocks_lookups[] = {
+@@ -258,6 +258,12 @@ static struct clk_lookup periph_clocks_l
CLKDEV_CON_DEV_ID("sha_clk", "fffc8000.sha", &aestdessha_clk),
/* fake hclk clock */
CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &uhphs_clk),
@@ -298,11 +278,9 @@ index 5e7a1dd..2575bbf 100644
CLKDEV_CON_ID("pioA", &pioA_clk),
CLKDEV_CON_ID("pioB", &pioB_clk),
CLKDEV_CON_ID("pioC", &pioC_clk),
-diff --git a/arch/arm/mach-at91/at91sam9n12.c b/arch/arm/mach-at91/at91sam9n12.c
-index 6fa0df1..f313142 100644
--- a/arch/arm/mach-at91/at91sam9n12.c
+++ b/arch/arm/mach-at91/at91sam9n12.c
-@@ -186,12 +186,12 @@ static struct clk_lookup periph_clocks_lookups[] = {
+@@ -186,12 +186,12 @@ static struct clk_lookup periph_clocks_l
CLKDEV_CON_DEV_ID("dma_clk", "ffffec00.dma-controller", &dma_clk),
CLKDEV_CON_DEV_ID(NULL, "f8010000.i2c", &twi0_clk),
CLKDEV_CON_DEV_ID(NULL, "f8014000.i2c", &twi1_clk),
@@ -319,7 +297,7 @@ index 6fa0df1..f313142 100644
/* additional fake clock for macb_hclk */
CLKDEV_CON_DEV_ID("hclk", "500000.ohci", &uhp_clk),
CLKDEV_CON_DEV_ID("ohci_clk", "500000.ohci", &uhp_clk),
-@@ -241,9 +241,6 @@ static void __init at91sam9n12_map_io(void)
+@@ -241,9 +241,6 @@ static void __init at91sam9n12_map_io(vo
void __init at91sam9n12_initialize(void)
{
at91_extern_irq = (1 << AT91SAM9N12_ID_IRQ0);
@@ -329,11 +307,9 @@ index 6fa0df1..f313142 100644
}
AT91_SOC_START(sam9n12)
-diff --git a/arch/arm/mach-at91/at91sam9x5.c b/arch/arm/mach-at91/at91sam9x5.c
-index af00de4..2870367 100644
--- a/arch/arm/mach-at91/at91sam9x5.c
+++ b/arch/arm/mach-at91/at91sam9x5.c
-@@ -227,16 +227,13 @@ static struct clk_lookup periph_clocks_lookups[] = {
+@@ -227,16 +227,13 @@ static struct clk_lookup periph_clocks_l
CLKDEV_CON_DEV_ID("dma_clk", "ffffee00.dma-controller", &dma1_clk),
CLKDEV_CON_DEV_ID("mci_clk", "f0008000.mmc", &mmc0_clk),
CLKDEV_CON_DEV_ID("mci_clk", "f000c000.mmc", &mmc1_clk),
@@ -354,7 +330,7 @@ index af00de4..2870367 100644
/* additional fake clock for macb_hclk */
CLKDEV_CON_DEV_ID("hclk", "f802c000.ethernet", &macb0_clk),
CLKDEV_CON_DEV_ID("hclk", "f8030000.ethernet", &macb1_clk),
-@@ -313,12 +310,6 @@ static void __init at91sam9x5_map_io(void)
+@@ -313,12 +310,6 @@ static void __init at91sam9x5_map_io(voi
init_consistent_dma_size(SZ_8M);
}
@@ -373,11 +349,9 @@ index af00de4..2870367 100644
.register_clocks = at91sam9x5_register_clocks,
- .init = at91sam9x5_initialize,
AT91_SOC_END
-diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
-index 50c69b5..fcb66ea 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
-@@ -449,7 +449,8 @@ void __init at91_dt_initialize(void)
+@@ -451,7 +451,8 @@ void __init at91_dt_initialize(void)
/* Register the processor-specific clocks */
at91_boot_soc.register_clocks();
@@ -387,11 +361,9 @@ index 50c69b5..fcb66ea 100644
}
#endif
-diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
-index e4712d1..9c0fe11 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
-@@ -749,7 +749,7 @@ static int __devinit at91_pinctrl_parse_groups(struct device_node *np,
+@@ -749,7 +749,7 @@ static int __devinit at91_pinctrl_parse_
grp->name = np->name;
/*
@@ -400,6 +372,3 @@ index e4712d1..9c0fe11 100644
* do sanity check and calculate pins number
*/
list = of_get_property(np, "atmel,pins", &size);
---
-1.8.0.197.g5a90748
-
diff --git a/patches.dma-mapping/arm-dma-mapping-add-support-for-iommu-mapper.patch b/patches.dma-mapping/arm-dma-mapping-add-support-for-iommu-mapper.patch
index 04f0cc75bbabb9..20cf54972f6414 100644
--- a/patches.dma-mapping/arm-dma-mapping-add-support-for-iommu-mapper.patch
+++ b/patches.dma-mapping/arm-dma-mapping-add-support-for-iommu-mapper.patch
@@ -57,16 +57,14 @@ Conflicts:
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
- arch/arm/Kconfig | 8 +
- arch/arm/include/asm/device.h | 3 +
- arch/arm/include/asm/dma-iommu.h | 34 ++
- arch/arm/mm/dma-mapping.c | 694 +++++++++++++++++++++++++++++++++++++-
- arch/arm/mm/vmregion.h | 2 +-
+ arch/arm/Kconfig | 8
+ arch/arm/include/asm/device.h | 3
+ arch/arm/include/asm/dma-iommu.h | 34 +
+ arch/arm/mm/dma-mapping.c | 694 ++++++++++++++++++++++++++++++++++++++-
+ arch/arm/mm/vmregion.h | 2
5 files changed, 736 insertions(+), 5 deletions(-)
create mode 100644 arch/arm/include/asm/dma-iommu.h
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 9bc6663..c7a542c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -48,6 +48,14 @@ config ARM
@@ -84,8 +82,6 @@ index 9bc6663..c7a542c 100644
config HAVE_PWM
bool
-diff --git a/arch/arm/include/asm/device.h b/arch/arm/include/asm/device.h
-index 6e2cb0e..b69c0d3 100644
--- a/arch/arm/include/asm/device.h
+++ b/arch/arm/include/asm/device.h
@@ -14,6 +14,9 @@ struct dev_archdata {
@@ -98,9 +94,6 @@ index 6e2cb0e..b69c0d3 100644
};
struct omap_device;
-diff --git a/arch/arm/include/asm/dma-iommu.h b/arch/arm/include/asm/dma-iommu.h
-new file mode 100644
-index 0000000..799b094
--- /dev/null
+++ b/arch/arm/include/asm/dma-iommu.h
@@ -0,0 +1,34 @@
@@ -138,8 +131,6 @@ index 0000000..799b094
+
+#endif /* __KERNEL__ */
+#endif
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index ee4cb48..ea6b431 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -21,6 +21,8 @@
@@ -159,7 +150,7 @@ index ee4cb48..ea6b431 100644
#include <asm/mach/map.h>
#include <asm/system_info.h>
#include <asm/dma-contiguous.h>
-@@ -168,9 +171,11 @@ static void __dma_clear_buffer(struct page *page, size_t size)
+@@ -168,9 +171,11 @@ static void __dma_clear_buffer(struct pa
* lurking in the kernel direct-mapped region is invalidated.
*/
ptr = page_address(page);
@@ -185,7 +176,7 @@ index ee4cb48..ea6b431 100644
consistent_pte = kmalloc(num_ptes * sizeof(pte_t), GFP_KERNEL);
if (!consistent_pte) {
-@@ -437,7 +444,7 @@ __dma_alloc_remap(struct page *page, size_t size, gfp_t gfp, pgprot_t prot,
+@@ -437,7 +444,7 @@ __dma_alloc_remap(struct page *page, siz
u32 off = CONSISTENT_OFFSET(c->vm_start) & (PTRS_PER_PTE-1);
pte = consistent_pte[idx] + off;
@@ -194,7 +185,7 @@ index ee4cb48..ea6b431 100644
do {
BUG_ON(!pte_none(*pte));
-@@ -889,6 +896,9 @@ int arm_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
+@@ -891,6 +898,9 @@ int arm_dma_map_sg(struct device *dev, s
int i, j;
for_each_sg(sg, s, nents, i) {
@@ -204,7 +195,7 @@ index ee4cb48..ea6b431 100644
s->dma_address = ops->map_page(dev, sg_page(s), s->offset,
s->length, dir, attrs);
if (dma_mapping_error(dev, s->dma_address))
-@@ -997,3 +1007,679 @@ static int __init dma_debug_do_init(void)
+@@ -999,3 +1009,679 @@ static int __init dma_debug_do_init(void
return 0;
}
fs_initcall(dma_debug_do_init);
@@ -884,8 +875,6 @@ index ee4cb48..ea6b431 100644
+}
+
+#endif
-diff --git a/arch/arm/mm/vmregion.h b/arch/arm/mm/vmregion.h
-index 162be66..bf312c3 100644
--- a/arch/arm/mm/vmregion.h
+++ b/arch/arm/mm/vmregion.h
@@ -17,7 +17,7 @@ struct arm_vmregion {
@@ -897,6 +886,3 @@ index 162be66..bf312c3 100644
int vm_active;
const void *caller;
};
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/arm-dma-mapping-fix-buffer-chunk-allocation-order.patch b/patches.dma-mapping/arm-dma-mapping-fix-buffer-chunk-allocation-order.patch
index 1f16839816c48e..5b9cfdcbb2c4bb 100644
--- a/patches.dma-mapping/arm-dma-mapping-fix-buffer-chunk-allocation-order.patch
+++ b/patches.dma-mapping/arm-dma-mapping-fix-buffer-chunk-allocation-order.patch
@@ -29,13 +29,11 @@ Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
---
arch/arm/mm/dma-mapping.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ 1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index caf2f3d..1ce34ba 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
-@@ -940,7 +940,7 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size, gfp_t
+@@ -942,7 +942,7 @@ static struct page **__iommu_alloc_buffe
return NULL;
while (count) {
@@ -44,6 +42,3 @@ index caf2f3d..1ce34ba 100644
pages[i] = alloc_pages(gfp | __GFP_NOWARN, order);
while (!pages[i] && order)
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/arm-dma-mapping-fix-error-path-for-memory-allocation-failure.patch b/patches.dma-mapping/arm-dma-mapping-fix-error-path-for-memory-allocation-failure.patch
index 97fec16f8a7464..594e664b3abce1 100644
--- a/patches.dma-mapping/arm-dma-mapping-fix-error-path-for-memory-allocation-failure.patch
+++ b/patches.dma-mapping/arm-dma-mapping-fix-error-path-for-memory-allocation-failure.patch
@@ -20,13 +20,11 @@ Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
---
arch/arm/mm/dma-mapping.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
+ 1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index 6a94d17..caf2f3d 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
-@@ -961,7 +961,7 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size, gfp_t
+@@ -963,7 +963,7 @@ static struct page **__iommu_alloc_buffe
return pages;
error:
@@ -35,6 +33,3 @@ index 6a94d17..caf2f3d 100644
if (pages[i])
__free_pages(pages[i], 0);
if (array_size <= PAGE_SIZE)
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/arm-dma-mapping-implement-dma-sg-methods-on-top-of-any-generic-dma-ops.patch b/patches.dma-mapping/arm-dma-mapping-implement-dma-sg-methods-on-top-of-any-generic-dma-ops.patch
index bf649730b2c4eb..94555e7401ebc0 100644
--- a/patches.dma-mapping/arm-dma-mapping-implement-dma-sg-methods-on-top-of-any-generic-dma-ops.patch
+++ b/patches.dma-mapping/arm-dma-mapping-implement-dma-sg-methods-on-top-of-any-generic-dma-ops.patch
@@ -33,13 +33,11 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
arch/arm/mm/dma-mapping.c | 43 +++++++++++++++++++------------------------
- 1 files changed, 19 insertions(+), 24 deletions(-)
+ 1 file changed, 19 insertions(+), 24 deletions(-)
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index 4a1f336..5b2b652 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
-@@ -858,7 +858,7 @@ void ___dma_page_dev_to_cpu(struct page *page, unsigned long off,
+@@ -860,7 +860,7 @@ void ___dma_page_dev_to_cpu(struct page
EXPORT_SYMBOL(___dma_page_dev_to_cpu);
/**
@@ -48,7 +46,7 @@ index 4a1f336..5b2b652 100644
* @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
* @sg: list of buffers
* @nents: number of buffers to map
-@@ -876,12 +876,13 @@ EXPORT_SYMBOL(___dma_page_dev_to_cpu);
+@@ -878,12 +878,13 @@ EXPORT_SYMBOL(___dma_page_dev_to_cpu);
int arm_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
enum dma_data_direction dir, struct dma_attrs *attrs)
{
@@ -64,7 +62,7 @@ index 4a1f336..5b2b652 100644
if (dma_mapping_error(dev, s->dma_address))
goto bad_mapping;
}
-@@ -889,12 +890,12 @@ int arm_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
+@@ -891,12 +892,12 @@ int arm_dma_map_sg(struct device *dev, s
bad_mapping:
for_each_sg(sg, s, i, j)
@@ -79,7 +77,7 @@ index 4a1f336..5b2b652 100644
* @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
* @sg: list of buffers
* @nents: number of buffers to unmap (same as was passed to dma_map_sg)
-@@ -906,15 +907,17 @@ int arm_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
+@@ -908,15 +909,17 @@ int arm_dma_map_sg(struct device *dev, s
void arm_dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
enum dma_data_direction dir, struct dma_attrs *attrs)
{
@@ -99,7 +97,7 @@ index 4a1f336..5b2b652 100644
* @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
* @sg: list of buffers
* @nents: number of buffers to map (returned from dma_map_sg)
-@@ -923,21 +926,17 @@ void arm_dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
+@@ -925,21 +928,17 @@ void arm_dma_unmap_sg(struct device *dev
void arm_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
int nents, enum dma_data_direction dir)
{
@@ -126,7 +124,7 @@ index 4a1f336..5b2b652 100644
* @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
* @sg: list of buffers
* @nents: number of buffers to map (returned from dma_map_sg)
-@@ -946,17 +945,13 @@ void arm_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
+@@ -948,17 +947,13 @@ void arm_dma_sync_sg_for_cpu(struct devi
void arm_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
int nents, enum dma_data_direction dir)
{
@@ -148,6 +146,3 @@ index 4a1f336..5b2b652 100644
}
/*
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/arm-dma-mapping-modify-condition-check-while-freeing-pages.patch b/patches.dma-mapping/arm-dma-mapping-modify-condition-check-while-freeing-pages.patch
index 62a2fd77b44ddb..8efd2fbefaabce 100644
--- a/patches.dma-mapping/arm-dma-mapping-modify-condition-check-while-freeing-pages.patch
+++ b/patches.dma-mapping/arm-dma-mapping-modify-condition-check-while-freeing-pages.patch
@@ -43,13 +43,11 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
arch/arm/mm/dma-mapping.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
+ 1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index d766e42..6f85d3d 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
-@@ -1091,7 +1091,7 @@ error:
+@@ -1093,7 +1093,7 @@ error:
while (--i)
if (pages[i])
__free_pages(pages[i], 0);
@@ -58,7 +56,7 @@ index d766e42..6f85d3d 100644
kfree(pages);
else
vfree(pages);
-@@ -1106,7 +1106,7 @@ static int __iommu_free_buffer(struct device *dev, struct page **pages, size_t s
+@@ -1108,7 +1108,7 @@ static int __iommu_free_buffer(struct de
for (i = 0; i < count; i++)
if (pages[i])
__free_pages(pages[i], 0);
@@ -67,6 +65,3 @@ index d766e42..6f85d3d 100644
kfree(pages);
else
vfree(pages);
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/arm-dma-mapping-move-all-dma-bounce-code-to-separate-dma-ops-structure.patch b/patches.dma-mapping/arm-dma-mapping-move-all-dma-bounce-code-to-separate-dma-ops-structure.patch
index a68a411ba6353c..a8165140bf206b 100644
--- a/patches.dma-mapping/arm-dma-mapping-move-all-dma-bounce-code-to-separate-dma-ops-structure.patch
+++ b/patches.dma-mapping/arm-dma-mapping-move-all-dma-bounce-code-to-separate-dma-ops-structure.patch
@@ -22,15 +22,13 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
arch/arm/common/dmabounce.c | 62 ++++++++++++++++++-----
- arch/arm/include/asm/dma-mapping.h | 99 +-----------------------------------
+ arch/arm/include/asm/dma-mapping.h | 99 -------------------------------------
arch/arm/mm/dma-mapping.c | 79 +++++++++++++++++++++++++----
3 files changed, 120 insertions(+), 120 deletions(-)
-diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c
-index 32e9cc6..813c29d 100644
--- a/arch/arm/common/dmabounce.c
+++ b/arch/arm/common/dmabounce.c
-@@ -308,8 +308,9 @@ static inline void unmap_single(struct device *dev, struct safe_buffer *buf,
+@@ -308,8 +308,9 @@ static inline void unmap_single(struct d
* substitute the safe buffer for the unsafe one.
* (basically move the buffer from an unsafe area to a safe one)
*/
@@ -42,7 +40,7 @@ index 32e9cc6..813c29d 100644
{
dma_addr_t dma_addr;
int ret;
-@@ -324,7 +325,7 @@ dma_addr_t __dma_map_page(struct device *dev, struct page *page,
+@@ -324,7 +325,7 @@ dma_addr_t __dma_map_page(struct device
return DMA_ERROR_CODE;
if (ret == 0) {
@@ -51,7 +49,7 @@ index 32e9cc6..813c29d 100644
return dma_addr;
}
-@@ -335,7 +336,6 @@ dma_addr_t __dma_map_page(struct device *dev, struct page *page,
+@@ -335,7 +336,6 @@ dma_addr_t __dma_map_page(struct device
return map_single(dev, page_address(page) + offset, size, dir);
}
@@ -70,7 +68,7 @@ index 32e9cc6..813c29d 100644
{
struct safe_buffer *buf;
-@@ -353,16 +353,14 @@ void __dma_unmap_page(struct device *dev, dma_addr_t dma_addr, size_t size,
+@@ -353,16 +353,14 @@ void __dma_unmap_page(struct device *dev
buf = find_safe_buffer_dev(dev, dma_addr, __func__);
if (!buf) {
@@ -89,7 +87,7 @@ index 32e9cc6..813c29d 100644
size_t sz, enum dma_data_direction dir)
{
struct safe_buffer *buf;
-@@ -392,9 +390,17 @@ int dmabounce_sync_for_cpu(struct device *dev, dma_addr_t addr,
+@@ -392,9 +390,17 @@ int dmabounce_sync_for_cpu(struct device
}
return 0;
}
@@ -109,7 +107,7 @@ index 32e9cc6..813c29d 100644
size_t sz, enum dma_data_direction dir)
{
struct safe_buffer *buf;
-@@ -424,7 +430,35 @@ int dmabounce_sync_for_device(struct device *dev, dma_addr_t addr,
+@@ -424,7 +430,35 @@ int dmabounce_sync_for_device(struct dev
}
return 0;
}
@@ -146,7 +144,7 @@ index 32e9cc6..813c29d 100644
static int dmabounce_init_pool(struct dmabounce_pool *pool, struct device *dev,
const char *name, unsigned long size)
-@@ -486,6 +520,7 @@ int dmabounce_register_dev(struct device *dev, unsigned long small_buffer_size,
+@@ -486,6 +520,7 @@ int dmabounce_register_dev(struct device
#endif
dev->archdata.dmabounce = device_info;
@@ -154,7 +152,7 @@ index 32e9cc6..813c29d 100644
dev_info(dev, "dmabounce: registered device\n");
-@@ -504,6 +539,7 @@ void dmabounce_unregister_dev(struct device *dev)
+@@ -504,6 +539,7 @@ void dmabounce_unregister_dev(struct dev
struct dmabounce_device_info *device_info = dev->archdata.dmabounce;
dev->archdata.dmabounce = NULL;
@@ -162,11 +160,9 @@ index 32e9cc6..813c29d 100644
if (!device_info) {
dev_warn(dev,
-diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h
-index 6725a08..7a7c3c7 100644
--- a/arch/arm/include/asm/dma-mapping.h
+++ b/arch/arm/include/asm/dma-mapping.h
-@@ -85,62 +85,6 @@ static inline dma_addr_t virt_to_dma(struct device *dev, void *addr)
+@@ -85,62 +85,6 @@ static inline dma_addr_t virt_to_dma(str
#endif
/*
@@ -229,7 +225,7 @@ index 6725a08..7a7c3c7 100644
* DMA errors are defined by all-bits-set in the DMA address.
*/
static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
-@@ -163,6 +107,8 @@ static inline void dma_free_noncoherent(struct device *dev, size_t size,
+@@ -163,6 +107,8 @@ static inline void dma_free_noncoherent(
{
}
@@ -238,7 +234,7 @@ index 6725a08..7a7c3c7 100644
/**
* dma_alloc_coherent - allocate consistent memory for DMA
* @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
-@@ -235,7 +181,6 @@ int dma_mmap_writecombine(struct device *, struct vm_area_struct *,
+@@ -235,7 +181,6 @@ int dma_mmap_writecombine(struct device
extern void __init init_consistent_dma_size(unsigned long size);
@@ -246,7 +242,7 @@ index 6725a08..7a7c3c7 100644
/*
* For SA-1111, IXP425, and ADI systems the dma-mapping functions are "magic"
* and utilize bounce buffers as needed to work around limited DMA windows.
-@@ -275,47 +220,7 @@ extern int dmabounce_register_dev(struct device *, unsigned long,
+@@ -275,48 +220,8 @@ extern int dmabounce_register_dev(struct
*/
extern void dmabounce_unregister_dev(struct device *);
@@ -275,7 +271,7 @@ index 6725a08..7a7c3c7 100644
-{
- return 1;
-}
--
+
-static inline dma_addr_t __dma_map_page(struct device *dev, struct page *page,
- unsigned long offset, size_t size, enum dma_data_direction dir)
@@ -291,11 +287,10 @@ index 6725a08..7a7c3c7 100644
- handle & ~PAGE_MASK, size, dir);
-}
-#endif /* CONFIG_DMABOUNCE */
-
+-
/*
* The scatter list versions of the above methods.
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index 5b2b652..0265733 100644
+ */
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -34,6 +34,75 @@
@@ -374,7 +369,7 @@ index 5b2b652..0265733 100644
/**
* arm_dma_map_page - map a portion of a page for streaming DMA
* @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
-@@ -81,9 +150,6 @@ static inline void arm_dma_sync_single_for_cpu(struct device *dev,
+@@ -81,9 +150,6 @@ static inline void arm_dma_sync_single_f
{
unsigned int offset = handle & (PAGE_SIZE - 1);
struct page *page = pfn_to_page(dma_to_pfn(dev, handle-offset));
@@ -384,7 +379,7 @@ index 5b2b652..0265733 100644
__dma_page_dev_to_cpu(page, offset, size, dir);
}
-@@ -92,9 +158,6 @@ static inline void arm_dma_sync_single_for_device(struct device *dev,
+@@ -92,9 +158,6 @@ static inline void arm_dma_sync_single_f
{
unsigned int offset = handle & (PAGE_SIZE - 1);
struct page *page = pfn_to_page(dma_to_pfn(dev, handle-offset));
@@ -394,7 +389,7 @@ index 5b2b652..0265733 100644
__dma_page_cpu_to_dev(page, offset, size, dir);
}
-@@ -835,7 +898,6 @@ void ___dma_page_cpu_to_dev(struct page *page, unsigned long off,
+@@ -837,7 +900,6 @@ void ___dma_page_cpu_to_dev(struct page
}
/* FIXME: non-speculating: flush on bidirectional mappings? */
}
@@ -402,7 +397,7 @@ index 5b2b652..0265733 100644
void ___dma_page_dev_to_cpu(struct page *page, unsigned long off,
size_t size, enum dma_data_direction dir)
-@@ -855,7 +917,6 @@ void ___dma_page_dev_to_cpu(struct page *page, unsigned long off,
+@@ -857,7 +919,6 @@ void ___dma_page_dev_to_cpu(struct page
if (dir != DMA_TO_DEVICE && off == 0 && size >= PAGE_SIZE)
set_bit(PG_dcache_clean, &page->flags);
}
@@ -410,7 +405,7 @@ index 5b2b652..0265733 100644
/**
* arm_dma_map_sg - map a set of SG buffers for streaming mode DMA
-@@ -973,9 +1034,7 @@ static int arm_dma_set_mask(struct device *dev, u64 dma_mask)
+@@ -975,9 +1036,7 @@ static int arm_dma_set_mask(struct devic
if (!dev->dma_mask || !dma_supported(dev, dma_mask))
return -EIO;
@@ -420,6 +415,3 @@ index 5b2b652..0265733 100644
return 0;
}
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/arm-dma-mapping-remove-custom-consistent-dma-region.patch b/patches.dma-mapping/arm-dma-mapping-remove-custom-consistent-dma-region.patch
index da0ba40bd96c0c..3a95f324672d29 100644
--- a/patches.dma-mapping/arm-dma-mapping-remove-custom-consistent-dma-region.patch
+++ b/patches.dma-mapping/arm-dma-mapping-remove-custom-consistent-dma-region.patch
@@ -507,7 +507,7 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
else
addr = __alloc_from_contiguous(dev, size, prot, &page);
-@@ -998,9 +868,6 @@ static int arm_dma_set_mask(struct devic
+@@ -1000,9 +870,6 @@ static int arm_dma_set_mask(struct devic
static int __init dma_debug_do_init(void)
{
@@ -517,7 +517,7 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES);
return 0;
}
-@@ -1117,61 +984,32 @@ static int __iommu_free_buffer(struct de
+@@ -1119,61 +986,32 @@ static int __iommu_free_buffer(struct de
* Create a CPU mapping for a specified pages
*/
static void *
@@ -602,7 +602,7 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
return NULL;
}
-@@ -1230,6 +1068,16 @@ static int __iommu_remove_mapping(struct
+@@ -1232,6 +1070,16 @@ static int __iommu_remove_mapping(struct
return 0;
}
@@ -619,7 +619,7 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
static void *arm_iommu_alloc_attrs(struct device *dev, size_t size,
dma_addr_t *handle, gfp_t gfp, struct dma_attrs *attrs)
{
-@@ -1248,7 +1096,8 @@ static void *arm_iommu_alloc_attrs(struc
+@@ -1250,7 +1098,8 @@ static void *arm_iommu_alloc_attrs(struc
if (*handle == DMA_ERROR_CODE)
goto err_buffer;
@@ -629,7 +629,7 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
if (!addr)
goto err_mapping;
-@@ -1265,31 +1114,25 @@ static int arm_iommu_mmap_attrs(struct d
+@@ -1267,31 +1116,25 @@ static int arm_iommu_mmap_attrs(struct d
void *cpu_addr, dma_addr_t dma_addr, size_t size,
struct dma_attrs *attrs)
{
@@ -675,7 +675,7 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
return 0;
}
-@@ -1300,16 +1143,19 @@ static int arm_iommu_mmap_attrs(struct d
+@@ -1302,16 +1145,19 @@ static int arm_iommu_mmap_attrs(struct d
void arm_iommu_free_attrs(struct device *dev, size_t size, void *cpu_addr,
dma_addr_t handle, struct dma_attrs *attrs)
{
diff --git a/patches.dma-mapping/arm-dma-mapping-remove-offset-parameter-to-prepare-for-generic-dma_ops.patch b/patches.dma-mapping/arm-dma-mapping-remove-offset-parameter-to-prepare-for-generic-dma_ops.patch
index c3cab3b4e8268c..e2f92775aa1a7c 100644
--- a/patches.dma-mapping/arm-dma-mapping-remove-offset-parameter-to-prepare-for-generic-dma_ops.patch
+++ b/patches.dma-mapping/arm-dma-mapping-remove-offset-parameter-to-prepare-for-generic-dma_ops.patch
@@ -52,15 +52,13 @@ Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
arch/arm/common/dmabounce.c | 13 +++++--
- arch/arm/include/asm/dma-mapping.h | 67 +++++++++++++++++------------------
+ arch/arm/include/asm/dma-mapping.h | 67 ++++++++++++++++++-------------------
arch/arm/mm/dma-mapping.c | 4 +-
3 files changed, 45 insertions(+), 39 deletions(-)
-diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c
-index 210ad1b..32e9cc6 100644
--- a/arch/arm/common/dmabounce.c
+++ b/arch/arm/common/dmabounce.c
-@@ -173,7 +173,8 @@ find_safe_buffer(struct dmabounce_device_info *device_info, dma_addr_t safe_dma_
+@@ -173,7 +173,8 @@ find_safe_buffer(struct dmabounce_device
read_lock_irqsave(&device_info->lock, flags);
list_for_each_entry(b, &device_info->safe_buffers, node)
@@ -70,7 +68,7 @@ index 210ad1b..32e9cc6 100644
rb = b;
break;
}
-@@ -362,9 +363,10 @@ void __dma_unmap_page(struct device *dev, dma_addr_t dma_addr, size_t size,
+@@ -362,9 +363,10 @@ void __dma_unmap_page(struct device *dev
EXPORT_SYMBOL(__dma_unmap_page);
int dmabounce_sync_for_cpu(struct device *dev, dma_addr_t addr,
@@ -82,7 +80,7 @@ index 210ad1b..32e9cc6 100644
dev_dbg(dev, "%s(dma=%#x,off=%#lx,sz=%zx,dir=%x)\n",
__func__, addr, off, sz, dir);
-@@ -373,6 +375,8 @@ int dmabounce_sync_for_cpu(struct device *dev, dma_addr_t addr,
+@@ -373,6 +375,8 @@ int dmabounce_sync_for_cpu(struct device
if (!buf)
return 1;
@@ -91,7 +89,7 @@ index 210ad1b..32e9cc6 100644
BUG_ON(buf->direction != dir);
dev_dbg(dev, "%s: unsafe buffer %p (dma=%#x) mapped to %p (dma=%#x)\n",
-@@ -391,9 +395,10 @@ int dmabounce_sync_for_cpu(struct device *dev, dma_addr_t addr,
+@@ -391,9 +395,10 @@ int dmabounce_sync_for_cpu(struct device
EXPORT_SYMBOL(dmabounce_sync_for_cpu);
int dmabounce_sync_for_device(struct device *dev, dma_addr_t addr,
@@ -103,7 +101,7 @@ index 210ad1b..32e9cc6 100644
dev_dbg(dev, "%s(dma=%#x,off=%#lx,sz=%zx,dir=%x)\n",
__func__, addr, off, sz, dir);
-@@ -402,6 +407,8 @@ int dmabounce_sync_for_device(struct device *dev, dma_addr_t addr,
+@@ -402,6 +407,8 @@ int dmabounce_sync_for_device(struct dev
if (!buf)
return 1;
@@ -112,11 +110,9 @@ index 210ad1b..32e9cc6 100644
BUG_ON(buf->direction != dir);
dev_dbg(dev, "%s: unsafe buffer %p (dma=%#x) mapped to %p (dma=%#x)\n",
-diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h
-index 6a838da..eeddbe2 100644
--- a/arch/arm/include/asm/dma-mapping.h
+++ b/arch/arm/include/asm/dma-mapping.h
-@@ -266,19 +266,17 @@ extern void __dma_unmap_page(struct device *, dma_addr_t, size_t,
+@@ -266,19 +266,17 @@ extern void __dma_unmap_page(struct devi
/*
* Private functions
*/
@@ -140,7 +136,7 @@ index 6a838da..eeddbe2 100644
{
return 1;
}
-@@ -401,6 +399,33 @@ static inline void dma_unmap_page(struct device *dev, dma_addr_t handle,
+@@ -401,6 +399,33 @@ static inline void dma_unmap_page(struct
__dma_unmap_page(dev, handle, size, dir);
}
@@ -174,7 +170,7 @@ index 6a838da..eeddbe2 100644
/**
* dma_sync_single_range_for_cpu
* @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
-@@ -423,40 +448,14 @@ static inline void dma_sync_single_range_for_cpu(struct device *dev,
+@@ -423,40 +448,14 @@ static inline void dma_sync_single_range
dma_addr_t handle, unsigned long offset, size_t size,
enum dma_data_direction dir)
{
@@ -217,11 +213,9 @@ index 6a838da..eeddbe2 100644
}
/*
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index fab24ec..c17c353 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
-@@ -896,7 +896,7 @@ void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
+@@ -898,7 +898,7 @@ void dma_sync_sg_for_cpu(struct device *
int i;
for_each_sg(sg, s, nents, i) {
@@ -230,7 +224,7 @@ index fab24ec..c17c353 100644
sg_dma_len(s), dir))
continue;
-@@ -922,7 +922,7 @@ void dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
+@@ -924,7 +924,7 @@ void dma_sync_sg_for_device(struct devic
int i;
for_each_sg(sg, s, nents, i) {
@@ -239,6 +233,3 @@ index fab24ec..c17c353 100644
sg_dma_len(s), dir))
continue;
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/arm-dma-mapping-remove-redundant-code-and-do-the-cleanup.patch b/patches.dma-mapping/arm-dma-mapping-remove-redundant-code-and-do-the-cleanup.patch
index ba1c71d50456bf..94ace5def7c6b7 100644
--- a/patches.dma-mapping/arm-dma-mapping-remove-redundant-code-and-do-the-cleanup.patch
+++ b/patches.dma-mapping/arm-dma-mapping-remove-redundant-code-and-do-the-cleanup.patch
@@ -22,11 +22,9 @@ Tested-By: Subash Patel <subash.ramaswamy@linaro.org>
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
- arch/arm/mm/dma-mapping.c | 88 ++++++++++++--------------------------------
- 1 files changed, 24 insertions(+), 64 deletions(-)
+ arch/arm/mm/dma-mapping.c | 88 ++++++++++++----------------------------------
+ 1 file changed, 24 insertions(+), 64 deletions(-)
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index 0265733..f7fbbda 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -45,64 +45,12 @@
@@ -96,7 +94,7 @@ index 0265733..f7fbbda 100644
/**
* arm_dma_map_page - map a portion of a page for streaming DMA
* @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
-@@ -117,11 +65,13 @@ static inline void __dma_unmap_page(struct device *dev, dma_addr_t handle,
+@@ -117,11 +65,13 @@ static inline void __dma_unmap_page(stru
* The device owns this memory once this call has completed. The CPU
* can regain ownership by calling dma_unmap_page().
*/
@@ -112,7 +110,7 @@ index 0265733..f7fbbda 100644
}
/**
-@@ -138,27 +88,31 @@ static inline dma_addr_t arm_dma_map_page(struct device *dev, struct page *page,
+@@ -138,27 +88,31 @@ static inline dma_addr_t arm_dma_map_pag
* After this call, reads by the CPU to the buffer are guaranteed to see
* whatever the device wrote there.
*/
@@ -150,7 +148,7 @@ index 0265733..f7fbbda 100644
}
static int arm_dma_set_mask(struct device *dev, u64 dma_mask);
-@@ -883,7 +837,13 @@ static void dma_cache_maint_page(struct page *page, unsigned long offset,
+@@ -885,7 +839,13 @@ static void dma_cache_maint_page(struct
} while (left);
}
@@ -165,7 +163,7 @@ index 0265733..f7fbbda 100644
size_t size, enum dma_data_direction dir)
{
unsigned long paddr;
-@@ -899,7 +859,7 @@ void ___dma_page_cpu_to_dev(struct page *page, unsigned long off,
+@@ -901,7 +861,7 @@ void ___dma_page_cpu_to_dev(struct page
/* FIXME: non-speculating: flush on bidirectional mappings? */
}
@@ -174,6 +172,3 @@ index 0265733..f7fbbda 100644
size_t size, enum dma_data_direction dir)
{
unsigned long paddr = page_to_phys(page) + off;
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/arm-dma-mapping-use-asm-generic-dma-mapping-common.h.patch b/patches.dma-mapping/arm-dma-mapping-use-asm-generic-dma-mapping-common.h.patch
index 286042a5b6b656..9d5a169fff7d76 100644
--- a/patches.dma-mapping/arm-dma-mapping-use-asm-generic-dma-mapping-common.h.patch
+++ b/patches.dma-mapping/arm-dma-mapping-use-asm-generic-dma-mapping-common.h.patch
@@ -25,14 +25,12 @@ Conflicts:
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
- arch/arm/Kconfig | 1 +
- arch/arm/include/asm/device.h | 1 +
- arch/arm/include/asm/dma-mapping.h | 196 +++++-------------------------------
+ arch/arm/Kconfig | 1
+ arch/arm/include/asm/device.h | 1
+ arch/arm/include/asm/dma-mapping.h | 196 +++++--------------------------------
arch/arm/mm/dma-mapping.c | 148 ++++++++++++++++-----------
4 files changed, 115 insertions(+), 231 deletions(-)
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index d06c359..9bc6663 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -4,6 +4,7 @@ config ARM
@@ -43,8 +41,6 @@ index d06c359..9bc6663 100644
select HAVE_DMA_CONTIGUOUS if (CPU_V6 || CPU_V6K || CPU_V7)
select CMA if (CPU_V6 || CPU_V6K || CPU_V7)
select HAVE_MEMBLOCK
-diff --git a/arch/arm/include/asm/device.h b/arch/arm/include/asm/device.h
-index 7aa3680..6e2cb0e 100644
--- a/arch/arm/include/asm/device.h
+++ b/arch/arm/include/asm/device.h
@@ -7,6 +7,7 @@
@@ -55,8 +51,6 @@ index 7aa3680..6e2cb0e 100644
#ifdef CONFIG_DMABOUNCE
struct dmabounce_device_info *dmabounce;
#endif
-diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h
-index eeddbe2..6725a08 100644
--- a/arch/arm/include/asm/dma-mapping.h
+++ b/arch/arm/include/asm/dma-mapping.h
@@ -11,6 +11,27 @@
@@ -87,7 +81,7 @@ index eeddbe2..6725a08 100644
#ifdef __arch_page_to_dma
#error Please update to __arch_pfn_to_dma
-@@ -119,7 +140,6 @@ static inline void __dma_page_dev_to_cpu(struct page *page, unsigned long off,
+@@ -119,7 +140,6 @@ static inline void __dma_page_dev_to_cpu
extern int dma_supported(struct device *, u64);
extern int dma_set_mask(struct device *, u64);
@@ -95,7 +89,7 @@ index eeddbe2..6725a08 100644
/*
* DMA errors are defined by all-bits-set in the DMA address.
*/
-@@ -297,179 +317,17 @@ static inline void __dma_unmap_page(struct device *dev, dma_addr_t handle,
+@@ -297,179 +317,17 @@ static inline void __dma_unmap_page(stru
}
#endif /* CONFIG_DMABOUNCE */
@@ -281,8 +275,6 @@ index eeddbe2..6725a08 100644
#endif /* __KERNEL__ */
#endif
-diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
-index c17c353..4a1f336 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -34,6 +34,85 @@
@@ -371,7 +363,7 @@ index c17c353..4a1f336 100644
static u64 get_coherent_dma_mask(struct device *dev)
{
u64 mask = (u64)arm_dma_limit;
-@@ -697,47 +776,6 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
+@@ -697,47 +776,6 @@ void dma_free_coherent(struct device *de
}
EXPORT_SYMBOL(dma_free_coherent);
@@ -419,7 +411,7 @@ index c17c353..4a1f336 100644
static void dma_cache_maint_page(struct page *page, unsigned long offset,
size_t size, enum dma_data_direction dir,
void (*op)(const void *, size_t, int))
-@@ -835,21 +873,18 @@ EXPORT_SYMBOL(___dma_page_dev_to_cpu);
+@@ -837,21 +875,18 @@ EXPORT_SYMBOL(___dma_page_dev_to_cpu);
* Device ownership issues as mentioned for dma_map_single are the same
* here.
*/
@@ -443,7 +435,7 @@ index c17c353..4a1f336 100644
return nents;
bad_mapping:
-@@ -857,7 +892,6 @@ int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
+@@ -859,7 +894,6 @@ int dma_map_sg(struct device *dev, struc
__dma_unmap_page(dev, sg_dma_address(s), sg_dma_len(s), dir);
return 0;
}
@@ -451,7 +443,7 @@ index c17c353..4a1f336 100644
/**
* dma_unmap_sg - unmap a set of SG buffers mapped by dma_map_sg
-@@ -869,18 +903,15 @@ EXPORT_SYMBOL(dma_map_sg);
+@@ -871,18 +905,15 @@ EXPORT_SYMBOL(dma_map_sg);
* Unmap a set of streaming mode DMA translations. Again, CPU access
* rules concerning calls here are the same as for dma_unmap_single().
*/
@@ -472,7 +464,7 @@ index c17c353..4a1f336 100644
/**
* dma_sync_sg_for_cpu
-@@ -889,7 +920,7 @@ EXPORT_SYMBOL(dma_unmap_sg);
+@@ -891,7 +922,7 @@ EXPORT_SYMBOL(dma_unmap_sg);
* @nents: number of buffers to map (returned from dma_map_sg)
* @dir: DMA transfer direction (same as was passed to dma_map_sg)
*/
@@ -481,7 +473,7 @@ index c17c353..4a1f336 100644
int nents, enum dma_data_direction dir)
{
struct scatterlist *s;
-@@ -903,10 +934,7 @@ void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
+@@ -905,10 +936,7 @@ void dma_sync_sg_for_cpu(struct device *
__dma_page_dev_to_cpu(sg_page(s), s->offset,
s->length, dir);
}
@@ -492,7 +484,7 @@ index c17c353..4a1f336 100644
/**
* dma_sync_sg_for_device
-@@ -915,7 +943,7 @@ EXPORT_SYMBOL(dma_sync_sg_for_cpu);
+@@ -917,7 +945,7 @@ EXPORT_SYMBOL(dma_sync_sg_for_cpu);
* @nents: number of buffers to map (returned from dma_map_sg)
* @dir: DMA transfer direction (same as was passed to dma_map_sg)
*/
@@ -501,7 +493,7 @@ index c17c353..4a1f336 100644
int nents, enum dma_data_direction dir)
{
struct scatterlist *s;
-@@ -929,10 +957,7 @@ void dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
+@@ -931,10 +959,7 @@ void dma_sync_sg_for_device(struct devic
__dma_page_cpu_to_dev(sg_page(s), s->offset,
s->length, dir);
}
@@ -512,7 +504,7 @@ index c17c353..4a1f336 100644
/*
* Return whether the given device DMA address mask can be supported
-@@ -948,7 +973,7 @@ int dma_supported(struct device *dev, u64 mask)
+@@ -950,7 +975,7 @@ int dma_supported(struct device *dev, u6
}
EXPORT_SYMBOL(dma_supported);
@@ -521,7 +513,7 @@ index c17c353..4a1f336 100644
{
if (!dev->dma_mask || !dma_supported(dev, dma_mask))
return -EIO;
-@@ -959,7 +984,6 @@ int dma_set_mask(struct device *dev, u64 dma_mask)
+@@ -961,7 +986,6 @@ int dma_set_mask(struct device *dev, u64
return 0;
}
@@ -529,6 +521,3 @@ index c17c353..4a1f336 100644
#define PREALLOC_DMA_DEBUG_ENTRIES 4096
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/mm-compaction-export-some-of-the-functions.patch b/patches.dma-mapping/mm-compaction-export-some-of-the-functions.patch
index e310166c1c7052..790863ddec49e7 100644
--- a/patches.dma-mapping/mm-compaction-export-some-of-the-functions.patch
+++ b/patches.dma-mapping/mm-compaction-export-some-of-the-functions.patch
@@ -32,16 +32,14 @@ Tested-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
- mm/Makefile | 3 +-
- mm/compaction.c | 328 ++++++++++++++++++++++++++-----------------------------
- mm/internal.h | 33 ++++++
+ mm/Makefile | 3
+ mm/compaction.c | 328 ++++++++++++++++++++++++++------------------------------
+ mm/internal.h | 33 +++++
3 files changed, 191 insertions(+), 173 deletions(-)
-diff --git a/mm/Makefile b/mm/Makefile
-index 50ec00e..8aada89 100644
--- a/mm/Makefile
+++ b/mm/Makefile
-@@ -13,7 +13,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \
+@@ -13,7 +13,7 @@ obj-y := filemap.o mempool.o oom_kill.
readahead.o swap.o truncate.o vmscan.o shmem.o \
prio_tree.o util.o mmzone.o vmstat.o backing-dev.o \
page_isolation.o mm_init.o mmu_context.o percpu.o \
@@ -58,8 +56,6 @@ index 50ec00e..8aada89 100644
obj-$(CONFIG_MMU_NOTIFIER) += mmu_notifier.o
obj-$(CONFIG_KSM) += ksm.o
obj-$(CONFIG_PAGE_POISONING) += debug-pagealloc.o
-diff --git a/mm/compaction.c b/mm/compaction.c
-index b150a62..dcb3865 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -16,30 +16,11 @@
@@ -95,7 +91,7 @@ index b150a62..dcb3865 100644
static unsigned long release_freepages(struct list_head *freelist)
{
struct page *page, *next;
-@@ -54,6 +35,16 @@ static unsigned long release_freepages(struct list_head *freelist)
+@@ -54,6 +35,16 @@ static unsigned long release_freepages(s
return count;
}
@@ -112,7 +108,7 @@ index b150a62..dcb3865 100644
/*
* Isolate free pages onto a private freelist. Caller must hold zone->lock.
* If @strict is true, will abort returning 0 on any invalid PFNs or non-free
-@@ -122,7 +113,7 @@ static unsigned long isolate_freepages_block(unsigned long blockpfn,
+@@ -122,7 +113,7 @@ static unsigned long isolate_freepages_b
* (which may be greater then end_pfn if end fell in a middle of
* a free page).
*/
@@ -121,7 +117,7 @@ index b150a62..dcb3865 100644
isolate_freepages_range(unsigned long start_pfn, unsigned long end_pfn)
{
unsigned long isolated, pfn, block_end_pfn, flags;
-@@ -176,127 +167,6 @@ isolate_freepages_range(unsigned long start_pfn, unsigned long end_pfn)
+@@ -176,127 +167,6 @@ isolate_freepages_range(unsigned long st
return pfn;
}
@@ -249,7 +245,7 @@ index b150a62..dcb3865 100644
/* Update the number of anon and file isolated pages in the zone */
static void acct_isolated(struct zone *zone, struct compact_control *cc)
{
-@@ -325,13 +195,6 @@ static bool too_many_isolated(struct zone *zone)
+@@ -325,13 +195,6 @@ static bool too_many_isolated(struct zon
return isolated > (inactive + active) / 2;
}
@@ -272,7 +268,7 @@ index b150a62..dcb3865 100644
isolate_migratepages_range(struct zone *zone, struct compact_control *cc,
unsigned long low_pfn, unsigned long end_pfn)
{
-@@ -487,35 +350,118 @@ isolate_migratepages_range(struct zone *zone, struct compact_control *cc,
+@@ -487,35 +350,118 @@ isolate_migratepages_range(struct zone *
return low_pfn;
}
@@ -411,7 +407,7 @@ index b150a62..dcb3865 100644
}
/*
-@@ -564,6 +510,44 @@ static void update_nr_listpages(struct compact_control *cc)
+@@ -564,6 +510,44 @@ static void update_nr_listpages(struct c
cc->nr_freepages = nr_freepages;
}
@@ -456,17 +452,15 @@ index b150a62..dcb3865 100644
static int compact_finished(struct zone *zone,
struct compact_control *cc)
{
-@@ -913,3 +897,5 @@ void compaction_unregister_node(struct node *node)
+@@ -911,3 +895,5 @@ void compaction_unregister_node(struct n
return device_remove_file(&node->dev, &dev_attr_compact);
}
#endif /* CONFIG_SYSFS && CONFIG_NUMA */
+
+#endif /* CONFIG_COMPACTION */
-diff --git a/mm/internal.h b/mm/internal.h
-index 2189af4..aee4761 100644
--- a/mm/internal.h
+++ b/mm/internal.h
-@@ -100,6 +100,39 @@ extern void prep_compound_page(struct page *page, unsigned long order);
+@@ -100,6 +100,39 @@ extern void prep_compound_page(struct pa
extern bool is_free_buddy_page(struct page *page);
#endif
@@ -506,6 +500,3 @@ index 2189af4..aee4761 100644
/*
* function for dealing with page's order in buddy system.
---
-1.7.5.4
-
diff --git a/patches.dma-mapping/x86-integrate-cma-with-dma-mapping-subsystem.patch b/patches.dma-mapping/x86-integrate-cma-with-dma-mapping-subsystem.patch
index a63ce6abfa493c..13ebebc2a13ade 100644
--- a/patches.dma-mapping/x86-integrate-cma-with-dma-mapping-subsystem.patch
+++ b/patches.dma-mapping/x86-integrate-cma-with-dma-mapping-subsystem.patch
@@ -152,7 +152,7 @@ Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
#include <linux/errno.h>
#include <linux/kernel.h>
-@@ -948,6 +949,7 @@ void __init setup_arch(char **cmdline_p)
+@@ -1028,6 +1029,7 @@ void __init setup_arch(char **cmdline_p)
}
#endif
memblock.current_limit = get_max_mapped();
diff --git a/patches.ltsi/ltsi-makefile-addition.patch b/patches.ltsi/ltsi-makefile-addition.patch
index ea1e4e769cca3c..0f2f50ecf2a9df 100644
--- a/patches.ltsi/ltsi-makefile-addition.patch
+++ b/patches.ltsi/ltsi-makefile-addition.patch
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
@@ -1,7 +1,7 @@
VERSION = 3
PATCHLEVEL = 4
- SUBLEVEL = 25
+ SUBLEVEL = 29
-EXTRAVERSION =
+EXTRAVERSION = -ltsi
NAME = Saber-toothed Squirrel