lkml.org 
[lkml]   [2003]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [Linux-fbdev-devel] fbcon scrolling + initialisation oddity
    From
    Date
    On Mon, 2003-01-20 at 04:03, Russell King wrote:
    > 1. YWRAP scrolling.
    >
    > There appears to be something weird going on with fbcon scrolling in 2.5.59
    > when using YWRAP. The best example is what happens when scrolling a large
    > file (say, /etc/termcap) in less.
    >
    > While scrolling down in the file, the screen scrolls correctly for the
    > most part. At some point, the screen stops scrolling and the last line
    > which normally displays the less prompt character ":" is replaced by
    > the next line of text. Continuing to scroll down produces no visible
    > changes.
    >
    > Once enough scrolling has occurred, suddenly the screen jumps and we get
    > the proper text displayed.
    >
    > Also, if you scroll line by line until the ":" is replaced by text as
    > above, scrolling back up one line replaces the ":" and scrolling upwards
    > scrolls the screen up correctly.
    >
    > As an additional behaviour point, if you scroll down until the ":" just
    > disappears and then some extra lines, hit 'q' to exit less, followed by
    > ^L, most of the screen is cleared, except for the very top few lines.
    > I haven't checked, but I suspect the number of lines left at the top of
    > the screen is equal to the number of lines we're off the bottom of the
    > screen.
    >

    fb_pan_display() does not test for YWRAP. Can you try this?

    Tony

    diff -Naur linux-2.5.59/drivers/video/fbmem.c linux/drivers/video/fbmem.c
    --- linux-2.5.59/drivers/video/fbmem.c 2003-01-20 01:10:12.000000000 +0000
    +++ linux/drivers/video/fbmem.c 2003-01-20 01:14:27.000000000 +0000
    @@ -724,11 +724,15 @@
    {
    int xoffset = var->xoffset;
    int yoffset = var->yoffset;
    + int ybottom = var->yoffset;
    int err;

    + if (!(var->vmode & FB_VMODE_YWRAP))
    + ybottom += info->var.yres;
    +
    if (xoffset < 0 || yoffset < 0 || !info->fbops->fb_pan_display ||
    xoffset + info->var.xres > info->var.xres_virtual ||
    - yoffset + info->var.yres > info->var.yres_virtual)
    + ybottom > info->var.yres_virtual)
    return -EINVAL;
    if ((err = info->fbops->fb_pan_display(var, info)))
    return err;
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:32    [W:0.023 / U:148.476 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site