aboutsummaryrefslogtreecommitdiffstats
path: root/arch/xtensa/include/asm/page.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-04-11 07:40:42 +1000
committerDave Airlie <airlied@redhat.com>2017-04-11 07:40:42 +1000
commitb769fefb68cd70385d68220ae341e5a10723fbc0 (patch)
treea2881410c9dc5a3474619d155fac981cfbd4ee8f /arch/xtensa/include/asm/page.h
parent1420f63b8207e966f54caec26d08abdc2ff37193 (diff)
parent39da7c509acff13fc8cb12ec1bb20337c988ed36 (diff)
downloadkernel_replicant_linux-b769fefb68cd70385d68220ae341e5a10723fbc0.tar.gz
kernel_replicant_linux-b769fefb68cd70385d68220ae341e5a10723fbc0.tar.bz2
kernel_replicant_linux-b769fefb68cd70385d68220ae341e5a10723fbc0.zip
Backmerge tag 'v4.11-rc6' into drm-next
Linux 4.11-rc6 drm-misc needs 4.11-rc5, may as well fix conflicts with rc6.
Diffstat (limited to 'arch/xtensa/include/asm/page.h')
-rw-r--r--arch/xtensa/include/asm/page.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/xtensa/include/asm/page.h b/arch/xtensa/include/asm/page.h
index 976b1d70edbc..4ddbfd57a7c8 100644
--- a/arch/xtensa/include/asm/page.h
+++ b/arch/xtensa/include/asm/page.h
@@ -164,8 +164,21 @@ void copy_user_highpage(struct page *to, struct page *from,
#define ARCH_PFN_OFFSET (PHYS_OFFSET >> PAGE_SHIFT)
+#ifdef CONFIG_MMU
+static inline unsigned long ___pa(unsigned long va)
+{
+ unsigned long off = va - PAGE_OFFSET;
+
+ if (off >= XCHAL_KSEG_SIZE)
+ off -= XCHAL_KSEG_SIZE;
+
+ return off + PHYS_OFFSET;
+}
+#define __pa(x) ___pa((unsigned long)(x))
+#else
#define __pa(x) \
((unsigned long) (x) - PAGE_OFFSET + PHYS_OFFSET)
+#endif
#define __va(x) \
((void *)((unsigned long) (x) - PHYS_OFFSET + PAGE_OFFSET))
#define pfn_valid(pfn) \