Lines Matching refs:vc

26 				  struct vc_data *vc)
28 int i, offset = (vc->vc_font.height < 10) ? 1 : 2;
29 int width = (vc->vc_font.width + 7) >> 3;
30 unsigned int cellsize = vc->vc_font.height * width;
48 static void ud_bmove(struct vc_data *vc, struct fb_info *info, int sy,
56 area.sy = vyres - ((sy + height) * vc->vc_font.height);
57 area.sx = vxres - ((sx + width) * vc->vc_font.width);
58 area.dy = vyres - ((dy + height) * vc->vc_font.height);
59 area.dx = vxres - ((dx + width) * vc->vc_font.width);
60 area.height = height * vc->vc_font.height;
61 area.width = width * vc->vc_font.width;
66 static void ud_clear(struct vc_data *vc, struct fb_info *info, int sy,
71 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
75 region.color = attr_bgcol_ec(bgshift,vc,info);
76 region.dy = vyres - ((sy + height) * vc->vc_font.height);
77 region.dx = vxres - ((sx + width) * vc->vc_font.width);
78 region.width = width * vc->vc_font.width;
79 region.height = height * vc->vc_font.height;
85 static inline void ud_putcs_aligned(struct vc_data *vc, struct fb_info *info,
91 u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
92 u32 idx = vc->vc_font.width >> 3;
99 ud_update_attr(buf, src, attr, vc);
116 static inline void ud_putcs_unaligned(struct vc_data *vc,
124 u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
125 u32 shift_low = 0, mod = vc->vc_font.width % 8;
127 u32 idx = vc->vc_font.width >> 3;
134 ud_update_attr(buf, src, attr, vc);
151 static void ud_putcs(struct vc_data *vc, struct fb_info *info,
157 u32 width = (vc->vc_font.width + 7)/8;
158 u32 cellsize = width * vc->vc_font.height;
162 u32 mod = vc->vc_font.width % 8, cnt, pitch, size;
173 image.dy = vyres - ((yy * vc->vc_font.height) + vc->vc_font.height);
174 image.dx = vxres - ((xx + count) * vc->vc_font.width);
175 image.height = vc->vc_font.height;
192 image.width = vc->vc_font.width * cnt;
201 ud_putcs_aligned(vc, info, s, attribute, cnt, pitch,
204 ud_putcs_unaligned(vc, info, s, attribute, cnt, pitch,
222 static void ud_clear_margins(struct vc_data *vc, struct fb_info *info,
225 unsigned int cw = vc->vc_font.width;
226 unsigned int ch = vc->vc_font.height;
227 unsigned int rw = info->var.xres - (vc->vc_cols*cw);
228 unsigned int bh = info->var.yres - (vc->vc_rows*ch);
251 static void ud_cursor(struct vc_data *vc, struct fb_info *info, bool enable,
256 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
257 int w = (vc->vc_font.width + 7) >> 3, c;
258 int y = real_y(ops->p, vc->state.y);
259 int attribute, use_sw = vc->vc_cursor_type & CUR_SW;
270 c = scr_readw((u16 *) vc->vc_pos);
272 src = ops->fontbuffer + ((c & charmask) * (w * vc->vc_font.height));
283 dst = kmalloc_array(w, vc->vc_font.height, GFP_ATOMIC);
288 ud_update_attr(dst, src, attribute, vc);
300 if (ops->cursor_state.image.height != vc->vc_font.height ||
301 ops->cursor_state.image.width != vc->vc_font.width ||
303 ops->cursor_state.image.height = vc->vc_font.height;
304 ops->cursor_state.image.width = vc->vc_font.width;
308 dy = vyres - ((y * vc->vc_font.height) + vc->vc_font.height);
309 dx = vxres - ((vc->state.x * vc->vc_font.width) + vc->vc_font.width);
326 vc->vc_cursor_type != ops->p->cursor_shape ||
329 char *mask = kmalloc_array(w, vc->vc_font.height, GFP_ATOMIC);
339 ops->p->cursor_shape = vc->vc_cursor_type;
347 cur_height = (vc->vc_font.height < 10) ? 1 : 2;
350 cur_height = vc->vc_font.height/3;
353 cur_height = vc->vc_font.height >> 1;
356 cur_height = (vc->vc_font.height << 1)/3;
360 cur_height = vc->vc_font.height;
369 size = (vc->vc_font.height - cur_height) * w;