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