kernel/lantiq: Restore kernel files for v5.15
[openwrt/staging/pepe2k.git] / target / linux / lantiq / patches-5.15 / 0154-lantiq-pci-bar11mask-fix.patch
diff --git a/target/linux/lantiq/patches-5.15/0154-lantiq-pci-bar11mask-fix.patch b/target/linux/lantiq/patches-5.15/0154-lantiq-pci-bar11mask-fix.patch
new file mode 100644 (file)
index 0000000..9214f78
--- /dev/null
@@ -0,0 +1,32 @@
+From 3c92a781de062064e36b867c0ab22f9aba48f3d3 Mon Sep 17 00:00:00 2001
+From: Eddi De Pieri <eddi@depieri.net>
+Date: Tue, 8 Nov 2016 17:38:00 +0100
+Subject: [PATCH] lantiq: pci: bar11mask fix
+
+Signed-off-by: Eddi De Pieri <eddi@depieri.net>
+---
+ arch/mips/pci/pci-lantiq.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- 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;
+ }