/[linux-patches]/genpatches-2.6/trunk/2.6.12-pre/2915_fb-scrollback.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.12-pre/2915_fb-scrollback.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4 - (show annotations) (download) (as text)
Sat Jun 11 23:20:41 2005 UTC (15 years, 5 months ago) by dsd
File MIME type: text/x-diff
File size: 4659 byte(s)
Create 2.6.12 branch
1 diff -Naru a/drivers/video/console/bitblit.c b/drivers/video/console/bitblit.c
2 --- a/drivers/video/console/bitblit.c 2005-06-04 04:43:11 -07:00
3 +++ b/drivers/video/console/bitblit.c 2005-06-04 04:43:11 -07:00
4 @@ -236,7 +236,7 @@
5 }
6
7 static void bit_cursor(struct vc_data *vc, struct fb_info *info,
8 - struct display *p, int mode, int fg, int bg)
9 + struct display *p, int mode, int softback_lines, int fg, int bg)
10 {
11 struct fb_cursor cursor;
12 struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par;
13 @@ -247,6 +247,15 @@
14 char *src;
15
16 cursor.set = 0;
17 +
18 + if (softback_lines) {
19 + if (y + softback_lines >= vc->vc_rows) {
20 + mode = CM_ERASE;
21 + ops->cursor_flash = 0;
22 + return;
23 + } else
24 + y += softback_lines;
25 + }
26
27 c = scr_readw((u16 *) vc->vc_pos);
28 attribute = get_attribute(info, c);
29 diff -Naru a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
30 --- a/drivers/video/console/fbcon.c 2005-06-04 04:43:11 -07:00
31 +++ b/drivers/video/console/fbcon.c 2005-06-04 04:43:11 -07:00
32 @@ -279,7 +279,7 @@
33 c = scr_readw((u16 *) vc->vc_pos);
34 mode = (!ops->cursor_flash || ops->cursor_state.enable) ?
35 CM_ERASE : CM_DRAW;
36 - ops->cursor(vc, info, p, mode, get_color(vc, info, c, 1),
37 + ops->cursor(vc, info, p, mode, softback_lines, get_color(vc, info, c, 1),
38 get_color(vc, info, c, 0));
39 release_console_sem();
40 }
41 @@ -1086,27 +1086,23 @@
42 struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
43 struct fbcon_ops *ops = info->fbcon_par;
44 struct display *p = &fb_display[vc->vc_num];
45 - int y = real_y(p, vc->vc_y);
46 + int y;
47 int c = scr_readw((u16 *) vc->vc_pos);
48
49 if (fbcon_is_inactive(vc, info))
50 return;
51
52 - ops->cursor_flash = 1;
53 + ops->cursor_flash = (mode == CM_ERASE) ? 0 : 1;
54 if (mode & CM_SOFTBACK) {
55 mode &= ~CM_SOFTBACK;
56 - if (softback_lines) {
57 - if (y + softback_lines >= vc->vc_rows) {
58 - mode = CM_ERASE;
59 - ops->cursor_flash = 0;
60 - }
61 - else
62 - y += softback_lines;
63 - }
64 - } else if (softback_lines)
65 - fbcon_set_origin(vc);
66 + y = softback_lines;
67 + } else {
68 + if (softback_lines)
69 + fbcon_set_origin(vc);
70 + y = 0;
71 + }
72
73 - ops->cursor(vc, info, p, mode, get_color(vc, info, c, 1),
74 + ops->cursor(vc, info, p, mode, y, get_color(vc, info, c, 1),
75 get_color(vc, info, c, 0));
76 vbl_cursor_cnt = CURSOR_DRAW_DELAY;
77 }
78 diff -Naru a/drivers/video/console/fbcon.h b/drivers/video/console/fbcon.h
79 --- a/drivers/video/console/fbcon.h 2005-06-04 04:43:11 -07:00
80 +++ b/drivers/video/console/fbcon.h 2005-06-04 04:43:11 -07:00
81 @@ -59,7 +59,7 @@
82 void (*clear_margins)(struct vc_data *vc, struct fb_info *info,
83 int bottom_only);
84 void (*cursor)(struct vc_data *vc, struct fb_info *info,
85 - struct display *p, int mode, int fg, int bg);
86 + struct display *p, int mode, int softback_lines, int fg, int bg);
87
88 struct timer_list cursor_timer; /* Cursor timer */
89 struct fb_cursor cursor_state;
90 diff -Naru a/drivers/video/console/tileblit.c b/drivers/video/console/tileblit.c
91 --- a/drivers/video/console/tileblit.c 2005-06-04 04:43:11 -07:00
92 +++ b/drivers/video/console/tileblit.c 2005-06-04 04:43:11 -07:00
93 @@ -81,7 +81,8 @@
94 }
95
96 static void tile_cursor(struct vc_data *vc, struct fb_info *info,
97 - struct display *p, int mode, int fg, int bg)
98 + struct display *p, int mode, int softback_lines,
99 + int fg, int bg)
100 {
101 struct fb_tilecursor cursor;
102 int use_sw = (vc->vc_cursor_type & 0x01);
103 # This is a BitKeeper generated diff -Nru style patch.
104 #
105 # ChangeSet
106 # 2005/03/10 09:12:46-08:00 adaplas@hotpop.com
107 # [PATCH] fbcon: Cursor fixes
108 #
109 # From Jiri Benc:
110 #
111 # we found several bugs in framebuffer console code in recent kernels.
112 #
113 # 1. The escape sequence '\033[?25l' does not work (should disable cursor).
114 #
115 # 2. When scrolling console using Shift-PgUp with cursor in the upper half
116 # part of the screen, cursor position is not updated.
117 #
118 # 3. If cursor is placed at some character and console is scrolled using
119 # Shift-PgUp, that character remains on the screen.
120 #
121 # Signed-off-by: Antonino Daplas <adaplas@pol.net>
122 # Signed-off-by: Andrew Morton <akpm@osdl.org>
123 # Signed-off-by: Linus Torvalds <torvalds@osdl.org>
124 #
125 # drivers/video/console/bitblit.c
126 # 2005/03/10 00:39:08-08:00 adaplas@hotpop.com +10 -1
127 # fbcon: Cursor fixes
128 #
129 # drivers/video/console/fbcon.c
130 # 2005/03/10 00:39:08-08:00 adaplas@hotpop.com +10 -14
131 # fbcon: Cursor fixes
132 #
133 # drivers/video/console/fbcon.h
134 # 2005/03/10 00:39:08-08:00 adaplas@hotpop.com +1 -1
135 # fbcon: Cursor fixes
136 #
137 # drivers/video/console/tileblit.c
138 # 2005/03/10 00:39:08-08:00 adaplas@hotpop.com +2 -1
139 # fbcon: Cursor fixes
140 #

  ViewVC Help
Powered by ViewVC 1.1.20