summaryrefslogtreecommitdiff
path: root/drivers
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 /drivers
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>
Diffstat (limited to 'drivers')
-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 d744c51807b7..ad122726d97d 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);