core/linux-armv7-rc to 3.19.rc1-1

This commit is contained in:
Kevin Mihelich 2014-12-23 16:47:35 +00:00
parent d895e7953d
commit c7fd34d140
7 changed files with 201 additions and 219 deletions

View file

@ -1,4 +1,4 @@
From 8319e84e5cc1362af1086758217054aa3d4740fb Mon Sep 17 00:00:00 2001
From ea11cc13a722f1fa6ec494be4de346cb15a06308 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@xxxxxx>
Date: Sun, 2 Dec 2012 19:59:28 +0100
Subject: [PATCH 1/4] ARM: atags: add support for Marvell's u-boot
@ -47,5 +47,5 @@ index 979ff40..d1d0c19 100644
};
--
2.1.2
2.2.1

View file

@ -1,57 +0,0 @@
From 3c583f70a8e2feda03db77d2c8e9a41d302ac657 Mon Sep 17 00:00:00 2001
From: Andrew Lunn <andrew@lunn.ch>
Date: Wed, 12 Nov 2014 23:10:08 +0100
Subject: [PATCH] mmc: mvsdio: Work around broken TX DMA
In order to use the mvsdio driver for sdio, it has been necessary to
use a module parameter to disable DMA so to force PIO is used. It is
then possible to use wireless LAN devices like mwifiex found on
topkick and mirabox. However, accessing an MMC SD card does work with
DMA.
Investigation has shown that MMC block device accesses are always
aligned to 64 byte boundaries, where as transfers from mwifiex are
rarely more than word aligned. It has also been determined that card
to host transfers work with DMA for SDIO devices, but host to card
transfers with DMA have problems.
This patch extends the current checks for buffers which are not word
aligned or multiple of words. All host to card transfers which are not
64 byte aligned are now also performed via PIO. This should not affect
the performance of SD cards, but allow sdio devices to work out of the
box, and they are likely to be more efficient since DMA will be used
for card to host transfers.
Tested on mirabox for wifi via mwifiex
Tested on 370 RD for file systems on an SD card.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
drivers/mmc/host/mvsdio.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
index 6b4c5ad..4f8618f 100644
--- a/drivers/mmc/host/mvsdio.c
+++ b/drivers/mmc/host/mvsdio.c
@@ -111,10 +111,15 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data)
mvsd_write(MVSD_BLK_COUNT, data->blocks);
mvsd_write(MVSD_BLK_SIZE, data->blksz);
- if (nodma || (data->blksz | data->sg->offset) & 3) {
+ if (nodma || (data->blksz | data->sg->offset) & 3 ||
+ ((!(data->flags & MMC_DATA_READ) && data->sg->offset & 0x3f))) {
/*
* We cannot do DMA on a buffer which offset or size
* is not aligned on a 4-byte boundary.
+ *
+ * It also appears the host to card DMA can corrupt
+ * data when the buffer is not aligned on a 64 byte
+ * boundary.
*/
host->pio_size = data->blocks * data->blksz;
host->pio_ptr = sg_virt(data->sg);
--
2.1.3

View file

@ -1,4 +1,4 @@
From 8660a1d16a52e995c2d19e997290a8ac01a76390 Mon Sep 17 00:00:00 2001
From 1aa5fd13b027f5b97581593d1d9b1215d6b28162 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@xxxxxx>
Date: Sun, 2 Dec 2012 19:56:58 +0100
Subject: [PATCH 2/4] ARM: atags/fdt: retrieve MAC addresses from Marvell boot
@ -43,5 +43,5 @@ index 9448aa0..ac7b6ae 100644
}
--
2.1.2
2.2.1

View file

@ -1,4 +1,4 @@
From 03715aa11f77bb0610ec2bb58e509bf3bd48401c Mon Sep 17 00:00:00 2001
From 0624580ab2aba0c2a57d6c6b06ec90ec95c748f5 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Fri, 5 Sep 2014 15:41:19 -0600
Subject: [PATCH 3/4] SMILE Plug device tree file
@ -14,17 +14,17 @@ Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
create mode 100644 arch/arm/boot/dts/armada-370-smileplug.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 38c89ca..80651e3 100644
index 91bd5bd..22618d7 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -493,6 +493,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
@@ -527,6 +527,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
dtb-$(CONFIG_MACH_ARMADA_370) += \
armada-370-db.dtb \
armada-370-mirabox.dtb \
+ armada-370-smileplug.dtb \
armada-370-netgear-rn102.dtb \
armada-370-netgear-rn104.dtb \
armada-370-rd.dtb
armada-370-rd.dtb \
diff --git a/arch/arm/boot/dts/armada-370-smileplug.dts b/arch/arm/boot/dts/armada-370-smileplug.dts
new file mode 100644
index 0000000..0a01264
@ -205,5 +205,5 @@ index 0000000..0a01264
+ };
+};
--
2.1.2
2.2.1

