Blame view

include/asm-alpha/vga.h 1.96 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  /*
   *	Access to VGA videoram
   *
   *	(c) 1998 Martin Mares <mj@ucw.cz>
   */
  
  #ifndef _LINUX_ASM_VGA_H_
  #define _LINUX_ASM_VGA_H_
  
  #include <asm/io.h>
  
  #define VT_BUF_HAVE_RW
  #define VT_BUF_HAVE_MEMSETW
  #define VT_BUF_HAVE_MEMCPYW
  
  extern inline void scr_writew(u16 val, volatile u16 *addr)
  {
  	if (__is_ioaddr(addr))
  		__raw_writew(val, (volatile u16 __iomem *) addr);
  	else
  		*addr = val;
  }
  
  extern inline u16 scr_readw(volatile const u16 *addr)
  {
  	if (__is_ioaddr(addr))
  		return __raw_readw((volatile const u16 __iomem *) addr);
  	else
  		return *addr;
  }
  
  extern inline void scr_memsetw(u16 *s, u16 c, unsigned int count)
  {
  	if (__is_ioaddr(s))
  		memsetw_io((u16 __iomem *) s, c, count);
  	else
  		memsetw(s, c, count);
  }
  
  /* Do not trust that the usage will be correct; analyze the arguments.  */
  extern void scr_memcpyw(u16 *d, const u16 *s, unsigned int count);
  
  /* ??? These are currently only used for downloading character sets.  As
     such, they don't need memory barriers.  Is this all they are intended
     to be used for?  */
  #define vga_readb(a)	readb((u8 __iomem *)(a))
  #define vga_writeb(v,a)	writeb(v, (u8 __iomem *)(a))
025a22151   Jay Estabrook   ALPHA: support gr...
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  #ifdef CONFIG_VGA_HOSE
  #include <linux/ioport.h>
  #include <linux/pci.h>
  
  extern struct pci_controller *pci_vga_hose;
  
  # define __is_port_vga(a)       \
  	(((a) >= 0x3b0) && ((a) < 0x3e0) && \
  	 ((a) != 0x3b3) && ((a) != 0x3d3))
  
  # define __is_mem_vga(a) \
  	(((a) >= 0xa0000) && ((a) <= 0xc0000))
  
  # define FIXUP_IOADDR_VGA(a) do {                       \
  	if (pci_vga_hose && __is_port_vga(a))     \
  		(a) += pci_vga_hose->io_space->start;	  \
   } while(0)
  
  # define FIXUP_MEMADDR_VGA(a) do {                       \
  	if (pci_vga_hose && __is_mem_vga(a))     \
  		(a) += pci_vga_hose->mem_space->start; \
   } while(0)
  
  #else /* CONFIG_VGA_HOSE */
  # define pci_vga_hose 0
  # define __is_port_vga(a) 0
  # define __is_mem_vga(a) 0
  # define FIXUP_IOADDR_VGA(a)
  # define FIXUP_MEMADDR_VGA(a)
  #endif /* CONFIG_VGA_HOSE */
4f1bcaf09   Bjorn Helgaas   [PATCH] vgacon: m...
78
  #define VGA_MAP_MEM(x,s)	((unsigned long) ioremap(x, s))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
79
80
  
  #endif