Lines Matching refs:vc

26 			       struct vc_data *vc)
28 int i, offset = (vc->vc_font.height < 10) ? 1 : 2;
29 int width = DIV_ROUND_UP(vc->vc_font.width, 8);
30 unsigned int cellsize = vc->vc_font.height * width;
46 static void bit_bmove(struct vc_data *vc, struct fb_info *info, int sy,
51 area.sx = sx * vc->vc_font.width;
52 area.sy = sy * vc->vc_font.height;
53 area.dx = dx * vc->vc_font.width;
54 area.dy = dy * vc->vc_font.height;
55 area.height = height * vc->vc_font.height;
56 area.width = width * vc->vc_font.width;
61 static void bit_clear(struct vc_data *vc, struct fb_info *info, int sy,
64 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
67 region.color = attr_bgcol_ec(bgshift, vc, info);
68 region.dx = sx * vc->vc_font.width;
69 region.dy = sy * vc->vc_font.height;
70 region.width = width * vc->vc_font.width;
71 region.height = height * vc->vc_font.height;
77 static inline void bit_putcs_aligned(struct vc_data *vc, struct fb_info *info,
82 u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
83 u32 idx = vc->vc_font.width >> 3;
87 src = vc->vc_font.data + (scr_readw(s++)&
91 update_attr(buf, src, attr, vc);
108 static inline void bit_putcs_unaligned(struct vc_data *vc,
115 u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
116 u32 shift_low = 0, mod = vc->vc_font.width % 8;
118 u32 idx = vc->vc_font.width >> 3;
122 src = vc->vc_font.data + (scr_readw(s++)&
126 update_attr(buf, src, attr, vc);
143 static void bit_putcs(struct vc_data *vc, struct fb_info *info,
148 u32 width = DIV_ROUND_UP(vc->vc_font.width, 8);
149 u32 cellsize = width * vc->vc_font.height;
153 u32 mod = vc->vc_font.width % 8, cnt, pitch, size;
159 image.dx = xx * vc->vc_font.width;
160 image.dy = yy * vc->vc_font.height;
161 image.height = vc->vc_font.height;
176 image.width = vc->vc_font.width * cnt;
185 bit_putcs_aligned(vc, info, s, attribute, cnt, pitch,
188 bit_putcs_unaligned(vc, info, s, attribute, cnt,
192 image.dx += cnt * vc->vc_font.width;
205 static void bit_clear_margins(struct vc_data *vc, struct fb_info *info,
208 unsigned int cw = vc->vc_font.width;
209 unsigned int ch = vc->vc_font.height;
210 unsigned int rw = info->var.xres - (vc->vc_cols*cw);
211 unsigned int bh = info->var.yres - (vc->vc_rows*ch);
236 static void bit_cursor(struct vc_data *vc, struct fb_info *info, bool enable,
241 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
242 int w = DIV_ROUND_UP(vc->vc_font.width, 8), c;
243 int y = real_y(ops->p, vc->state.y);
244 int attribute, use_sw = vc->vc_cursor_type & CUR_SW;
250 if (!vc->vc_font.data)
253 c = scr_readw((u16 *) vc->vc_pos);
255 src = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height));
266 dst = kmalloc_array(w, vc->vc_font.height, GFP_ATOMIC);
271 update_attr(dst, src, attribute, vc);
283 if ((ops->cursor_state.image.dx != (vc->vc_font.width * vc->state.x)) ||
284 (ops->cursor_state.image.dy != (vc->vc_font.height * y)) ||
286 ops->cursor_state.image.dx = vc->vc_font.width * vc->state.x;
287 ops->cursor_state.image.dy = vc->vc_font.height * y;
291 if (ops->cursor_state.image.height != vc->vc_font.height ||
292 ops->cursor_state.image.width != vc->vc_font.width ||
294 ops->cursor_state.image.height = vc->vc_font.height;
295 ops->cursor_state.image.width = vc->vc_font.width;
306 vc->vc_cursor_type != ops->p->cursor_shape ||
309 char *mask = kmalloc_array(w, vc->vc_font.height, GFP_ATOMIC);
319 ops->p->cursor_shape = vc->vc_cursor_type;
327 cur_height = (vc->vc_font.height < 10) ? 1 : 2;
330 cur_height = vc->vc_font.height/3;
333 cur_height = vc->vc_font.height >> 1;
336 cur_height = (vc->vc_font.height << 1)/3;
340 cur_height = vc->vc_font.height;
343 size = (vc->vc_font.height - cur_height) * w;