core/linux-aarch64-rc to 4.13.rc6-1

This commit is contained in:
Kevin Mihelich 2017-08-21 01:56:04 +00:00
parent 69961b0979
commit a106ed8226
7 changed files with 18 additions and 94 deletions

View file

@ -1,7 +1,7 @@
From 76f60642e4f22da47facac674cbc512d128943f6 Mon Sep 17 00:00:00 2001
From 30d7acb45632070aa9929baa68aff42a5fcb1643 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 18 Feb 2014 01:43:50 -0300
Subject: [PATCH 1/5] net/smsc95xx: Allow mac address to be set as a parameter
Subject: [PATCH 1/4] net/smsc95xx: Allow mac address to be set as a parameter
---
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++

View file

@ -1,7 +1,7 @@
From f86dc9ddcbf867db72cc7607e6201e144e2cd09b Mon Sep 17 00:00:00 2001
From 08b91100c5dc3f294ace4d92d5c29ce8b2ff2e6d Mon Sep 17 00:00:00 2001
From: Shawn Lin <shawn.lin@rock-chips.com>
Date: Fri, 21 Jul 2017 16:30:59 +0800
Subject: [PATCH 2/5] arm64: dts: rockchip: enable sdmmc controller on
Subject: [PATCH 2/4] arm64: dts: rockchip: enable sdmmc controller on
rk3399-firefly
This allows basic support for SD highspeed cards but no UHS-I mode

View file

@ -1,7 +1,7 @@
From d3f9e9266209e505adeeafe1fc1f803e5e9b5cf9 Mon Sep 17 00:00:00 2001
From 05a27b58acc1caa8c4f80bc9dd46c100abd35244 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Mon, 7 Aug 2017 19:34:57 -0600
Subject: [PATCH 3/5] arm64: dts: rockchip: disable pwm0 on rk3399-firefly
Subject: [PATCH 3/4] arm64: dts: rockchip: disable pwm0 on rk3399-firefly
Workaround for intermittent boot hangs due to pwm0 probe disabling the PWM clock.
---

View file

@ -1,7 +1,7 @@
From 31a499290ebf638e4ff502d3117fc3cf6e020b76 Mon Sep 17 00:00:00 2001
From 0c9149a1813b56d043fa3db8f8591f0b2677ee50 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Thu, 17 Aug 2017 21:18:11 -0600
Subject: [PATCH 4/5] Revert "arm64: dts: qcom: Collapse usb support into one
Subject: [PATCH 4/4] Revert "arm64: dts: qcom: Collapse usb support into one
node"
This reverts commit ed75d6a969056cc8f5dd2df3af6c75b792b9116b.

View file

