summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaj-Michael Lang <milang@tal.org>2006-02-24 13:04:15 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-24 14:31:38 -0800
commit68b06deb2b343c040485a9fc6c813577bf6d5cf5 (patch)
tree19cde23467a006c488f46bfebca19b7207b2d553
parent2b932f6cf052920fb3a6281499e08209b08f5086 (diff)
[PATCH] gbefb: IP32 gbefb depth change fix
The gbefb driver does not update the framebuffer layers visual setting when depth is changed with fbset, resulting in strange colors (very dark blue in 16-bit, almost black in 24-bit). Signed-off-by: Kaj-Michael Lang <milang@tal.org> Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Antonino Daplas <adaplas@pol.net> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/video/gbefb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c
index c9a7cdf6d54..5e25b986019 100644
--- a/drivers/video/gbefb.c
+++ b/drivers/video/gbefb.c
@@ -656,12 +656,15 @@ static int gbefb_set_par(struct fb_info *info)
switch (bytesPerPixel) {
case 1:
SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_I8);
+ info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
break;
case 2:
SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_ARGB5);
+ info->fix.visual = FB_VISUAL_TRUECOLOR;
break;
case 4:
SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_RGB8);
+ info->fix.visual = FB_VISUAL_TRUECOLOR;
break;
}
SET_GBE_FIELD(WID, BUF, val, GBE_BMODE_BOTH);