xref: /linux/arch/loongarch/include/asm/video.h (revision 36ec807b627b4c0a0a382f0ae48eac7187d14b2b)
1*2fd001cdSThomas Zimmermann /* SPDX-License-Identifier: GPL-2.0 */
2*2fd001cdSThomas Zimmermann /*
3*2fd001cdSThomas Zimmermann  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
4*2fd001cdSThomas Zimmermann  */
5*2fd001cdSThomas Zimmermann #ifndef _ASM_VIDEO_H_
6*2fd001cdSThomas Zimmermann #define _ASM_VIDEO_H_
7*2fd001cdSThomas Zimmermann 
8*2fd001cdSThomas Zimmermann #include <linux/compiler.h>
9*2fd001cdSThomas Zimmermann #include <linux/string.h>
10*2fd001cdSThomas Zimmermann 
11*2fd001cdSThomas Zimmermann static inline void fb_memcpy_fromio(void *to, const volatile void __iomem *from, size_t n)
12*2fd001cdSThomas Zimmermann {
13*2fd001cdSThomas Zimmermann 	memcpy(to, (void __force *)from, n);
14*2fd001cdSThomas Zimmermann }
15*2fd001cdSThomas Zimmermann #define fb_memcpy_fromio fb_memcpy_fromio
16*2fd001cdSThomas Zimmermann 
17*2fd001cdSThomas Zimmermann static inline void fb_memcpy_toio(volatile void __iomem *to, const void *from, size_t n)
18*2fd001cdSThomas Zimmermann {
19*2fd001cdSThomas Zimmermann 	memcpy((void __force *)to, from, n);
20*2fd001cdSThomas Zimmermann }
21*2fd001cdSThomas Zimmermann #define fb_memcpy_toio fb_memcpy_toio
22*2fd001cdSThomas Zimmermann 
23*2fd001cdSThomas Zimmermann static inline void fb_memset_io(volatile void __iomem *addr, int c, size_t n)
24*2fd001cdSThomas Zimmermann {
25*2fd001cdSThomas Zimmermann 	memset((void __force *)addr, c, n);
26*2fd001cdSThomas Zimmermann }
27*2fd001cdSThomas Zimmermann #define fb_memset fb_memset_io
28*2fd001cdSThomas Zimmermann 
29*2fd001cdSThomas Zimmermann #include <asm-generic/video.h>
30*2fd001cdSThomas Zimmermann 
31*2fd001cdSThomas Zimmermann #endif /* _ASM_VIDEO_H_ */
32