diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2005-07-11 10:37:51 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 19:31:41 +0100 |
commit | c0ec406c80a65590dbdb60ed0d0c8e73e6c3884f (patch) | |
tree | faf7c0ed89dd2473951db9c464eb4e301ceab680 | |
parent | 3ef33e68c1e956bb9a93734062076edcccca7070 (diff) |
Fix endianess bugs.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | include/asm-mips/vga.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/asm-mips/vga.h b/include/asm-mips/vga.h index 6b35cf054c7..ca5cec97e16 100644 --- a/include/asm-mips/vga.h +++ b/include/asm-mips/vga.h @@ -6,6 +6,8 @@ #ifndef _ASM_VGA_H #define _ASM_VGA_H +#include <asm/byteorder.h> + /* * On the PC, we can just recalculate addresses and then * access the videoram directly without any black magic. @@ -16,4 +18,27 @@ #define vga_readb(x) (*(x)) #define vga_writeb(x,y) (*(y) = (x)) +#define VT_BUF_HAVE_RW +/* + * These are only needed for supporting VGA or MDA text mode, which use little + * endian byte ordering. + * In other cases, we can optimize by using native byte ordering and + * <linux/vt_buffer.h> has already done the right job for us. + */ + +static inline void scr_writew(u16 val, volatile u16 *addr) +{ + *addr = cpu_to_le16(val); +} + +static inline u16 scr_readw(volatile const u16 *addr) +{ + return le16_to_cpu(*addr); +} + +#define scr_memcpyw(d, s, c) memcpy(d, s, c) +#define scr_memmovew(d, s, c) memmove(d, s, c) +#define VT_BUF_HAVE_MEMCPYW +#define VT_BUF_HAVE_MEMMOVEW + #endif /* _ASM_VGA_H */ |