* [PATCH] MIPS: loongson64: fix bug when PAGE_SIZE > 16KB
@ 2021-03-24 3:24 Huang Pei
2021-03-25 0:50 ` Jiaxun Yang
2021-03-25 10:00 ` Thomas Bogendoerfer
0 siblings, 2 replies; 3+ messages in thread
From: Huang Pei @ 2021-03-24 3:24 UTC (permalink / raw)
To: Thomas Bogendoerfer, ambrosehua
Cc: Bibo Mao, linux-mips, linux-arch, Jiaxun Yang, Paul Burton,
Li Xuefeng, Yang Tiezhu, Gao Juxin, Huacai Chen, Jinyang He
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>
---
arch/mips/loongson64/init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/loongson64/init.c b/arch/mips/loongson64/init.c
index ed75f7971261..052cce6a8a99 100644
--- a/arch/mips/loongson64/init.c
+++ b/arch/mips/loongson64/init.c
@@ -82,7 +82,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;
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] MIPS: loongson64: fix bug when PAGE_SIZE > 16KB
2021-03-24 3:24 [PATCH] MIPS: loongson64: fix bug when PAGE_SIZE > 16KB Huang Pei
@ 2021-03-25 0:50 ` Jiaxun Yang
2021-03-25 10:00 ` Thomas Bogendoerfer
1 sibling, 0 replies; 3+ messages in thread
From: Jiaxun Yang @ 2021-03-25 0:50 UTC (permalink / raw)
To: Huang Pei, Thomas Bogendoerfer, ambrosehua
Cc: Bibo Mao, linux-mips@vger.kernel.org, linux-arch,
paulburton@kernel.org, Xuefeng Li, Tiezhu Yang, Gao Juxin,
Huacai Chen, Jinyang He
On Wed, Mar 24, 2021, at 11:24 AM, Huang Pei wrote:
> 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>
> ---
> arch/mips/loongson64/init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/mips/loongson64/init.c b/arch/mips/loongson64/init.c
> index ed75f7971261..052cce6a8a99 100644
> --- a/arch/mips/loongson64/init.c
> +++ b/arch/mips/loongson64/init.c
> @@ -82,7 +82,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;
>
> --
> 2.17.1
>
>
--
- Jiaxun
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] MIPS: loongson64: fix bug when PAGE_SIZE > 16KB
2021-03-24 3:24 [PATCH] MIPS: loongson64: fix bug when PAGE_SIZE > 16KB Huang Pei
2021-03-25 0:50 ` Jiaxun Yang
@ 2021-03-25 10:00 ` Thomas Bogendoerfer
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Bogendoerfer @ 2021-03-25 10:00 UTC (permalink / raw)
To: Huang Pei
Cc: ambrosehua, Bibo Mao, linux-mips, linux-arch, Jiaxun Yang,
Paul Burton, Li Xuefeng, Yang Tiezhu, Gao Juxin, Huacai Chen,
Jinyang He
On Wed, Mar 24, 2021 at 11:24:51AM +0800, Huang Pei wrote:
> 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>
> ---
> arch/mips/loongson64/init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
applied to mips-next.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-03-25 10:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-24 3:24 [PATCH] MIPS: loongson64: fix bug when PAGE_SIZE > 16KB Huang Pei
2021-03-25 0:50 ` Jiaxun Yang
2021-03-25 10:00 ` Thomas Bogendoerfer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).