aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaj-Michael Lang <milang@tal.org>2006-02-24 13:04:15 -0800
committerChris Wright <chrisw@sous-sol.org>2006-03-01 14:36:36 -0800
commitc48cc3694e1ad82407c2aa041743f2e8fb0adcde (patch)
tree7dff29bf7b369f8471f49c51cee9fb6d595d0fd3
parentb9c53139e460fa93b7b20928f8b49a3cb2432b69 (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: Chris Wright <chrisw@sous-sol.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 d744c51807b..ad122726d97 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);