Lines Matching refs:vc

26 				  struct vc_data *vc)
28 int i, j, offset = (vc->vc_font.height < 10) ? 1 : 2;
29 int width = (vc->vc_font.height + 7) >> 3;
32 for (i = 0; i < vc->vc_font.width; i++) {
48 static void cw_bmove(struct vc_data *vc, struct fb_info *info, int sy,
55 area.sx = vxres - ((sy + height) * vc->vc_font.height);
56 area.sy = sx * vc->vc_font.width;
57 area.dx = vxres - ((dy + height) * vc->vc_font.height);
58 area.dy = dx * vc->vc_font.width;
59 area.width = height * vc->vc_font.height;
60 area.height = width * vc->vc_font.width;
65 static void cw_clear(struct vc_data *vc, struct fb_info *info, int sy,
70 int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
73 region.color = attr_bgcol_ec(bgshift,vc,info);
74 region.dx = vxres - ((sy + height) * vc->vc_font.height);
75 region.dy = sx * vc->vc_font.width;
76 region.height = width * vc->vc_font.width;
77 region.width = height * vc->vc_font.height;
83 static inline void cw_putcs_aligned(struct vc_data *vc, struct fb_info *info,
89 u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
90 u32 idx = (vc->vc_font.height + 7) >> 3;
97 cw_update_attr(buf, src, attr, vc);
103 vc->vc_font.width);
106 vc->vc_font.width);
108 dst += d_pitch * vc->vc_font.width;
114 static void cw_putcs(struct vc_data *vc, struct fb_info *info,
120 u32 width = (vc->vc_font.height + 7)/8;
121 u32 cellsize = width * vc->vc_font.width;
135 image.dx = vxres - ((yy + 1) * vc->vc_font.height);
136 image.dy = xx * vc->vc_font.width;
137 image.width = vc->vc_font.height;
152 image.height = vc->vc_font.width * cnt;
159 cw_putcs_aligned(vc, info, s, attribute, cnt, pitch,
174 static void cw_clear_margins(struct vc_data *vc, struct fb_info *info,
177 unsigned int cw = vc->vc_font.width;
178 unsigned int ch = vc->vc_font.height;
179 unsigned int rw = info->var.yres - (vc->vc_cols*cw);
180 unsigned int bh = info->var.xres - (vc->vc_rows*ch);
204 static void cw_cursor(struct vc_data *vc, struct fb_info *info, bool enable,
209 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
210 int w = (vc->vc_font.height + 7) >> 3, c;
211 int y = real_y(ops->p, vc->state.y);
212 int attribute, use_sw = vc->vc_cursor_type & CUR_SW;
222 c = scr_readw((u16 *) vc->vc_pos);
224 src = ops->fontbuffer + ((c & charmask) * (w * vc->vc_font.width));
235 dst = kmalloc_array(w, vc->vc_font.width, GFP_ATOMIC);
240 cw_update_attr(dst, src, attribute, vc);
252 if (ops->cursor_state.image.height != vc->vc_font.width ||
253 ops->cursor_state.image.width != vc->vc_font.height ||
255 ops->cursor_state.image.height = vc->vc_font.width;
256 ops->cursor_state.image.width = vc->vc_font.height;
260 dx = vxres - ((y * vc->vc_font.height) + vc->vc_font.height);
261 dy = vc->state.x * vc->vc_font.width;
278 vc->vc_cursor_type != ops->p->cursor_shape ||
281 char *tmp, *mask = kmalloc_array(w, vc->vc_font.width,
284 int width = (vc->vc_font.width + 7)/8;
289 tmp = kmalloc_array(width, vc->vc_font.height, GFP_ATOMIC);
299 ops->p->cursor_shape = vc->vc_cursor_type;
307 cur_height = (vc->vc_font.height < 10) ? 1 : 2;
310 cur_height = vc->vc_font.height/3;
313 cur_height = vc->vc_font.height >> 1;
316 cur_height = (vc->vc_font.height << 1)/3;
320 cur_height = vc->vc_font.height;
324 size = (vc->vc_font.height - cur_height) * width;
330 memset(mask, 0, w * vc->vc_font.width);
331 rotate_cw(tmp, mask, vc->vc_font.width, vc->vc_font.height);