aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-5.10/0154-lantiq-pci-bar11mask-fix.patch
diff options
context:
space:
mode:
authorMathias Kresin <dev@kresin.me>2020-12-27 10:26:37 +0100
committerMathias Kresin <dev@kresin.me>2021-04-12 23:23:09 +0200
commite44e454ee65bb0631fbea64ea1e30b40735ed97b (patch)
tree6581a14c92f5732db1d42bbe649c65ccdd4a30ee /target/linux/lantiq/patches-5.10/0154-lantiq-pci-bar11mask-fix.patch
parent276c85825c859f93d3f7ce501630af631e4d9e32 (diff)
downloadupstream-e44e454ee65bb0631fbea64ea1e30b40735ed97b.tar.gz
upstream-e44e454ee65bb0631fbea64ea1e30b40735ed97b.tar.bz2
upstream-e44e454ee65bb0631fbea64ea1e30b40735ed97b.zip
lantiq: copy target to kernel 5.10
Duplicate kernel 5.4 config and patches for kernel 5.10. Duplicate the devicetree source files as well, they need kernel 5.10 specific adjustments. Signed-off-by: Mathias Kresin <dev@kresin.me>
Diffstat (limited to 'target/linux/lantiq/patches-5.10/0154-lantiq-pci-bar11mask-fix.patch')
-rw-r--r--target/linux/lantiq/patches-5.10/0154-lantiq-pci-bar11mask-fix.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/target/linux/lantiq/patches-5.10/0154-lantiq-pci-bar11mask-fix.patch b/target/linux/lantiq/patches-5.10/0154-lantiq-pci-bar11mask-fix.patch
new file mode 100644
index 0000000000..d6556d115d
--- /dev/null
+++ b/target/linux/lantiq/patches-5.10/0154-lantiq-pci-bar11mask-fix.patch
@@ -0,0 +1,22 @@
+--- a/arch/mips/pci/pci-lantiq.c
++++ b/arch/mips/pci/pci-lantiq.c
+@@ -59,6 +59,8 @@
+ #define ltq_pci_cfg_w32(x, y) ltq_w32((x), ltq_pci_mapped_cfg + (y))
+ #define ltq_pci_cfg_r32(x) ltq_r32(ltq_pci_mapped_cfg + (x))
+
++extern u32 max_low_pfn;
++
+ __iomem void *ltq_pci_mapped_cfg;
+ static __iomem void *ltq_pci_membase;
+
+@@ -84,8 +86,8 @@ static inline u32 ltq_calc_bar11mask(voi
+ u32 mem, bar11mask;
+
+ /* BAR11MASK value depends on available memory on system. */
+- mem = get_num_physpages() * PAGE_SIZE;
+- bar11mask = (0x0ffffff0 & ~((1 << (fls(mem) - 1)) - 1)) | 8;
++ mem = max_low_pfn << PAGE_SHIFT;
++ bar11mask = ((-roundup_pow_of_two(mem)) & 0x0F000000) | 8;
+
+ return bar11mask;
+ }