aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/cns3xxx
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2016-04-26 11:43:57 +0000
committerJohn Crispin <john@openwrt.org>2016-04-26 11:43:57 +0000
commit6a111b41bcb2802f42f9e92d152d1cef2c19b69b (patch)
tree5585792cb5e0de97efb96de12ee03c57c0e25d58 /target/linux/cns3xxx
parentcb049e71cdc08e17f664403a0ef970c480ae5c4a (diff)
downloadupstream-6a111b41bcb2802f42f9e92d152d1cef2c19b69b.tar.gz
upstream-6a111b41bcb2802f42f9e92d152d1cef2c19b69b.tar.bz2
upstream-6a111b41bcb2802f42f9e92d152d1cef2c19b69b.zip
cns3xxx: backport pci fix for cns3xxx_write_config
Fix is required to properly set pci config bits. Original Patch: https://patchwork.ozlabs.org/patch/596170/ Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com> SVN-Revision: 49248
Diffstat (limited to 'target/linux/cns3xxx')
-rw-r--r--target/linux/cns3xxx/patches-4.4/033-CNS3xxx-Fix-PCI-cns3xxx_write_config.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/target/linux/cns3xxx/patches-4.4/033-CNS3xxx-Fix-PCI-cns3xxx_write_config.patch b/target/linux/cns3xxx/patches-4.4/033-CNS3xxx-Fix-PCI-cns3xxx_write_config.patch
new file mode 100644
index 0000000000..3f5ab06ba5
--- /dev/null
+++ b/target/linux/cns3xxx/patches-4.4/033-CNS3xxx-Fix-PCI-cns3xxx_write_config.patch
@@ -0,0 +1,19 @@
+--- a/arch/arm/mach-cns3xxx/pcie.c
++++ b/arch/arm/mach-cns3xxx/pcie.c
+@@ -220,13 +220,13 @@ static void cns3xxx_write_config(struct
+ u32 mask = (0x1ull << (size * 8)) - 1;
+ int shift = (where % 4) * 8;
+
+- v = readl_relaxed(base + (where & 0xffc));
++ v = readl_relaxed(base);
+
+ v &= ~(mask << shift);
+ v |= (val & mask) << shift;
+
+- writel_relaxed(v, base + (where & 0xffc));
+- readl_relaxed(base + (where & 0xffc));
++ writel_relaxed(v, base);
++ readl_relaxed(base);
+ }
+
+ static void __init cns3xxx_pcie_hw_init(struct cns3xxx_pcie *cnspci)