ixp4xx: add linux 4.1 support
[openwrt/svn-archive/archive.git] / target / linux / ixp4xx / patches-4.1 / 001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch
diff --git a/target/linux/ixp4xx/patches-4.1/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch b/target/linux/ixp4xx/patches-4.1/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch
new file mode 100644 (file)
index 0000000..3ca3eb7
--- /dev/null
@@ -0,0 +1,136 @@
+From 7113f56b683c5123df5c20724ac813cee66fa21a Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Mon, 1 Jul 2013 16:49:05 +0200
+Subject: [PATCH 1/2] arm: ixp4xx: set cohorent_dma_mask for ethernet platform
+ devices
+
+ARM requires the cohorent_dma_mask set, so set it for the platform
+devices so that the ethernet driver has access to it.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/arm/mach-ixp4xx/fsg-setup.c     |    2 ++
+ arch/arm/mach-ixp4xx/goramo_mlr.c    |    2 ++
+ arch/arm/mach-ixp4xx/ixdp425-setup.c |    3 +++
+ arch/arm/mach-ixp4xx/nas100d-setup.c |    1 +
+ arch/arm/mach-ixp4xx/nslu2-setup.c   |    1 +
+ arch/arm/mach-ixp4xx/omixp-setup.c   |    3 +++
+ arch/arm/mach-ixp4xx/vulcan-setup.c  |    2 ++
+ 7 files changed, 14 insertions(+)
+
+--- a/arch/arm/mach-ixp4xx/fsg-setup.c
++++ b/arch/arm/mach-ixp4xx/fsg-setup.c
+@@ -142,12 +142,14 @@ static struct platform_device fsg_eth[]
+               .id                     = IXP4XX_ETH_NPEB,
+               .dev = {
+                       .platform_data  = fsg_plat_eth,
++                      .coherent_dma_mask = DMA_BIT_MASK(32),
+               },
+       }, {
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEC,
+               .dev = {
+                       .platform_data  = fsg_plat_eth + 1,
++                      .coherent_dma_mask = DMA_BIT_MASK(32),
+               },
+       }
+ };
+--- a/arch/arm/mach-ixp4xx/goramo_mlr.c
++++ b/arch/arm/mach-ixp4xx/goramo_mlr.c
+@@ -295,10 +295,12 @@ static struct platform_device device_eth
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEB,
+               .dev.platform_data      = eth_plat,
++              .dev.coherent_dma_mask  = DMA_BIT_MASK(32),
+       }, {
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEC,
+               .dev.platform_data      = eth_plat + 1,
++              .dev.coherent_dma_mask  = DMA_BIT_MASK(32),
+       }
+ };
+--- a/arch/arm/mach-ixp4xx/ixdp425-setup.c
++++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c
+@@ -20,6 +20,7 @@
+ #include <linux/mtd/nand.h>
+ #include <linux/mtd/partitions.h>
+ #include <linux/delay.h>
++#include <linux/dma-mapping.h>
+ #include <linux/gpio.h>
+ #include <asm/types.h>
+ #include <asm/setup.h>
+@@ -196,10 +197,12 @@ static struct platform_device ixdp425_et
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEB,
+               .dev.platform_data      = ixdp425_plat_eth,
++              .dev.coherent_dma_mask  = DMA_BIT_MASK(32),
+       }, {
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEC,
+               .dev.platform_data      = ixdp425_plat_eth + 1,
++              .dev.coherent_dma_mask  = DMA_BIT_MASK(32),
+       }
+ };
+--- a/arch/arm/mach-ixp4xx/nas100d-setup.c
++++ b/arch/arm/mach-ixp4xx/nas100d-setup.c
+@@ -170,6 +170,7 @@ static struct platform_device nas100d_et
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEB,
+               .dev.platform_data      = nas100d_plat_eth,
++              .dev.coherent_dma_mask  = DMA_BIT_MASK(32),
+       }
+ };
+--- a/arch/arm/mach-ixp4xx/nslu2-setup.c
++++ b/arch/arm/mach-ixp4xx/nslu2-setup.c
+@@ -182,6 +182,7 @@ static struct platform_device nslu2_eth[
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEB,
+               .dev.platform_data      = nslu2_plat_eth,
++              .dev.coherent_dma_mask  = DMA_BIT_MASK(32),
+       }
+ };
+--- a/arch/arm/mach-ixp4xx/omixp-setup.c
++++ b/arch/arm/mach-ixp4xx/omixp-setup.c
+@@ -17,6 +17,7 @@
+ #include <linux/serial_8250.h>
+ #include <linux/mtd/mtd.h>
+ #include <linux/mtd/partitions.h>
++#include <linux/dma-mapping.h>
+ #include <linux/leds.h>
+ #include <asm/setup.h>
+@@ -188,10 +189,12 @@ static struct platform_device ixdp425_et
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEB,
+               .dev.platform_data      = ixdp425_plat_eth,
++              .dev.coherent_dma_mask  = DMA_BIT_MASK(32),
+       }, {
+               .name                   = "ixp4xx_eth",
+               .id                     = IXP4XX_ETH_NPEC,
+               .dev.platform_data      = ixdp425_plat_eth + 1,
++              .dev.coherent_dma_mask  = DMA_BIT_MASK(32),
+       },
+ };
+--- a/arch/arm/mach-ixp4xx/vulcan-setup.c
++++ b/arch/arm/mach-ixp4xx/vulcan-setup.c
+@@ -139,6 +139,7 @@ static struct platform_device vulcan_eth
+               .id                     = IXP4XX_ETH_NPEB,
+               .dev = {
+                       .platform_data  = &vulcan_plat_eth[0],
++                      .coherent_dma_mask = DMA_BIT_MASK(32),
+               },
+       },
+       [1] = {
+@@ -146,6 +147,7 @@ static struct platform_device vulcan_eth
+               .id                     = IXP4XX_ETH_NPEC,
+               .dev = {
+                       .platform_data  = &vulcan_plat_eth[1],
++                      .coherent_dma_mask = DMA_BIT_MASK(32),
+               },
+       },
+ };