07 May, 2009

1 commit

  • The software fillrect routines do not work properly when the number of
    pixels per machine word is not an integer. To see that, run the following
    command on a fbdev console with a 24bpp video mode, using a
    non-accelerated driver such as (u)vesafb:

    reset ; echo -e '\e[41mtest\e[K'

    The expected result is 'test' displayed on a line with red background.
    Instead of that, 'test' has a red background, but the rest of the line
    (rendered using fillrect()) contains a distored colorful pattern.

    This patch fixes the problem by correctly computing rotation shifts. It
    has been tested in a 24bpp mode on 32- and 64-bit little-endian machines.

    Signed-off-by: Michal Januszewski
    Acked-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Januszewski
     

28 Apr, 2008

1 commit

  • Add support for the framebuffers with non-native endianness. This is done via
    FBINFO_FOREIGN_ENDIAN flag that will be used by the drivers. Depending on the
    host endianness this flag will be overwritten by FBINFO_BE_MATH internal flag,
    or cleared.

    Tested to work on MPC8360E-RDK (BE) + Fujitsu MINT framebuffer (LE).

    Signed-off-by: Anton Vorontsov
    Cc: "Antonino A. Daplas"
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc:
    Cc: Clemens Koller
    Cc: Krzysztof Helt
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     

07 Feb, 2008

1 commit

  • Warning is reproducible with selected FB_CFB_REV_PIXELS_IN_BYTE.

    CC drivers/video/sysfillrect.o
    In file included from drivers/video/sysfillrect.c:18:
    drivers/video/fb_draw.h: In function `fb_rev_pixels_in_long':
    drivers/video/fb_draw.h:94: warning: no return statement in function returning non-void
    CC drivers/video/syscopyarea.o
    In file included from drivers/video/syscopyarea.c:22:
    drivers/video/fb_draw.h: In function `fb_rev_pixels_in_long':
    drivers/video/fb_draw.h:94: warning: no return statement in function returning non-void

    Signed-off-by: Anton Vorontsov
    Cc: "Antonino A. Daplas"
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     

17 Oct, 2007

2 commits

  • This correct case, when source and destination X coordinates difference is n
    multiple of pixels in byte. This is probably rare case, but this case should
    supported for completeness.

    Reorganization of FB_READL and FB_WRITEL calls results in code size decrease
    for normal build without swapping support and size with support enabled is
    reasonable too.

    [adaplas]
    Add missing fb_rev_pixels_in_long() prototype.

    Signed-off-by: Pavel Pisa
    Signed-off-by: Antonino Daplas
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Pisa
     
  • Allow generic frame-buffer code to correctly write texts and blit images for
    1, 2 and 4 bit per pixel frame-buffer organizations when pixels in bytes are
    organized to in opposite order than bytes in long type.

    Overhead should be reasonable. If option is not selected, than compiler
    should eliminate completely all overhead.

    The feature is disabled at compile time if CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is
    not set.

    [adaplas]
    Convert helper functions to macros if feature is not enabled.

    Signed-off-by: Pavel Pisa
    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Pisa
     

09 May, 2007

1 commit