| From e25a338a75251a6856f48ad5809c5870c05c4b1e Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 29 Jun 2021 22:14:20 +0800 |
| Subject: MIPS: Fix PKMAP with 32-bit MIPS huge page support |
| |
| From: Wei Li <liwei391@huawei.com> |
| |
| [ Upstream commit cf02ce742f09188272bcc8b0e62d789eb671fc4c ] |
| |
| When 32-bit MIPS huge page support is enabled, we halve the number of |
| pointers a PTE page holds, making its last half go to waste. |
| Correspondingly, we should halve the number of kmap entries, as we just |
| initialized only a single pte table for that in pagetable_init(). |
| |
| Fixes: 35476311e529 ("MIPS: Add partial 32-bit huge page support") |
| Signed-off-by: Wei Li <liwei391@huawei.com> |
| Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/mips/include/asm/highmem.h | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/arch/mips/include/asm/highmem.h b/arch/mips/include/asm/highmem.h |
| index f1f788b57166..9f021cf51aa7 100644 |
| --- a/arch/mips/include/asm/highmem.h |
| +++ b/arch/mips/include/asm/highmem.h |
| @@ -36,7 +36,7 @@ extern pte_t *pkmap_page_table; |
| * easily, subsequent pte tables have to be allocated in one physical |
| * chunk of RAM. |
| */ |
| -#ifdef CONFIG_PHYS_ADDR_T_64BIT |
| +#if defined(CONFIG_PHYS_ADDR_T_64BIT) || defined(CONFIG_MIPS_HUGE_TLB_SUPPORT) |
| #define LAST_PKMAP 512 |
| #else |
| #define LAST_PKMAP 1024 |
| -- |
| 2.30.2 |
| |