summaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorHuang Pei <huangpei@loongson.cn>2021-03-24 11:24:51 +0800
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>2021-03-25 10:48:42 +0100
commit509d36a941a3466b78d4377913623d210b162458 (patch)
treeb65378c508aa369a1c3fd1e6ef817ed6177a1ec0 /arch/mips
parent84a0124a9d715d844675c8cfbe5bbc9147121f73 (diff)
downloadlinux-509d36a941a3466b78d4377913623d210b162458.tar.gz
linux-509d36a941a3466b78d4377913623d210b162458.tar.bz2
linux-509d36a941a3466b78d4377913623d210b162458.zip
MIPS: loongson64: fix bug when PAGE_SIZE > 16KB
When page size larger than 16KB, arguments "vaddr + size(16KB)" in "ioremap_page_range(vaddr, vaddr + size,...)" called by "add_legacy_isa_io" is not page-aligned. As loongson64 needs at least page size 16KB to get rid of cache alias, and "vaddr" is 64KB-aligned, and 64KB is largest page size supported, rounding "size" up to PAGE_SIZE is enough for all page size supported. Fixes: 6d0068ad15e4 ("MIPS: Loongson64: Process ISA Node in DeviceTree") Signed-off-by: Huang Pei <huangpei@loongson.cn> Acked-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/loongson64/init.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/loongson64/init.c b/arch/mips/loongson64/init.c
index d5a1eddb8202..76e0a9636a0e 100644
--- a/arch/mips/loongson64/init.c
+++ b/arch/mips/loongson64/init.c
@@ -141,7 +141,7 @@ static int __init add_legacy_isa_io(struct fwnode_handle *fwnode, resource_size_
return -ENOMEM;
range->fwnode = fwnode;
- range->size = size;
+ range->size = size = round_up(size, PAGE_SIZE);
range->hw_start = hw_start;
range->flags = LOGIC_PIO_CPU_MMIO;