* [PATCH 17/17] imxfb: fast read flag and nonstandard field configurable
@ 2007-09-29 1:42 Antonino A. Daplas
0 siblings, 0 replies; only message in thread
From: Antonino A. Daplas @ 2007-09-29 1:42 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux Fbdev development list, Pavel Pisa
From: Pavel Pisa <pisa@cmp.felk.cvut.cz>
The i.MX frame-buffer read operation should be faster for all
configurations then drawing each individual character again
in response to scroll events.
The nonstandard fields allows to configure frame-buffer special
options flags for different display configurations by board
specific initialization code.
One of such specific options is reversed order of pixels
in each individual byte. i.MX frame-buffer seems to be designed
for big-endian use first. The byte order is correctly configured
for little-endian ordering, but if 1, 2 or 4 bits per pixel
are used, pixels ordering is incompatible to Linux generic
frame-buffer drawing functions.
The patch "Allow generic BitBLT functions to work with swapped
pixel order in bytes" introduces required functionality into
FBDEV core. The pixels ordering selection has to be enabled
at compile time CONFIG_FB_CFB_REV_PIXELS_IN_BYTE and for
each display configuration which requires it by flag
FB_NONSTD_REV_PIX_IN_B in "nonstd" field of info structure.
This patch provides way for board specific code to select
this option.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
---
drivers/video/imxfb.c | 3 ++-
include/asm-arm/arch-imx/imxfb.h | 1 +
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/video/imxfb.c b/drivers/video/imxfb.c
index 986ffa6..1160955 100644
--- a/drivers/video/imxfb.c
+++ b/drivers/video/imxfb.c
@@ -466,7 +466,7 @@ static int __init imxfb_init_fbinfo(stru
info->var.vmode = FB_VMODE_NONINTERLACED;
info->fbops = &imxfb_ops;
- info->flags = FBINFO_FLAG_DEFAULT;
+ info->flags = FBINFO_FLAG_DEFAULT | FBINFO_READS_FAST;
fbi->rgb[RGB_16] = &def_rgb_16;
fbi->rgb[RGB_8] = &def_rgb_8;
@@ -479,6 +479,7 @@ static int __init imxfb_init_fbinfo(stru
info->var.yres_virtual = inf->yres;
fbi->max_bpp = inf->bpp;
info->var.bits_per_pixel = inf->bpp;
+ info->var.nonstd = inf->nonstd;
info->var.pixclock = inf->pixclock;
info->var.hsync_len = inf->hsync_len;
info->var.left_margin = inf->left_margin;
diff --git a/include/asm-arm/arch-imx/imxfb.h b/include/asm-arm/arch-imx/imxfb.h
index 7dbc7bb..3ed9ec8 100644
--- a/include/asm-arm/arch-imx/imxfb.h
+++ b/include/asm-arm/arch-imx/imxfb.h
@@ -7,6 +7,7 @@ struct imxfb_mach_info {
u_short xres;
u_short yres;
+ u_int nonstd;
u_char bpp;
u_char hsync_len;
u_char left_margin;
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2007-09-29 2:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-29 1:42 [PATCH 17/17] imxfb: fast read flag and nonstandard field configurable Antonino A. Daplas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).