1 /* SPDX-License-Identifier: GPL-2.0 */
2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
4 #include <asm/shmparam.h>
6 extern void flush_dcache_page(struct page
*page
);
8 static inline unsigned long pages_do_alias(unsigned long addr1
,
11 return (addr1
^ addr2
) & (SHMLBA
-1);
14 static inline void clear_user_page(void *addr
, unsigned long vaddr
,
18 if (pages_do_alias((unsigned long) addr
, vaddr
& PAGE_MASK
))
19 flush_dcache_page(page
);
22 static inline void copy_user_page(void *to
, void *from
, unsigned long vaddr
,
26 if (pages_do_alias((unsigned long) to
, vaddr
& PAGE_MASK
))
27 flush_dcache_page(page
);