Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 88883 | Differences between
and this patch

Collapse All | Expand All

(-)linux-2.6.11-gentoo-r4.orig/drivers/video/console/bitblit.c (-1 / +10 lines)
Lines 244-250 Link Here
244
}
244
}
245
245
246
static void bit_cursor(struct vc_data *vc, struct fb_info *info,
246
static void bit_cursor(struct vc_data *vc, struct fb_info *info,
247
		       struct display *p, int mode, int fg, int bg)
247
		       struct display *p, int mode, int softback_lines, int fg, int bg)
248
{
248
{
249
	struct fb_cursor cursor;
249
	struct fb_cursor cursor;
250
	struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par;
250
	struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par;
Lines 256-261 Link Here
256
256
257
	cursor.set = 0;
257
	cursor.set = 0;
258
258
259
	if (softback_lines) {
260
		if (y + softback_lines >= vc->vc_rows) {
261
			mode = CM_ERASE;
262
			ops->cursor_flash = 0;
263
			return;
264
		} else
265
			y += softback_lines;
266
	}
267
259
 	c = scr_readw((u16 *) vc->vc_pos);
268
 	c = scr_readw((u16 *) vc->vc_pos);
260
	attribute = get_attribute(info, c);
269
	attribute = get_attribute(info, c);
261
	src = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height));
270
	src = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height));
(-)linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.c (-14 / +10 lines)
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
}
(-)linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.h (-1 / +1 lines)
Lines 59-65 Link Here
59
	void (*clear_margins)(struct vc_data *vc, struct fb_info *info,
59
	void (*clear_margins)(struct vc_data *vc, struct fb_info *info,
60
			      int bottom_only);
60
			      int bottom_only);
61
	void (*cursor)(struct vc_data *vc, struct fb_info *info,
61
	void (*cursor)(struct vc_data *vc, struct fb_info *info,
62
		       struct display *p, int mode, int fg, int bg);
62
		       struct display *p, int mode, int softback_lines, int fg, int bg);
63
63
64
	struct timer_list cursor_timer; /* Cursor timer */
64
	struct timer_list cursor_timer; /* Cursor timer */
65
	struct fb_cursor cursor_state;
65
	struct fb_cursor cursor_state;
(-)linux-2.6.11-gentoo-r4.orig/drivers/video/console/tileblit.c (-1 / +2 lines)
Lines 81-87 Link Here
81
}
81
}
82
82
83
static void tile_cursor(struct vc_data *vc, struct fb_info *info,
83
static void tile_cursor(struct vc_data *vc, struct fb_info *info,
84
			struct display *p, int mode, int fg, int bg)
84
			struct display *p, int mode, int softback_lines,
85
			int fg, int bg)
85
{
86
{
86
	struct fb_tilecursor cursor;
87
	struct fb_tilecursor cursor;
87
	int use_sw = (vc->vc_cursor_type & 0x01);
88
	int use_sw = (vc->vc_cursor_type & 0x01);

Return to bug 88883