diff options
author | Kaj-Michael Lang <milang@tal.org> | 2006-02-24 16:04:15 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-24 17:31:38 -0500 |
commit | 68b06deb2b343c040485a9fc6c813577bf6d5cf5 (patch) | |
tree | 19cde23467a006c488f46bfebca19b7207b2d553 /drivers/video/gbefb.c | |
parent | 2b932f6cf052920fb3a6281499e08209b08f5086 (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>
Diffstat (limited to 'drivers/video/gbefb.c')
-rw-r--r-- | drivers/video/gbefb.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/gbefb.c b/drivers/video/gbefb.c index c9a7cdf6d543..5e25b9860196 100644 --- a/drivers/video/gbefb.c +++ b/drivers/video/gbefb.c | |||
@@ -656,12 +656,15 @@ static int gbefb_set_par(struct fb_info *info) | |||
656 | switch (bytesPerPixel) { | 656 | switch (bytesPerPixel) { |
657 | case 1: | 657 | case 1: |
658 | SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_I8); | 658 | SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_I8); |
659 | info->fix.visual = FB_VISUAL_PSEUDOCOLOR; | ||
659 | break; | 660 | break; |
660 | case 2: | 661 | case 2: |
661 | SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_ARGB5); | 662 | SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_ARGB5); |
663 | info->fix.visual = FB_VISUAL_TRUECOLOR; | ||
662 | break; | 664 | break; |
663 | case 4: | 665 | case 4: |
664 | SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_RGB8); | 666 | SET_GBE_FIELD(WID, TYP, val, GBE_CMODE_RGB8); |
667 | info->fix.visual = FB_VISUAL_TRUECOLOR; | ||
665 | break; | 668 | break; |
666 | } | 669 | } |
667 | SET_GBE_FIELD(WID, BUF, val, GBE_BMODE_BOTH); | 670 | SET_GBE_FIELD(WID, BUF, val, GBE_BMODE_BOTH); |