@ -1,74 +0,0 @@
From cdd0029a79eefc562e85b6f47074044f637d679c Mon Sep 17 00:00:00 2001
From: Robin Murphy <robin.murphy@arm.com>
Date: Fri, 11 Aug 2017 17:29:56 +0100
Subject: [PATCH 5/5] of: Fix DMA mask generation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Historically, DMA masks have suffered some ambiguity between whether
they represent the range of physical memory a device can access, or the
address bits a device is capable of driving, particularly since on many
platforms the two are equivalent. Whilst there are some stragglers left
(dma_max_pfn(), I'm looking at you...), the majority of DMA code has
been cleaned up to follow the latter definition, not least since it is
the only one which makes sense once IOMMUs are involved.
In this respect, of_dma_configure() has always done the wrong thing in
how it generates initial masks based on "dma-ranges". Although rounding
down did not affect the TI Keystone platform where dma_addr + size is
already a power of two, in any other case it results in a mask which is
at best unnecessarily constrained and at worst unusable.
BCM2837 illustrates the problem nicely, where we have a DMA base of 3GB
and a size of 1GB - 16MB, giving dma_addr + size = 0xff000000 and a
resultant mask of 0x7fffffff, which is then insufficient to even cover
the necessary offset, effectively making all DMA addresses out-of-range.
This has been hidden until now (mostly because we don't yet prevent
drivers from simply overwriting this initial mask later upon probe), but
due to recent changes elsewhere now shows up as USB being broken on
Raspberry Pi 3.
Make it right by rounding up instead of down, such that the mask
correctly correctly describes all possisble bits the device needs to
emit.
Fixes: 9a6d7298b083 ("of: Calculate device DMA masks based on DT dma-range size")
Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
Reported-by: Andreas Färber <afaerber@suse.de>
Reported-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
---
drivers/of/device.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/of/device.c b/drivers/of/device.c
index 28c38c756f92..e0a28ea341fe 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -89,6 +89,7 @@ int of_dma_configure(struct device *dev, struct device_node *np)
bool coherent;
unsigned long offset;
const struct iommu_ops *iommu;
+ u64 mask;
/*
* Set default coherent_dma_mask to 32 bit. Drivers are expected to
@@ -134,10 +135,9 @@ int of_dma_configure(struct device *dev, struct device_node *np)
* Limit coherent and dma mask based on size and default mask
* set by the driver.
*/
- dev->coherent_dma_mask = min(dev->coherent_dma_mask,
- DMA_BIT_MASK(ilog2(dma_addr + size)));
- *dev->dma_mask = min((*dev->dma_mask),
- DMA_BIT_MASK(ilog2(dma_addr + size)));
+ mask = DMA_BIT_MASK(ilog2(dma_addr + size - 1) + 1);
+ dev->coherent_dma_mask &= mask;
+ *dev->dma_mask &= mask;
coherent = of_dma_is_coherent(np);
dev_dbg(dev, "device is%sdma coherent\n",
--
2.14.1

View file

@ -4,14 +4,14 @@
buildarch=8
_rcver=4.13
_rcrel=5
_rcrel=6
pkgbase=linux-aarch64-rc
_srcname=linux-${_rcver}-rc${_rcrel}
_kernelname=${pkgbase#linux}
_desc="AArch64 multi-platform (release candidate)"
pkgver=${_rcver}.rc${_rcrel}
pkgrel=2
pkgrel=1
arch=('aarch64')
url="http://www.kernel.org/"
license=('GPL2')
@ -22,17 +22,15 @@ source=("https://git.kernel.org/torvalds/t/${_srcname}.tar.gz"
'0002-arm64-dts-rockchip-enable-sdmmc-controller-on-rk3399.patch'
'0003-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch'
'0004-Revert-arm64-dts-qcom-Collapse-usb-support-into-one-.patch'
'0005-of-Fix-DMA-mask-generation.patch'
'config'
'linux.preset'
'99-linux.hook')
md5sums=('a694a893f7750c0c1dad9231210f2212'
'd4d9e69e2c6f17333cbe8fca8e54f842'
'7a8ae6a56f63e8d3485ce5ef3ae934f1'
'33d0c547f73e7ec3336a361fafff923b'
'100ef048b8ec475e14442a81b388a203'
'ce0d7d63d17c330fd81ff9f801fb7777'
'621f6e80ad6846cd34a4f0d1f76ecabb'
md5sums=('11d0adaa366837da267117bc33952633'
'7062ef1caf651c728e2710df877cdc27'
'c98c7bf062b6da22eaedd94c7c565397'
'17fcc7db40486466de2dbb8560473206'
'c4da0e330c9aa3cdf99c4f642cadefc6'
'69fc36023cbcf621ff523542a12df9d5'
'25d8f6983c9a616946848c0e075a949c'
'1d4477026533efaa0358a40855d50a83')
@ -44,7 +42,6 @@ prepare() {
git apply ../0002-arm64-dts-rockchip-enable-sdmmc-controller-on-rk3399.patch
git apply ../0003-arm64-dts-rockchip-disable-pwm0-on-rk3399-firefly.patch
git apply ../0004-Revert-arm64-dts-qcom-Collapse-usb-support-into-one-.patch
git apply ../0005-of-Fix-DMA-mask-generation.patch
cat "${srcdir}/config" > ./.config

View file

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 4.13.0-rc5-2 Kernel Configuration
# Linux/arm64 4.13.0-rc6-1 Kernel Configuration
#
CONFIG_ARM64=y
CONFIG_64BIT=y
@ -5002,6 +5002,7 @@ CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_SEQUENCER_OSS=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=m
CONFIG_SND_SEQ_MIDI=m
CONFIG_SND_SEQ_MIDI_EMUL=m
CONFIG_SND_SEQ_VIRMIDI=m
CONFIG_SND_MPU401_UART=m