2005-04-17 02:20:36 +04:00
/*
* 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))
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
VGA_MAP_MEM translates to ioremap() on some architectures. It makes sense
to do this to vga_vram_base, because we're going to access memory between
vga_vram_base and vga_vram_end.
But it doesn't really make sense to map starting at vga_vram_end, because
we aren't going to access memory starting there. On ia64, which always has
to be different, ioremapping vga_vram_end gives you something completely
incompatible with ioremapped vga_vram_start, so vga_vram_size ends up being
nonsense.
As a bonus, we often know the size up front, so we can use ioremap()
correctly, rather than giving it a zero size.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-23 01:47:32 +04:00
# define VGA_MAP_MEM(x,s) ((unsigned long) ioremap(x, s))
2005-04-17 02:20:36 +04:00
# endif