Hi, On Monday, April 26, 2021 7:30 PM, Vineet Gupta wrote: > On 4/26/21 3:08 AM, Vladimir Isaev wrote: > > > > > #endif /* _UAPI__ASM_ARC_PAGE_H */ > > diff --git a/arch/arc/mm/ioremap.c b/arch/arc/mm/ioremap.c > > index fac4adc90204..eb109d57d544 100644 > > --- a/arch/arc/mm/ioremap.c > > +++ b/arch/arc/mm/ioremap.c > > @@ -71,8 +71,8 @@ void __iomem *ioremap_prot(phys_addr_t paddr, > unsigned long size, > > prot = pgprot_noncached(prot); > > > > /* Mappings have to be page-aligned */ > > - off = paddr & ~PAGE_MASK; > > This is offset *within* a page so upper bits must not matter. In fact, > with this a bogus offset like 0xFF_FFFFFFFF can turn into something > weird such as 0xFF_00000000 I understand, but idea here is to use PHYSICAL_PAGE_MASK/PAGE_MASK_PHYS for any phys_addr_t variable without thinking. So if off is actually offset for virtual address we can use unsigned long for it. Thank you, Vladimir Isaev