r1754 - trunk/src/target/kernel/patches

laforge at sita.openmoko.org laforge at sita.openmoko.org
Sat Apr 14 08:31:33 CEST 2007


Author: laforge
Date: 2007-04-14 08:31:23 +0200 (Sat, 14 Apr 2007)
New Revision: 1754

Modified:
   trunk/src/target/kernel/patches/s3c2410_fb-truecolor.patch
   trunk/src/target/kernel/patches/series
Log:
* update truecolor patch to really only enable truecolor support
* activate it in 'series'


Modified: trunk/src/target/kernel/patches/s3c2410_fb-truecolor.patch
===================================================================
--- trunk/src/target/kernel/patches/s3c2410_fb-truecolor.patch	2007-04-14 03:48:30 UTC (rev 1753)
+++ trunk/src/target/kernel/patches/s3c2410_fb-truecolor.patch	2007-04-14 06:31:23 UTC (rev 1754)
@@ -1,18 +1,32 @@
-Index: linux-2.6.20.4/drivers/video/s3c2410fb.c
+Patch to enable 24bit truecolor support (32bit per pixel) support to 
+s3c2410fb.c
+Index: linux-2.6.20.4-moko/arch/arm/mach-s3c2410/mach-gta01.c
 ===================================================================
---- linux-2.6.20.4.orig/drivers/video/s3c2410fb.c	2007-03-28 23:12:49.000000000 +0200
-+++ linux-2.6.20.4/drivers/video/s3c2410fb.c	2007-03-29 22:22:40.000000000 +0200
-@@ -104,7 +104,7 @@
+--- linux-2.6.20.4-moko.orig/arch/arm/mach-s3c2410/mach-gta01.c	2007-04-08 14:01:47.000000000 +0200
++++ linux-2.6.20.4-moko/arch/arm/mach-s3c2410/mach-gta01.c	2007-04-08 14:02:09.000000000 +0200
+@@ -321,7 +321,7 @@
  
- 
- static struct s3c2410fb_mach_info *mach_info;
--
-+#define CONFIG_FB_S3C2410_DEBUG
- /* Debugging stuff */
- #ifdef CONFIG_FB_S3C2410_DEBUG
- static int debug	   = 1;
-@@ -315,8 +315,13 @@
+ 	.bpp		= {
+ 		.min	= 1,
+-		.max	= 16,
++		.max	= 32,
+ 		.defval = 16,
+ 	},
+ };
+Index: linux-2.6.20.4-moko/drivers/video/s3c2410fb.c
+===================================================================
+--- linux-2.6.20.4-moko.orig/drivers/video/s3c2410fb.c	2007-04-08 12:59:39.000000000 +0200
++++ linux-2.6.20.4-moko/drivers/video/s3c2410fb.c	2007-04-08 14:02:09.000000000 +0200
+@@ -263,6 +263,7 @@
+ 			}
  			break;
+ 		case 24:
++		case 32:
+ 			/* 24 bpp 888 */
+ 			var->red.length		= 8;
+ 			var->red.offset		= 16;
+@@ -315,6 +316,12 @@
+ 			break;
  		case 16:
  			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT16BPP;
 +			fbi->regs.lcdcon5 |= S3C2410_LCDCON5_HWSWP;
@@ -22,123 +36,32 @@
 +			fbi->regs.lcdcon1 |= S3C2410_LCDCON1_TFT24BPP;
 +			fbi->regs.lcdcon5 &= ~S3C2410_LCDCON5_HWSWP;
  			break;
--
+ 
  		default:
