Thread (6 messages) 6 messages, 2 authors, 2010-02-04

Re: [RFC] [PATCH] omapfb: Fix 12-bit display (RGB444 color mode)

From: Janusz Krzysztofik <hidden>
Date: 2010-02-03 16:21:38
Also in: linux-omap

Tomi Valkeinen wrote:
On Thu, 2010-01-14 at 21:25 +0100, ext Janusz Krzysztofik wrote:
quoted
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.
I haven't seen any comments on this. Shall I apply it to my tree?

 Tomi
Tomi,

I'm not sure if I am the right person to decide whether my patch should 
be accepted or not and what tree it should be applied to, but if you are 
willing to take it than I'm happy.

BTW, could you also consider taking my other long waiting patch that 
touches drivers/video/omap: http://patchwork.kernel.org/patch/66649/ ?

Thanks,
Janusz

quoted
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 <redacted>

---
--- 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;
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help