11 #include <linux/module.h>
12 #include <linux/string.h>
16 #include <asm/types.h>
22 struct fb_tilearea area;
31 info->tileops->fb_tilecopy(info, &area);
34 static void tile_clear(
struct vc_data *vc,
struct fb_info *info,
int sy,
35 int sx,
int height,
int width)
37 struct fb_tilerect rect;
51 info->tileops->fb_tilefill(info, &rect);
55 const unsigned short *
s,
int count,
int yy,
int xx,
58 struct fb_tileblit blit;
73 info->tileops->fb_tileblit(info, &blit);
76 static void tile_clear_margins(
struct vc_data *vc,
struct fb_info *info,
83 int softback_lines,
int fg,
int bg)
85 struct fb_tilecursor cursor;
90 cursor.mode = (mode ==
CM_ERASE || use_sw) ? 0 : 1;
96 cursor.shape = FB_TILE_CURSOR_NONE;
99 cursor.shape = FB_TILE_CURSOR_UNDERLINE;
102 cursor.shape = FB_TILE_CURSOR_LOWER_THIRD;
105 cursor.shape = FB_TILE_CURSOR_LOWER_HALF;
108 cursor.shape = FB_TILE_CURSOR_TWO_THIRDS;
112 cursor.shape = FB_TILE_CURSOR_BLOCK;
116 info->tileops->fb_tilecursor(info, &cursor);
119 static int tile_update_start(
struct fb_info *info)
125 ops->
var.xoffset = info->
var.xoffset;
126 ops->
var.yoffset = info->
var.yoffset;
127 ops->
var.vmode = info->
var.vmode;
133 struct fb_tilemap map;
136 ops->
bmove = tile_bmove;
137 ops->
clear = tile_clear;
138 ops->
putcs = tile_putcs;
140 ops->
cursor = tile_cursor;
145 map.height = vc->
vc_font.height;
147 map.length = (ops->
p->userfont) ?
149 map.data = ops->
p->fontdata;
150 info->tileops->fb_settile(info, &map);