Lines 278-284
Link Here
|
278 |
c = scr_readw((u16 *) vc->vc_pos); |
278 |
c = scr_readw((u16 *) vc->vc_pos); |
279 |
mode = (!ops->cursor_flash || ops->cursor_state.enable) ? |
279 |
mode = (!ops->cursor_flash || ops->cursor_state.enable) ? |
280 |
CM_ERASE : CM_DRAW; |
280 |
CM_ERASE : CM_DRAW; |
281 |
ops->cursor(vc, info, p, mode, get_color(vc, info, c, 1), |
281 |
ops->cursor(vc, info, p, mode, softback_lines, get_color(vc, info, c, 1), |
282 |
get_color(vc, info, c, 0)); |
282 |
get_color(vc, info, c, 0)); |
283 |
|
283 |
|
284 |
release_console_sem(); |
284 |
release_console_sem(); |
Lines 1112-1138
Link Here
|
1112 |
struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; |
1112 |
struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; |
1113 |
struct fbcon_ops *ops = info->fbcon_par; |
1113 |
struct fbcon_ops *ops = info->fbcon_par; |
1114 |
struct display *p = &fb_display[vc->vc_num]; |
1114 |
struct display *p = &fb_display[vc->vc_num]; |
1115 |
int y = real_y(p, vc->vc_y); |
1115 |
int y; |
1116 |
int c = scr_readw((u16 *) vc->vc_pos); |
1116 |
int c = scr_readw((u16 *) vc->vc_pos); |
1117 |
|
1117 |
|
1118 |
if (fbcon_is_inactive(vc, info)) |
1118 |
if (fbcon_is_inactive(vc, info)) |
1119 |
return; |
1119 |
return; |
1120 |
|
1120 |
|
1121 |
ops->cursor_flash = 1; |
1121 |
ops->cursor_flash = (mode == CM_ERASE) ? 0 : 1; |
1122 |
if (mode & CM_SOFTBACK) { |
1122 |
if (mode & CM_SOFTBACK) { |
1123 |
mode &= ~CM_SOFTBACK; |
1123 |
mode &= ~CM_SOFTBACK; |
1124 |
if (softback_lines) { |
1124 |
y = softback_lines; |
1125 |
if (y + softback_lines >= vc->vc_rows) { |
1125 |
} else { |
1126 |
mode = CM_ERASE; |
1126 |
if (softback_lines) |
1127 |
ops->cursor_flash = 0; |
1127 |
fbcon_set_origin(vc); |
1128 |
} |
1128 |
y = 0; |
1129 |
else |
1129 |
} |
1130 |
y += softback_lines; |
|
|
1131 |
} |
1132 |
} else if (softback_lines) |
1133 |
fbcon_set_origin(vc); |
1134 |
|
1130 |
|
1135 |
ops->cursor(vc, info, p, mode, get_color(vc, info, c, 1), |
1131 |
ops->cursor(vc, info, p, mode, y, get_color(vc, info, c, 1), |
1136 |
get_color(vc, info, c, 0)); |
1132 |
get_color(vc, info, c, 0)); |
1137 |
vbl_cursor_cnt = CURSOR_DRAW_DELAY; |
1133 |
vbl_cursor_cnt = CURSOR_DRAW_DELAY; |
1138 |
} |
1134 |
} |