Lines Matching refs:vc
26 struct vc_data *vc) in cw_update_attr() argument
28 int i, j, offset = (vc->vc_font.height < 10) ? 1 : 2; in cw_update_attr()
29 int width = (vc->vc_font.height + 7) >> 3; in cw_update_attr()
32 for (i = 0; i < vc->vc_font.width; i++) { in cw_update_attr()
48 static void cw_bmove(struct vc_data *vc, struct fb_info *info, int sy, in cw_bmove() argument
55 area.sx = vxres - ((sy + height) * vc->vc_font.height); in cw_bmove()
56 area.sy = sx * vc->vc_font.width; in cw_bmove()
57 area.dx = vxres - ((dy + height) * vc->vc_font.height); in cw_bmove()
58 area.dy = dx * vc->vc_font.width; in cw_bmove()
59 area.width = height * vc->vc_font.height; in cw_bmove()
60 area.height = width * vc->vc_font.width; in cw_bmove()
65 static void cw_clear(struct vc_data *vc, struct fb_info *info, int sy, in cw_clear() argument
73 region.dx = vxres - ((sy + height) * vc->vc_font.height); in cw_clear()
74 region.dy = sx * vc->vc_font.width; in cw_clear()
75 region.height = width * vc->vc_font.width; in cw_clear()
76 region.width = height * vc->vc_font.height; in cw_clear()
82 static inline void cw_putcs_aligned(struct vc_data *vc, struct fb_info *info, in cw_putcs_aligned() argument
88 u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; in cw_putcs_aligned()
89 u32 idx = (vc->vc_font.height + 7) >> 3; in cw_putcs_aligned()
96 cw_update_attr(buf, src, attr, vc); in cw_putcs_aligned()
102 vc->vc_font.width); in cw_putcs_aligned()
105 vc->vc_font.width); in cw_putcs_aligned()
107 dst += d_pitch * vc->vc_font.width; in cw_putcs_aligned()
113 static void cw_putcs(struct vc_data *vc, struct fb_info *info, in cw_putcs() argument
119 u32 width = (vc->vc_font.height + 7)/8; in cw_putcs()
120 u32 cellsize = width * vc->vc_font.width; in cw_putcs()
134 image.dx = vxres - ((yy + 1) * vc->vc_font.height); in cw_putcs()
135 image.dy = xx * vc->vc_font.width; in cw_putcs()
136 image.width = vc->vc_font.height; in cw_putcs()
151 image.height = vc->vc_font.width * cnt; in cw_putcs()
158 cw_putcs_aligned(vc, info, s, attribute, cnt, pitch, in cw_putcs()
173 static void cw_clear_margins(struct vc_data *vc, struct fb_info *info, in cw_clear_margins() argument
176 unsigned int cw = vc->vc_font.width; in cw_clear_margins()
177 unsigned int ch = vc->vc_font.height; in cw_clear_margins()
178 unsigned int rw = info->var.yres - (vc->vc_cols*cw); in cw_clear_margins()
179 unsigned int bh = info->var.xres - (vc->vc_rows*ch); in cw_clear_margins()
203 static void cw_cursor(struct vc_data *vc, struct fb_info *info, bool enable, in cw_cursor() argument
208 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; in cw_cursor()
209 int w = (vc->vc_font.height + 7) >> 3, c; in cw_cursor()
210 int y = real_y(ops->p, vc->state.y); in cw_cursor()
211 int attribute, use_sw = vc->vc_cursor_type & CUR_SW; in cw_cursor()
221 c = scr_readw((u16 *) vc->vc_pos); in cw_cursor()
223 src = ops->fontbuffer + ((c & charmask) * (w * vc->vc_font.width)); in cw_cursor()
234 dst = kmalloc_array(w, vc->vc_font.width, GFP_ATOMIC); in cw_cursor()
239 cw_update_attr(dst, src, attribute, vc); in cw_cursor()
251 if (ops->cursor_state.image.height != vc->vc_font.width || in cw_cursor()
252 ops->cursor_state.image.width != vc->vc_font.height || in cw_cursor()
254 ops->cursor_state.image.height = vc->vc_font.width; in cw_cursor()
255 ops->cursor_state.image.width = vc->vc_font.height; in cw_cursor()
259 dx = vxres - ((y * vc->vc_font.height) + vc->vc_font.height); in cw_cursor()
260 dy = vc->state.x * vc->vc_font.width; in cw_cursor()
277 vc->vc_cursor_type != ops->p->cursor_shape || in cw_cursor()
280 char *tmp, *mask = kmalloc_array(w, vc->vc_font.width, in cw_cursor()
283 int width = (vc->vc_font.width + 7)/8; in cw_cursor()
288 tmp = kmalloc_array(width, vc->vc_font.height, GFP_ATOMIC); in cw_cursor()
298 ops->p->cursor_shape = vc->vc_cursor_type; in cw_cursor()
306 cur_height = (vc->vc_font.height < 10) ? 1 : 2; in cw_cursor()
309 cur_height = vc->vc_font.height/3; in cw_cursor()
312 cur_height = vc->vc_font.height >> 1; in cw_cursor()
315 cur_height = (vc->vc_font.height << 1)/3; in cw_cursor()
319 cur_height = vc->vc_font.height; in cw_cursor()
323 size = (vc->vc_font.height - cur_height) * width; in cw_cursor()
329 memset(mask, 0, w * vc->vc_font.width); in cw_cursor()
330 rotate_cw(tmp, mask, vc->vc_font.width, vc->vc_font.height); in cw_cursor()