OpenWrt – Rev 1

Subversion Repositories:
Rev:
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),
                },
        },
 };