View file

@ -1,4 +1,4 @@
From 88951bf5f9746432b3496f097fce9a4556b5b8c2 Mon Sep 17 00:00:00 2001
From 0dfc0dfe1bf869b09d2a0bb3665bdf221e960f2d Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Fri, 5 Sep 2014 15:43:56 -0600
Subject: [PATCH 4/4] fix mvsdio eMMC timing
@ -12,7 +12,7 @@ Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
index 6b4c5ad..9f50234 100644
index 4f8618f..ab95bb7 100644
--- a/drivers/mmc/host/mvsdio.c
+++ b/drivers/mmc/host/mvsdio.c
@@ -97,7 +97,7 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data)
@ -24,7 +24,7 @@ index 6b4c5ad..9f50234 100644
tmout_index = MVSD_HOST_CTRL_TMOUT_MAX;
dev_dbg(host->dev, "data %s at 0x%08x: blocks=%d blksz=%d tmout=%u (%d)\n",
@@ -614,6 +614,8 @@ static void mvsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
@@ -619,6 +619,8 @@ static void mvsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
u32 m = DIV_ROUND_UP(host->base_clock, ios->clock) - 1;
if (m > MVSD_BASE_DIV_MAX)
m = MVSD_BASE_DIV_MAX;
@ -34,5 +34,5 @@ index 6b4c5ad..9f50234 100644
host->clock = ios->clock;
host->ns_per_clk = 1000000000 / (host->base_clock / (m+1));
--
2.1.2
2.2.1

View file

@ -3,9 +3,9 @@
buildarch=4
_rcver=3.18
_rcrel=7
_rcnrel=armv7-x2
_rcver=3.19
_rcrel=1
_rcnrel=armv7-x0
pkgbase=linux-armv7-rc
_srcname=linux-3.$((${_rcver##*.}-1))
@ -26,18 +26,16 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
'0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch'
'0003-SMILE-Plug-device-tree-file.patch'
'0004-fix-mvsdio-eMMC-timing.patch'
'0001-mmc-mvsdio-Work-around-broken-TX-DMA.patch'
'config')
md5sums=('fb30d0f29214d75cddd2faa94f73d5cf'
'3f67a949be63d47b6286ec63e6194e54'
'11f251b44132f76e415f361f1922b65a'
md5sums=('9e854df51ca3fef8bfe566dbd7b89241'
'ae18910200b003a2c0a77636b8612a88'
'be660b7996c1673d78a7f0e88bce6a48'
'SKIP'
'bf5c78900f42d0ae6b7f45d8b88ba7f8'
'4e54599d103d95f9eadd3a4c6a413da0'
'11889f6e6873f79059c5d9bf3fcc0cf8'
'e728042f0d32a7d2e0610ed3eaf4ad52'
'8470443040fce04fec4411aa7ddd9f51'
'88ad293719264dcb3ad58a35cc698735')
'70b9ce2701ad3f43940d0172e4618549'
'af7f56bc5712f264a55bb6603e64df0e'
'a70066db5aa59f660dd7e31809b47e4c'
'a27e0ba6c63e0656039e20eeb957fee1'
'973b2983e619dd22879c1d53c175ff69')
prepare() {
cd "${srcdir}/${_srcname}"
@ -53,18 +51,17 @@ prepare() {
git apply ../0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch
git apply ../0003-SMILE-Plug-device-tree-file.patch
git apply ../0004-fix-mvsdio-eMMC-timing.patch
git apply ../0001-mmc-mvsdio-Work-around-broken-TX-DMA.patch
# AUFS patches
cp -ru "${srcdir}/aufs3-standalone/Documentation" .
cp -ru "${srcdir}/aufs3-standalone/fs" .
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/linux
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/uapi/linux
#cp -ru "${srcdir}/aufs3-standalone/Documentation" .
#cp -ru "${srcdir}/aufs3-standalone/fs" .
#cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/linux
#cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" ./include/uapi/linux
git apply ../aufs3-standalone/aufs3-kbuild.patch
git apply ../aufs3-standalone/aufs3-base.patch
git apply ../aufs3-standalone/aufs3-mmap.patch
git apply ../aufs3-standalone/aufs3-standalone.patch
#git apply ../aufs3-standalone/aufs3-kbuild.patch
#git apply ../aufs3-standalone/aufs3-base.patch
#git apply ../aufs3-standalone/aufs3-mmap.patch
#git apply ../aufs3-standalone/aufs3-standalone.patch
cat "${srcdir}/config" > ./.config

File diff suppressed because it is too large Load diff