- 			/* invalid pixel depth */
- 			dev_err(fbi->dev, "invalid bpp %d\n", var->bits_per_pixel);
-@@ -451,6 +456,8 @@
+@@ -450,6 +457,8 @@
+ 
  	switch (var->bits_per_pixel)
  	{
- 		case 16:
-+		case 24:
 +		case 32:
++		case 24:
+ 		case 16:
  			fbi->fb->fix.visual = FB_VISUAL_TRUECOLOR;
  			break;
- 		case 1:
-@@ -514,11 +521,21 @@
- 
+@@ -515,9 +524,17 @@
  		if (regno < 16) {
  			u32 *pal = fbi->fb->pseudo_palette;
--
-+#if 1
+ 
 +			switch (info->var.bits_per_pixel) {
 +			case 16:
-+				val = (red & 0xf800) | ((green & 0xfc00) >> 5) | ((blue ^ 0xf800) >> 11);
-+				break;
-+			case 32:
-+				red >>= 8; green >>= 8; blue >>= 8; transp >>= 8;
-+				val = (transp << 24) | (red << 16) | (green << 8) | blue;
-+				break;
-+			}
-+#else
  			val  = chan_to_field(red,   &fbi->fb->var.red);
  			val |= chan_to_field(green, &fbi->fb->var.green);
  			val |= chan_to_field(blue,  &fbi->fb->var.blue);
--
-+#endif
- 			pal[regno] = val;
- 		}
- 		break;
-@@ -710,9 +727,15 @@
- 	/* ensure temporary palette disabled */
- 	writel(0x00, S3C2410_TPAL);
- 
-+	/* johnny */
-+	mdelay(500);
- 	/* Enable video by setting the ENVID bit to 1 */
- 	fbi->regs.lcdcon1 |= S3C2410_LCDCON1_ENVID;
- 	writel(fbi->regs.lcdcon1, S3C2410_LCDCON1);
-+
-+	mdelay(500);
-+	fbi->regs.lcdcon5 |= S3C2410_LCDCON5_PWREN;
-+	writel(fbi->regs.lcdcon5, S3C2410_LCDCON5);
- 	return 0;
- }
- 
-@@ -839,7 +862,31 @@
- 	fbinfo->var.left_margin	    = S3C2410_LCDCON3_GET_HFPD(mregs->lcdcon3) + 1;
- 	fbinfo->var.right_margin    = S3C2410_LCDCON3_GET_HBPD(mregs->lcdcon3) + 1;
- 	fbinfo->var.hsync_len	    = S3C2410_LCDCON4_GET_HSPW(mregs->lcdcon4) + 1;
--
-+// johnny
-+	switch (fbinfo->var.bits_per_pixel)
-+	{
-+		case 16:
-+			fbinfo->var.red.offset		= 11;
-+			fbinfo->var.red.length		= 5;
-+			fbinfo->var.green.offset	= 5;
-+			fbinfo->var.green.length	= 6;
-+			fbinfo->var.blue.offset		= 0;
-+			fbinfo->var.blue.length		= 5;
-+			fbinfo->var.transp.offset	= 0;
-+			fbinfo->var.transp.length	= 0;
 +			break;
-+		case 32:
-+			fbinfo->var.red.offset		= 16;
-+			fbinfo->var.red.length		= 8;
-+			fbinfo->var.green.offset	= 8;
-+			fbinfo->var.green.length	= 8;
-+			fbinfo->var.blue.offset		= 0;
-+			fbinfo->var.blue.length		= 8;
-+			fbinfo->var.transp.offset	= 24;
-+			fbinfo->var.transp.length	= 8;
++			case 32:
++			red >>= 8; green >>= 8; blue >>= 8; transp >>= 8;
++			val = (transp << 24) | (red << 16) | (green << 8) | blue;
 +			break;
-+	}
-+#if 0
- 	fbinfo->var.red.offset      = 11;
- 	fbinfo->var.green.offset    = 5;
- 	fbinfo->var.blue.offset     = 0;
-@@ -848,10 +895,11 @@
- 	fbinfo->var.green.length    = 6;
- 	fbinfo->var.blue.length     = 5;
- 	fbinfo->var.transp.length   = 0;
-+#endif
- 	fbinfo->fix.smem_len        =	mach_info->xres.max *
- 					mach_info->yres.max *
- 					mach_info->bpp.max / 8;
--
-+	dprintk("fix.smem_len=%d\n",fbinfo->fix.smem_len);
- 	for (i = 0; i < 256; i++)
- 		info->palette_buffer[i] = PALETTE_BUFF_CLEAR;
++			}
  
-@@ -934,6 +982,11 @@
- 
- 	local_irq_save(flags);
- 
-+	/* johnny */
-+	fbi->regs.lcdcon5 &= ~S3C2410_LCDCON5_PWREN;
-+	writel(fbi->regs.lcdcon5, S3C2410_LCDCON5);
-+
-+	mdelay(2000);
- 	fbi->regs.lcdcon1 &= ~S3C2410_LCDCON1_ENVID;
- 	writel(fbi->regs.lcdcon1, S3C2410_LCDCON1);
- 
-@@ -997,8 +1050,6 @@
- 	clk_enable(info->clk);
- 	msleep(1);
- 
--	s3c2410fb_init_registers(info);
--
- 	return 0;
- }
- 
+ 			pal[regno] = val;
+ 		}

Modified: trunk/src/target/kernel/patches/series
===================================================================
--- trunk/src/target/kernel/patches/series	2007-04-14 03:48:30 UTC (rev 1753)
+++ trunk/src/target/kernel/patches/series	2007-04-14 06:31:23 UTC (rev 1754)
@@ -38,4 +38,4 @@
 s3c2410-qt2410-buttons.patch
 config-nr-tty-devices.patch
 hxd8-core.patch
-#s3c2410_fb-truecolor.patch
+s3c2410_fb-truecolor.patch





More information about the commitlog mailing list