Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 56305 Details for
Bug 88883
gentoo-sources-2.6.11-r4 framebuffer scrollback cursor bug
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for 2.6.11 (backported from 2.6.12_rc2).
scrollback_cursor_fix-2.6.11_2.6.12-rc2.patch (text/plain), 3.83 KB, created by
Alex Efros
on 2005-04-14 16:14:07 UTC
(
hide
)
Description:
Patch for 2.6.11 (backported from 2.6.12_rc2).
Filename:
MIME Type:
Creator:
Alex Efros
Created:
2005-04-14 16:14:07 UTC
Size:
3.83 KB
patch
obsolete
>diff -uNr linux-2.6.11-gentoo-r4.orig/drivers/video/console/bitblit.c linux-2.6.11-gentoo-r4/drivers/video/console/bitblit.c >--- linux-2.6.11-gentoo-r4.orig/drivers/video/console/bitblit.c 2005-04-14 07:45:20.000000000 +0300 >+++ linux-2.6.11-gentoo-r4/drivers/video/console/bitblit.c 2005-04-14 21:58:13.000000000 +0300 >@@ -244,7 +244,7 @@ > } > > static void bit_cursor(struct vc_data *vc, struct fb_info *info, >- struct display *p, int mode, int fg, int bg) >+ struct display *p, int mode, int softback_lines, int fg, int bg) > { > struct fb_cursor cursor; > struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par; >@@ -256,6 +256,15 @@ > > cursor.set = 0; > >+ if (softback_lines) { >+ if (y + softback_lines >= vc->vc_rows) { >+ mode = CM_ERASE; >+ ops->cursor_flash = 0; >+ return; >+ } else >+ y += softback_lines; >+ } >+ > c = scr_readw((u16 *) vc->vc_pos); > attribute = get_attribute(info, c); > src = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height)); >diff -uNr linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.c linux-2.6.11-gentoo-r4/drivers/video/console/fbcon.c >--- linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.c 2005-04-14 07:45:20.000000000 +0300 >+++ linux-2.6.11-gentoo-r4/drivers/video/console/fbcon.c 2005-04-14 22:06:36.000000000 +0300 >@@ -278,7 +278,7 @@ > c = scr_readw((u16 *) vc->vc_pos); > mode = (!ops->cursor_flash || ops->cursor_state.enable) ? > CM_ERASE : CM_DRAW; >- ops->cursor(vc, info, p, mode, get_color(vc, info, c, 1), >+ ops->cursor(vc, info, p, mode, softback_lines, get_color(vc, info, c, 1), > get_color(vc, info, c, 0)); > > release_console_sem(); >@@ -1112,27 +1112,23 @@ > struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; > struct fbcon_ops *ops = info->fbcon_par; > struct display *p = &fb_display[vc->vc_num]; >- int y = real_y(p, vc->vc_y); >+ int y; > int c = scr_readw((u16 *) vc->vc_pos); > > if (fbcon_is_inactive(vc, info)) > return; > >- ops->cursor_flash = 1; >+ ops->cursor_flash = (mode == CM_ERASE) ? 0 : 1; > if (mode & CM_SOFTBACK) { > mode &= ~CM_SOFTBACK; >- if (softback_lines) { >- if (y + softback_lines >= vc->vc_rows) { >- mode = CM_ERASE; >- ops->cursor_flash = 0; >- } >- else >- y += softback_lines; >- } >- } else if (softback_lines) >- fbcon_set_origin(vc); >+ y = softback_lines; >+ } else { >+ if (softback_lines) >+ fbcon_set_origin(vc); >+ y = 0; >+ } > >- ops->cursor(vc, info, p, mode, get_color(vc, info, c, 1), >+ ops->cursor(vc, info, p, mode, y, get_color(vc, info, c, 1), > get_color(vc, info, c, 0)); > vbl_cursor_cnt = CURSOR_DRAW_DELAY; > } >diff -uNr linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.h linux-2.6.11-gentoo-r4/drivers/video/console/fbcon.h >--- linux-2.6.11-gentoo-r4.orig/drivers/video/console/fbcon.h 2005-04-14 07:45:20.000000000 +0300 >+++ linux-2.6.11-gentoo-r4/drivers/video/console/fbcon.h 2005-04-14 22:09:57.000000000 +0300 >@@ -59,7 +59,7 @@ > void (*clear_margins)(struct vc_data *vc, struct fb_info *info, > int bottom_only); > void (*cursor)(struct vc_data *vc, struct fb_info *info, >- struct display *p, int mode, int fg, int bg); >+ struct display *p, int mode, int softback_lines, int fg, int bg); > > struct timer_list cursor_timer; /* Cursor timer */ > struct fb_cursor cursor_state; >diff -uNr linux-2.6.11-gentoo-r4.orig/drivers/video/console/tileblit.c linux-2.6.11-gentoo-r4/drivers/video/console/tileblit.c >--- linux-2.6.11-gentoo-r4.orig/drivers/video/console/tileblit.c 2005-04-14 07:45:20.000000000 +0300 >+++ linux-2.6.11-gentoo-r4/drivers/video/console/tileblit.c 2005-04-14 22:11:32.000000000 +0300 >@@ -81,7 +81,8 @@ > } > > static void tile_cursor(struct vc_data *vc, struct fb_info *info, >- struct display *p, int mode, int fg, int bg) >+ struct display *p, int mode, int softback_lines, >+ int fg, int bg) > { > struct fb_tilecursor cursor; > int use_sw = (vc->vc_cursor_type & 0x01);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 88883
:
56111
| 56305