Openwrt/target/linux/ixp4xx/patches-3.10/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch
Jonas Gorski 87c0c2d81d ixp4xx: add support for linux 3.10
Run tested on a NSLU2.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 37124
2013-07-01 18:42:49 +00:00

137 lines
4.0 KiB
Diff

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
@@ -294,10 +294,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 <asm/types.h>
#include <asm/setup.h>
#include <asm/memory.h>
@@ -195,10 +196,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>
#ifdef CONFIG_LEDS_CLASS
#include <linux/leds.h>
#endif
@@ -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),
},
},
};