1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2a439fe51SSam Ravnborg /*
3a439fe51SSam Ravnborg * Access to VGA videoram
4a439fe51SSam Ravnborg *
5a439fe51SSam Ravnborg * (c) 1998 Martin Mares <mj@ucw.cz>
6a439fe51SSam Ravnborg */
7a439fe51SSam Ravnborg
8a439fe51SSam Ravnborg #ifndef _LINUX_ASM_VGA_H_
9a439fe51SSam Ravnborg #define _LINUX_ASM_VGA_H_
10a439fe51SSam Ravnborg
11187f1882SPaul Gortmaker #include <linux/bug.h>
12ac036f95SMatthew Wilcox #include <linux/string.h>
13a439fe51SSam Ravnborg #include <asm/types.h>
14a439fe51SSam Ravnborg
15a439fe51SSam Ravnborg #define VT_BUF_HAVE_RW
16ac036f95SMatthew Wilcox #define VT_BUF_HAVE_MEMSETW
17ac036f95SMatthew Wilcox #define VT_BUF_HAVE_MEMCPYW
18ac036f95SMatthew Wilcox #define VT_BUF_HAVE_MEMMOVEW
19a439fe51SSam Ravnborg
20a439fe51SSam Ravnborg #undef scr_writew
21a439fe51SSam Ravnborg #undef scr_readw
22a439fe51SSam Ravnborg
scr_writew(u16 val,u16 * addr)23a439fe51SSam Ravnborg static inline void scr_writew(u16 val, u16 *addr)
24a439fe51SSam Ravnborg {
25a439fe51SSam Ravnborg BUG_ON((long) addr >= 0);
26a439fe51SSam Ravnborg
27a439fe51SSam Ravnborg *addr = val;
28a439fe51SSam Ravnborg }
29a439fe51SSam Ravnborg
scr_readw(const u16 * addr)30a439fe51SSam Ravnborg static inline u16 scr_readw(const u16 *addr)
31a439fe51SSam Ravnborg {
32a439fe51SSam Ravnborg BUG_ON((long) addr >= 0);
33a439fe51SSam Ravnborg
34a439fe51SSam Ravnborg return *addr;
35a439fe51SSam Ravnborg }
36a439fe51SSam Ravnborg
scr_memsetw(u16 * p,u16 v,unsigned int n)37ac036f95SMatthew Wilcox static inline void scr_memsetw(u16 *p, u16 v, unsigned int n)
38ac036f95SMatthew Wilcox {
39ac036f95SMatthew Wilcox BUG_ON((long) p >= 0);
40ac036f95SMatthew Wilcox
41ac036f95SMatthew Wilcox memset16(p, cpu_to_le16(v), n / 2);
42ac036f95SMatthew Wilcox }
43ac036f95SMatthew Wilcox
scr_memcpyw(u16 * d,u16 * s,unsigned int n)44ac036f95SMatthew Wilcox static inline void scr_memcpyw(u16 *d, u16 *s, unsigned int n)
45ac036f95SMatthew Wilcox {
46ac036f95SMatthew Wilcox BUG_ON((long) d >= 0);
47ac036f95SMatthew Wilcox
48ac036f95SMatthew Wilcox memcpy(d, s, n);
49ac036f95SMatthew Wilcox }
50ac036f95SMatthew Wilcox
scr_memmovew(u16 * d,u16 * s,unsigned int n)51ac036f95SMatthew Wilcox static inline void scr_memmovew(u16 *d, u16 *s, unsigned int n)
52ac036f95SMatthew Wilcox {
53ac036f95SMatthew Wilcox BUG_ON((long) d >= 0);
54ac036f95SMatthew Wilcox
55ac036f95SMatthew Wilcox memmove(d, s, n);
56ac036f95SMatthew Wilcox }
57ac036f95SMatthew Wilcox
58a439fe51SSam Ravnborg #define VGA_MAP_MEM(x,s) (x)
59a439fe51SSam Ravnborg
60a439fe51SSam Ravnborg #endif
61