Lines Matching refs:c

76 #define sisusbcon_memmovew(d, s, c)	memmove(d, s, c)  argument
77 #define sisusbcon_memcpyw(d, s, c) memcpy(d, s, c) argument
86 sisusbcon_memsetw(u16 *s, u16 c, unsigned int count) in sisusbcon_memsetw() argument
90 sisusbcon_writew(c, s++); in sisusbcon_memsetw()
107 sisusbcon_set_start_address(struct sisusb_usb_data *sisusb, struct vc_data *c) in sisusbcon_set_start_address() argument
109 sisusb->cur_start_addr = (c->vc_visible_origin - sisusb->scrbuf) / 2; in sisusbcon_set_start_address()
188 sisusb_is_inactive(struct vc_data *c, struct sisusb_usb_data *sisusb) in sisusb_is_inactive() argument
192 c->vc_mode != KD_TEXT) in sisusb_is_inactive()
207 sisusbcon_init(struct vc_data *c, int init) in sisusbcon_init() argument
218 sisusb = sisusb_get_sisusb(c->vc_num); in sisusbcon_init()
229 c->vc_can_do_color = 1; in sisusbcon_init()
231 c->vc_complement_mask = 0x7700; in sisusbcon_init()
233 c->vc_hi_font_mask = sisusb->current_font_512 ? 0x0800 : 0; in sisusbcon_init()
237 sisusb->havethisconsole[c->vc_num] = 1; in sisusbcon_init()
240 c->vc_scan_lines = 400; in sisusbcon_init()
242 c->vc_font.height = sisusb->current_font_height; in sisusbcon_init()
246 rows = c->vc_scan_lines / c->vc_font.height; in sisusbcon_init()
259 if (!*c->vc_uni_pagedir_loc) in sisusbcon_init()
260 con_set_default_unimap(c); in sisusbcon_init()
265 c->vc_cols = cols; in sisusbcon_init()
266 c->vc_rows = rows; in sisusbcon_init()
268 vc_resize(c, cols, rows); in sisusbcon_init()
273 sisusbcon_deinit(struct vc_data *c) in sisusbcon_deinit() argument
282 sisusb = sisusb_get_sisusb(c->vc_num); in sisusbcon_deinit()
289 mysisusbs[c->vc_num] = NULL; in sisusbcon_deinit()
291 sisusb->havethisconsole[c->vc_num] = 0; in sisusbcon_deinit()
296 if (sisusb->havethisconsole[c->vc_num]) in sisusbcon_deinit()
313 sisusbcon_build_attr(struct vc_data *c, u8 color, u8 intensity, in sisusbcon_build_attr() argument
319 attr = (attr & 0xf0) | c->vc_ulcolor; in sisusbcon_build_attr()
321 attr = (attr & 0xf0) | c->vc_halfcolor; in sisusbcon_build_attr()
359 ((u16 *)c->vc_origin + \
364 ((u16 *)(sisusb->vrambase + (c->vc_origin - sisusb->scrbuf)) + \
370 sisusbcon_putc(struct vc_data *c, int ch, int y, int x) in sisusbcon_putc() argument
375 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_putc()
380 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_putc()
394 sisusbcon_putcs(struct vc_data *c, const unsigned short *s, in sisusbcon_putcs() argument
402 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_putcs()
417 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_putcs()
430 sisusbcon_clear(struct vc_data *c, int y, int x, int height, int width) in sisusbcon_clear() argument
433 u16 eattr = c->vc_video_erase_char; in sisusbcon_clear()
441 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_clear()
458 if (x == 0 && width >= c->vc_cols) { in sisusbcon_clear()
469 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_clear()
485 sisusbcon_bmove(struct vc_data *c, int sy, int sx, in sisusbcon_bmove() argument
495 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_bmove()
503 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_bmove()
519 sisusbcon_switch(struct vc_data *c) in sisusbcon_switch() argument
530 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_switch()
537 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_switch()
546 if (c->vc_origin == (unsigned long)c->vc_screenbuf) { in sisusbcon_switch()
553 length = min((int)c->vc_screenbuf_size, in sisusbcon_switch()
554 (int)(sisusb->scrbuf + sisusb->scrbuf_size - c->vc_origin)); in sisusbcon_switch()
557 sisusbcon_memcpyw((u16 *)c->vc_origin, (u16 *)c->vc_screenbuf, in sisusbcon_switch()
560 sisusb_copy_memory(sisusb, (unsigned char *)c->vc_origin, in sisusbcon_switch()
571 sisusbcon_save_screen(struct vc_data *c) in sisusbcon_save_screen() argument
580 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_save_screen()
586 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_save_screen()
592 length = min((int)c->vc_screenbuf_size, in sisusbcon_save_screen()
593 (int)(sisusb->scrbuf + sisusb->scrbuf_size - c->vc_origin)); in sisusbcon_save_screen()
596 sisusbcon_memcpyw((u16 *)c->vc_screenbuf, (u16 *)c->vc_origin, in sisusbcon_save_screen()
604 sisusbcon_set_palette(struct vc_data *c, unsigned char *table) in sisusbcon_set_palette() argument
611 if (!CON_IS_VISIBLE(c)) in sisusbcon_set_palette()
614 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_set_palette()
620 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_set_palette()
628 if (sisusb_setreg(sisusb, SISCOLDATA, c->vc_palette[j++] >> 2)) in sisusbcon_set_palette()
630 if (sisusb_setreg(sisusb, SISCOLDATA, c->vc_palette[j++] >> 2)) in sisusbcon_set_palette()
632 if (sisusb_setreg(sisusb, SISCOLDATA, c->vc_palette[j++] >> 2)) in sisusbcon_set_palette()
643 sisusbcon_blank(struct vc_data *c, int blank, int mode_switch) in sisusbcon_blank() argument
650 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_blank()
659 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_blank()
668 sisusbcon_memsetw((u16 *)c->vc_origin, in sisusbcon_blank()
669 c->vc_video_erase_char, in sisusbcon_blank()
670 c->vc_screenbuf_size); in sisusbcon_blank()
672 (unsigned char *)c->vc_origin, in sisusbcon_blank()
674 (c->vc_origin - sisusb->scrbuf)), in sisusbcon_blank()
675 c->vc_screenbuf_size, &written); in sisusbcon_blank()
727 sisusbcon_scrolldelta(struct vc_data *c, int lines) in sisusbcon_scrolldelta() argument
730 int margin = c->vc_size_row * 4; in sisusbcon_scrolldelta()
735 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_scrolldelta()
741 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_scrolldelta()
747 c->vc_visible_origin = c->vc_origin; in sisusbcon_scrolldelta()
751 (c->vc_scr_end - sisusb->scrbuf) + margin) { in sisusbcon_scrolldelta()
753 ul = c->vc_scr_end - sisusb->scrbuf; in sisusbcon_scrolldelta()
754 we = sisusb->con_rolled_over + c->vc_size_row; in sisusbcon_scrolldelta()
763 p = (c->vc_visible_origin - sisusb->scrbuf - ul + we) % we + in sisusbcon_scrolldelta()
764 lines * c->vc_size_row; in sisusbcon_scrolldelta()
766 st = (c->vc_origin - sisusb->scrbuf - ul + we) % we; in sisusbcon_scrolldelta()
777 c->vc_visible_origin = sisusb->scrbuf + (p + ul) % we; in sisusbcon_scrolldelta()
780 sisusbcon_set_start_address(sisusb, c); in sisusbcon_scrolldelta()
789 sisusbcon_cursor(struct vc_data *c, int mode) in sisusbcon_cursor() argument
794 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_cursor()
800 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_cursor()
805 if (c->vc_origin != c->vc_visible_origin) { in sisusbcon_cursor()
806 c->vc_visible_origin = c->vc_origin; in sisusbcon_cursor()
807 sisusbcon_set_start_address(sisusb, c); in sisusbcon_cursor()
817 sisusb_set_cursor(sisusb, (c->vc_pos - sisusb->scrbuf) / 2); in sisusbcon_cursor()
819 baseline = c->vc_font.height - (c->vc_font.height < 10 ? 1 : 2); in sisusbcon_cursor()
821 switch (c->vc_cursor_type & 0x0f) { in sisusbcon_cursor()
823 to = c->vc_font.height; in sisusbcon_cursor()
825 case CUR_TWO_THIRDS: from = c->vc_font.height / 3; in sisusbcon_cursor()
828 case CUR_LOWER_HALF: from = c->vc_font.height / 2; in sisusbcon_cursor()
831 case CUR_LOWER_THIRD: from = (c->vc_font.height * 2) / 3; in sisusbcon_cursor()
857 sisusbcon_scroll_area(struct vc_data *c, struct sisusb_usb_data *sisusb, in sisusbcon_scroll_area() argument
862 u16 eattr = c->vc_video_erase_char; in sisusbcon_scroll_area()
902 sisusbcon_scroll(struct vc_data *c, int t, int b, int dir, int lines) in sisusbcon_scroll() argument
905 u16 eattr = c->vc_video_erase_char; in sisusbcon_scroll()
909 unsigned int delta = lines * c->vc_size_row; in sisusbcon_scroll()
922 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_scroll()
928 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_scroll()
934 if (t || b != c->vc_rows) in sisusbcon_scroll()
935 return sisusbcon_scroll_area(c, sisusb, t, b, dir, lines); in sisusbcon_scroll()
937 if (c->vc_origin != c->vc_visible_origin) { in sisusbcon_scroll()
938 c->vc_visible_origin = c->vc_origin; in sisusbcon_scroll()
939 sisusbcon_set_start_address(sisusb, c); in sisusbcon_scroll()
943 if (lines > c->vc_rows) in sisusbcon_scroll()
944 lines = c->vc_rows; in sisusbcon_scroll()
946 oldorigin = c->vc_origin; in sisusbcon_scroll()
952 if (c->vc_scr_end + delta >= in sisusbcon_scroll()
956 c->vc_screenbuf_size - delta); in sisusbcon_scroll()
957 c->vc_origin = sisusb->scrbuf; in sisusbcon_scroll()
961 c->vc_origin += delta; in sisusbcon_scroll()
964 (u16 *)(c->vc_origin + c->vc_screenbuf_size - delta), in sisusbcon_scroll()
974 c->vc_screenbuf_size + in sisusbcon_scroll()
977 c->vc_screenbuf_size - delta); in sisusbcon_scroll()
978 c->vc_origin = sisusb->scrbuf + in sisusbcon_scroll()
980 c->vc_screenbuf_size; in sisusbcon_scroll()
984 c->vc_origin -= delta; in sisusbcon_scroll()
986 c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size; in sisusbcon_scroll()
988 scr_memsetw((u16 *)(c->vc_origin), eattr, delta); in sisusbcon_scroll()
993 originoffset = (u32)(c->vc_origin - sisusb->scrbuf); in sisusbcon_scroll()
997 (char *)c->vc_origin, in sisusbcon_scroll()
999 c->vc_screenbuf_size, &written); in sisusbcon_scroll()
1002 (char *)c->vc_origin + c->vc_screenbuf_size - delta, in sisusbcon_scroll()
1004 c->vc_screenbuf_size - delta, in sisusbcon_scroll()
1008 (char *)c->vc_origin, in sisusbcon_scroll()
1012 c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size; in sisusbcon_scroll()
1013 c->vc_visible_origin = c->vc_origin; in sisusbcon_scroll()
1015 sisusbcon_set_start_address(sisusb, c); in sisusbcon_scroll()
1017 c->vc_pos = c->vc_pos - oldorigin + c->vc_origin; in sisusbcon_scroll()
1026 sisusbcon_set_origin(struct vc_data *c) in sisusbcon_set_origin() argument
1035 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_set_origin()
1041 if (sisusb_is_inactive(c, sisusb) || sisusb->con_blanked) { in sisusbcon_set_origin()
1046 c->vc_origin = c->vc_visible_origin = sisusb->scrbuf; in sisusbcon_set_origin()
1048 sisusbcon_set_start_address(sisusb, c); in sisusbcon_set_origin()
1059 sisusbcon_resize(struct vc_data *c, unsigned int newcols, unsigned int newrows, in sisusbcon_resize() argument
1065 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_resize()
1080 if (newcols != 80 || c->vc_scan_lines / fh != newrows) in sisusbcon_resize()
1089 struct vc_data *c, int fh, int uplock) in sisusbcon_do_font_op() argument
1234 if (c) { in sisusbcon_do_font_op()
1237 rows = c->vc_scan_lines / fh; in sisusbcon_do_font_op()
1267 if (dorecalc && c) { in sisusbcon_do_font_op()
1268 int rows = c->vc_scan_lines / fh; in sisusbcon_do_font_op()
1296 sisusbcon_font_set(struct vc_data *c, struct console_font *font, in sisusbcon_font_set() argument
1305 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_font_set()
1337 c, font->height, 1); in sisusbcon_font_set()
1342 sisusbcon_font_get(struct vc_data *c, struct console_font *font) in sisusbcon_font_get() argument
1346 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_font_get()
1353 font->height = c->vc_font.height; in sisusbcon_font_get()