linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] [PATCH] omapfb: Fix 12-bit display (RGB444 color mode) handling
@ 2010-01-14 20:25 Janusz Krzysztofik
  2010-01-28  9:24 ` [RFC] [PATCH] omapfb: Fix 12-bit display (RGB444 color mode) Tomi Valkeinen
  0 siblings, 1 reply; 6+ messages in thread
From: Janusz Krzysztofik @ 2010-01-14 20:25 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: linux-omap, linux-fbdev@vger.kernel.org,
	linux-fbdev-devel@lists.sourceforge.net

Support for RGB444 (12-bit) pixel format has been introduced into omapfb/lcdc 
by Mark Underwood on 2006-05-26 (commit 
f74edb6668aad9fc8e81585861b18f996c78a574) in preparation for Amstrad Delta 
(E3) videophone LCD display support.

Before the Amstrad Delta LCD patch by Jonathan McDowell was applied (on 
2006-08-04, commit 8d22fb2ea004cdb6379b54c1a8fd1546cfe40ed7), omapfb and lcdc 
code was changed substantially (commit 
e563dc81aa01bd8bbb01bc53975a15c398715f62 dated 2006-06-26) in a way that broke 
Mark's 12-bit display support. Than, a patch by Jonathan, that supposed to 
correct the problem, was introduced immediatelly (on 2006-08-04, commit 
e10a75b49e7a57ae17c28b705153c70eba15a8ef).

As a result, the Amstrad Delta display was working correctly at boot time, 
with fbset reporting:

	geometry 480 320 480 320 16
	...
	rgba 4/8,4/4,4/0,0/0

However, after first framebuffer reinitialization, colors were no longer being 
displayed correctly and fbset was reporting:

        rgba 5/11,6/5,5/0,0/0

The patch tries to correct the issue by setting plane->color_mode depending on 
panel->bpp, not var->bits_per_pixel.

Created and tested on Amstrad Delta against linux-2.6.33-rc3.

Signed-off-by: Janusz Krzysztofik <jkrzysz@tis.icnet.pl>

---
--- git/drivers/video/omap/omapfb_main.c.orig	2010-01-14 19:30:23.000000000 +0100
+++ git/drivers/video/omap/omapfb_main.c	2010-01-14 20:31:18.000000000 +0100
@@ -473,10 +473,11 @@ static int set_color_mode(struct omapfb_
 		return 0;
 	case 12:
 		var->bits_per_pixel = 16;
-		plane->color_mode = OMAPFB_COLOR_RGB444;
-		return 0;
 	case 16:
-		plane->color_mode = OMAPFB_COLOR_RGB565;
+		if (plane->fbdev->panel->bpp = 12)
+			plane->color_mode = OMAPFB_COLOR_RGB444;
+		else
+			plane->color_mode = OMAPFB_COLOR_RGB565;
 		return 0;
 	default:
 		return -EINVAL;

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-02-04 14:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-14 20:25 [RFC] [PATCH] omapfb: Fix 12-bit display (RGB444 color mode) handling Janusz Krzysztofik
2010-01-28  9:24 ` [RFC] [PATCH] omapfb: Fix 12-bit display (RGB444 color mode) Tomi Valkeinen
2010-02-03 16:21   ` Janusz Krzysztofik
2010-02-04  9:58     ` Tomi Valkeinen
2010-02-04 14:40       ` [RFC] [PATCH] omapfb: Fix 12-bit display (RGB444 color mode) handling Janusz Krzysztofik
2010-02-04 14:47         ` [RFC] [PATCH] omapfb: Fix 12-bit display (RGB444 color mode) Tomi Valkeinen

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).