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
374 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_putc()
379 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_putc()
393 sisusbcon_putcs(struct vc_data *c, const unsigned short *s, in sisusbcon_putcs() argument
400 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_putcs()
415 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_putcs()
428 sisusbcon_clear(struct vc_data *c, int y, int x, int height, int width) in sisusbcon_clear() argument
431 u16 eattr = c->vc_video_erase_char; in sisusbcon_clear()
438 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_clear()
455 if (x == 0 && width >= c->vc_cols) { in sisusbcon_clear()
466 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_clear()
482 sisusbcon_switch(struct vc_data *c) in sisusbcon_switch() argument
492 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_switch()
499 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_switch()
508 if (c->vc_origin == (unsigned long)c->vc_screenbuf) { in sisusbcon_switch()
515 length = min((int)c->vc_screenbuf_size, in sisusbcon_switch()
516 (int)(sisusb->scrbuf + sisusb->scrbuf_size - c->vc_origin)); in sisusbcon_switch()
519 sisusbcon_memcpyw((u16 *)c->vc_origin, (u16 *)c->vc_screenbuf, in sisusbcon_switch()
522 sisusb_copy_memory(sisusb, (unsigned char *)c->vc_origin, in sisusbcon_switch()
533 sisusbcon_save_screen(struct vc_data *c) in sisusbcon_save_screen() argument
542 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_save_screen()
548 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_save_screen()
554 length = min((int)c->vc_screenbuf_size, in sisusbcon_save_screen()
555 (int)(sisusb->scrbuf + sisusb->scrbuf_size - c->vc_origin)); in sisusbcon_save_screen()
558 sisusbcon_memcpyw((u16 *)c->vc_screenbuf, (u16 *)c->vc_origin, in sisusbcon_save_screen()
566 sisusbcon_set_palette(struct vc_data *c, const unsigned char *table) in sisusbcon_set_palette() argument
573 if (!con_is_visible(c)) in sisusbcon_set_palette()
576 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_set_palette()
582 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_set_palette()
590 if (sisusb_setreg(sisusb, SISCOLDATA, c->vc_palette[j++] >> 2)) in sisusbcon_set_palette()
592 if (sisusb_setreg(sisusb, SISCOLDATA, c->vc_palette[j++] >> 2)) in sisusbcon_set_palette()
594 if (sisusb_setreg(sisusb, SISCOLDATA, c->vc_palette[j++] >> 2)) in sisusbcon_set_palette()
603 sisusbcon_blank(struct vc_data *c, int blank, int mode_switch) in sisusbcon_blank() argument
609 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_blank()
618 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_blank()
627 sisusbcon_memsetw((u16 *)c->vc_origin, in sisusbcon_blank()
628 c->vc_video_erase_char, in sisusbcon_blank()
629 c->vc_screenbuf_size); in sisusbcon_blank()
631 (unsigned char *)c->vc_origin, in sisusbcon_blank()
633 (c->vc_origin - sisusb->scrbuf)), in sisusbcon_blank()
634 c->vc_screenbuf_size); in sisusbcon_blank()
686 sisusbcon_scrolldelta(struct vc_data *c, int lines) in sisusbcon_scrolldelta() argument
690 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_scrolldelta()
696 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_scrolldelta()
701 vc_scrolldelta_helper(c, lines, sisusb->con_rolled_over, in sisusbcon_scrolldelta()
704 sisusbcon_set_start_address(sisusb, c); in sisusbcon_scrolldelta()
711 sisusbcon_cursor(struct vc_data *c, int mode) in sisusbcon_cursor() argument
716 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_cursor()
722 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_cursor()
727 if (c->vc_origin != c->vc_visible_origin) { in sisusbcon_cursor()
728 c->vc_visible_origin = c->vc_origin; in sisusbcon_cursor()
729 sisusbcon_set_start_address(sisusb, c); in sisusbcon_cursor()
739 sisusb_set_cursor(sisusb, (c->vc_pos - sisusb->scrbuf) / 2); in sisusbcon_cursor()
741 baseline = c->vc_font.height - (c->vc_font.height < 10 ? 1 : 2); in sisusbcon_cursor()
743 switch (c->vc_cursor_type & 0x0f) { in sisusbcon_cursor()
745 to = c->vc_font.height; in sisusbcon_cursor()
747 case CUR_TWO_THIRDS: from = c->vc_font.height / 3; in sisusbcon_cursor()
750 case CUR_LOWER_HALF: from = c->vc_font.height / 2; in sisusbcon_cursor()
753 case CUR_LOWER_THIRD: from = (c->vc_font.height * 2) / 3; in sisusbcon_cursor()
779 sisusbcon_scroll_area(struct vc_data *c, struct sisusb_usb_data *sisusb, in sisusbcon_scroll_area() argument
785 u16 eattr = c->vc_video_erase_char; in sisusbcon_scroll_area()
824 sisusbcon_scroll(struct vc_data *c, unsigned int t, unsigned int b, in sisusbcon_scroll() argument
828 u16 eattr = c->vc_video_erase_char; in sisusbcon_scroll()
831 unsigned int delta = lines * c->vc_size_row; in sisusbcon_scroll()
844 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_scroll()
850 if (sisusb_is_inactive(c, sisusb)) { in sisusbcon_scroll()
856 if (t || b != c->vc_rows) in sisusbcon_scroll()
857 return sisusbcon_scroll_area(c, sisusb, t, b, dir, lines); in sisusbcon_scroll()
859 if (c->vc_origin != c->vc_visible_origin) { in sisusbcon_scroll()
860 c->vc_visible_origin = c->vc_origin; in sisusbcon_scroll()
861 sisusbcon_set_start_address(sisusb, c); in sisusbcon_scroll()
865 if (lines > c->vc_rows) in sisusbcon_scroll()
866 lines = c->vc_rows; in sisusbcon_scroll()
868 oldorigin = c->vc_origin; in sisusbcon_scroll()
874 if (c->vc_scr_end + delta >= in sisusbcon_scroll()
878 c->vc_screenbuf_size - delta); in sisusbcon_scroll()
879 c->vc_origin = sisusb->scrbuf; in sisusbcon_scroll()
883 c->vc_origin += delta; in sisusbcon_scroll()
886 (u16 *)(c->vc_origin + c->vc_screenbuf_size - delta), in sisusbcon_scroll()
896 c->vc_screenbuf_size + in sisusbcon_scroll()
899 c->vc_screenbuf_size - delta); in sisusbcon_scroll()
900 c->vc_origin = sisusb->scrbuf + in sisusbcon_scroll()
902 c->vc_screenbuf_size; in sisusbcon_scroll()
906 c->vc_origin -= delta; in sisusbcon_scroll()
908 c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size; in sisusbcon_scroll()
910 scr_memsetw((u16 *)(c->vc_origin), eattr, delta); in sisusbcon_scroll()
915 originoffset = (u32)(c->vc_origin - sisusb->scrbuf); in sisusbcon_scroll()
919 (char *)c->vc_origin, in sisusbcon_scroll()
921 c->vc_screenbuf_size); in sisusbcon_scroll()
924 (char *)c->vc_origin + c->vc_screenbuf_size - delta, in sisusbcon_scroll()
926 c->vc_screenbuf_size - delta, in sisusbcon_scroll()
930 (char *)c->vc_origin, in sisusbcon_scroll()
934 c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size; in sisusbcon_scroll()
935 c->vc_visible_origin = c->vc_origin; in sisusbcon_scroll()
937 sisusbcon_set_start_address(sisusb, c); in sisusbcon_scroll()
939 c->vc_pos = c->vc_pos - oldorigin + c->vc_origin; in sisusbcon_scroll()
948 sisusbcon_set_origin(struct vc_data *c) in sisusbcon_set_origin() argument
957 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_set_origin()
963 if (sisusb_is_inactive(c, sisusb) || sisusb->con_blanked) { in sisusbcon_set_origin()
968 c->vc_origin = c->vc_visible_origin = sisusb->scrbuf; in sisusbcon_set_origin()
970 sisusbcon_set_start_address(sisusb, c); in sisusbcon_set_origin()
981 sisusbcon_resize(struct vc_data *c, unsigned int newcols, unsigned int newrows, in sisusbcon_resize() argument
987 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_resize()
1002 if (newcols != 80 || c->vc_scan_lines / fh != newrows) in sisusbcon_resize()
1011 struct vc_data *c, int fh, int uplock) in sisusbcon_do_font_op() argument
1156 if (c) { in sisusbcon_do_font_op()
1159 rows = c->vc_scan_lines / fh; in sisusbcon_do_font_op()
1189 if (dorecalc && c) { in sisusbcon_do_font_op()
1190 int rows = c->vc_scan_lines / fh; in sisusbcon_do_font_op()
1218 sisusbcon_font_set(struct vc_data *c, struct console_font *font, in sisusbcon_font_set() argument
1227 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_font_set()
1259 c, font->height, 1); in sisusbcon_font_set()
1264 sisusbcon_font_get(struct vc_data *c, struct console_font *font) in sisusbcon_font_get() argument
1268 sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num); in sisusbcon_font_get()
1275 font->height = c->vc_font.height; in sisusbcon_font_get()
1343 static void sisusbdummycon_putc(struct vc_data *vc, int c, int ypos, in sisusbdummycon_putc() argument