Commit 55db0923 authored by David Miller's avatar David Miller Committed by Paul Mundt

svga: Make svga_tilecursor() take an iomem regbase pointer.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 9c96394b
...@@ -158,12 +158,19 @@ static void arkfb_settile(struct fb_info *info, struct fb_tilemap *map) ...@@ -158,12 +158,19 @@ static void arkfb_settile(struct fb_info *info, struct fb_tilemap *map)
} }
} }
static void arkfb_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
{
struct arkfb_info *par = info->par;
svga_tilecursor(par->state.vgabase, info, cursor);
}
static struct fb_tile_ops arkfb_tile_ops = { static struct fb_tile_ops arkfb_tile_ops = {
.fb_settile = arkfb_settile, .fb_settile = arkfb_settile,
.fb_tilecopy = svga_tilecopy, .fb_tilecopy = svga_tilecopy,
.fb_tilefill = svga_tilefill, .fb_tilefill = svga_tilefill,
.fb_tileblit = svga_tileblit, .fb_tileblit = svga_tileblit,
.fb_tilecursor = svga_tilecursor, .fb_tilecursor = arkfb_tilecursor,
.fb_get_tilemax = svga_get_tilemax, .fb_get_tilemax = svga_get_tilemax,
}; };
......
...@@ -188,12 +188,19 @@ static void s3fb_settile_fast(struct fb_info *info, struct fb_tilemap *map) ...@@ -188,12 +188,19 @@ static void s3fb_settile_fast(struct fb_info *info, struct fb_tilemap *map)
} }
} }
static void s3fb_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
{
struct s3fb_info *par = info->par;
svga_tilecursor(par->state.vgabase, info, cursor);
}
static struct fb_tile_ops s3fb_tile_ops = { static struct fb_tile_ops s3fb_tile_ops = {
.fb_settile = svga_settile, .fb_settile = svga_settile,
.fb_tilecopy = svga_tilecopy, .fb_tilecopy = svga_tilecopy,
.fb_tilefill = svga_tilefill, .fb_tilefill = svga_tilefill,
.fb_tileblit = svga_tileblit, .fb_tileblit = svga_tileblit,
.fb_tilecursor = svga_tilecursor, .fb_tilecursor = s3fb_tilecursor,
.fb_get_tilemax = svga_get_tilemax, .fb_get_tilemax = svga_get_tilemax,
}; };
...@@ -202,7 +209,7 @@ static struct fb_tile_ops s3fb_fast_tile_ops = { ...@@ -202,7 +209,7 @@ static struct fb_tile_ops s3fb_fast_tile_ops = {
.fb_tilecopy = svga_tilecopy, .fb_tilecopy = svga_tilecopy,
.fb_tilefill = svga_tilefill, .fb_tilefill = svga_tilefill,
.fb_tileblit = svga_tileblit, .fb_tileblit = svga_tileblit,
.fb_tilecursor = svga_tilecursor, .fb_tilecursor = s3fb_tilecursor,
.fb_get_tilemax = svga_get_tilemax, .fb_get_tilemax = svga_get_tilemax,
}; };
......
...@@ -299,7 +299,7 @@ void svga_tileblit(struct fb_info *info, struct fb_tileblit *blit) ...@@ -299,7 +299,7 @@ void svga_tileblit(struct fb_info *info, struct fb_tileblit *blit)
} }
/* Set cursor in text (tileblit) mode */ /* Set cursor in text (tileblit) mode */
void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor) void svga_tilecursor(void __iomem *regbase, struct fb_info *info, struct fb_tilecursor *cursor)
{ {
u8 cs = 0x0d; u8 cs = 0x0d;
u8 ce = 0x0e; u8 ce = 0x0e;
...@@ -310,7 +310,7 @@ void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor) ...@@ -310,7 +310,7 @@ void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
if (! cursor -> mode) if (! cursor -> mode)
return; return;
svga_wcrt_mask(NULL, 0x0A, 0x20, 0x20); /* disable cursor */ svga_wcrt_mask(regbase, 0x0A, 0x20, 0x20); /* disable cursor */
if (cursor -> shape == FB_TILE_CURSOR_NONE) if (cursor -> shape == FB_TILE_CURSOR_NONE)
return; return;
...@@ -334,11 +334,11 @@ void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor) ...@@ -334,11 +334,11 @@ void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
} }
/* set cursor position */ /* set cursor position */
vga_wcrt(NULL, 0x0E, pos >> 8); vga_wcrt(regbase, 0x0E, pos >> 8);
vga_wcrt(NULL, 0x0F, pos & 0xFF); vga_wcrt(regbase, 0x0F, pos & 0xFF);
vga_wcrt(NULL, 0x0B, ce); /* set cursor end */ vga_wcrt(regbase, 0x0B, ce); /* set cursor end */
vga_wcrt(NULL, 0x0A, cs); /* set cursor start and enable it */ vga_wcrt(regbase, 0x0A, cs); /* set cursor start and enable it */
} }
int svga_get_tilemax(struct fb_info *info) int svga_get_tilemax(struct fb_info *info)
......
...@@ -121,13 +121,19 @@ MODULE_PARM_DESC(mtrr, "Enable write-combining with MTRR (1=enable, 0=disable, d ...@@ -121,13 +121,19 @@ MODULE_PARM_DESC(mtrr, "Enable write-combining with MTRR (1=enable, 0=disable, d
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
static void vt8623fb_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
{
struct vt8623fb_info *par = info->par;
svga_tilecursor(par->state.vgabase, info, cursor);
}
static struct fb_tile_ops vt8623fb_tile_ops = { static struct fb_tile_ops vt8623fb_tile_ops = {
.fb_settile = svga_settile, .fb_settile = svga_settile,
.fb_tilecopy = svga_tilecopy, .fb_tilecopy = svga_tilecopy,
.fb_tilefill = svga_tilefill, .fb_tilefill = svga_tilefill,
.fb_tileblit = svga_tileblit, .fb_tileblit = svga_tileblit,
.fb_tilecursor = svga_tilecursor, .fb_tilecursor = vt8623fb_tilecursor,
.fb_get_tilemax = svga_get_tilemax, .fb_get_tilemax = svga_get_tilemax,
}; };
......
...@@ -109,7 +109,7 @@ void svga_settile(struct fb_info *info, struct fb_tilemap *map); ...@@ -109,7 +109,7 @@ void svga_settile(struct fb_info *info, struct fb_tilemap *map);
void svga_tilecopy(struct fb_info *info, struct fb_tilearea *area); void svga_tilecopy(struct fb_info *info, struct fb_tilearea *area);
void svga_tilefill(struct fb_info *info, struct fb_tilerect *rect); void svga_tilefill(struct fb_info *info, struct fb_tilerect *rect);
void svga_tileblit(struct fb_info *info, struct fb_tileblit *blit); void svga_tileblit(struct fb_info *info, struct fb_tileblit *blit);
void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor); void svga_tilecursor(void __iomem *regbase, struct fb_info *info, struct fb_tilecursor *cursor);
int svga_get_tilemax(struct fb_info *info); int svga_get_tilemax(struct fb_info *info);
void svga_get_caps(struct fb_info *info, struct fb_blit_caps *caps, void svga_get_caps(struct fb_info *info, struct fb_blit_caps *caps,
struct fb_var_screeninfo *var); struct fb_var_screeninfo *var);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment