aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-5.15/0154-lantiq-pci-bar11mask-fix.patch
blob: 9214f786d7b9ccbd61583fa7e2b2e5524558ced7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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;
 }