[Armadeus-commitlog] SF.net SVN: armadeus:[1314] trunk/buildroot/target/device/armadeus/linux/ kern
Brought to you by:
sszy
|
From: <ar...@us...> - 2009-06-01 21:17:25
|
Revision: 1314
http://armadeus.svn.sourceforge.net/armadeus/?rev=1314&view=rev
Author: artemys
Date: 2009-06-01 21:17:21 +0000 (Mon, 01 Jun 2009)
Log Message:
-----------
[LINUX] Final corrections to have Doom working again (most important: color regs where bad on i.MX27 in mainline driver)
Added Paths:
-----------
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-makes_setpalettereg_compatible_with_mx27.patch
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/332-armadeus-imxfb-improvements.patch
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/336-armadeus-imxfb-makes_it_compatible_with_arch_imx.patch
Removed Paths:
-------------
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-improvements.patch
Deleted: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-improvements.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-improvements.patch 2009-06-01 10:10:53 UTC (rev 1313)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-improvements.patch 2009-06-01 21:17:21 UTC (rev 1314)
@@ -1,44 +0,0 @@
-PWMR, LSCR1 and DMACR registers only need to be initialized once at startup,
-not every time imxfb_set_par()/imxfb_activate_var() are called (for example
-when using SDL).
-Setting these registers in imxfb_set_par()/imxfb_activate_var() has the side
-effect (for example) of shutting down the backlight when opening an 8bits
-SDL screen.
-
-Signed-off-by: Julien Boibessot <jul...@ar...>
-
-Index: linux-2.6.29/drivers/video/imxfb.c
-===================================================================
---- linux-2.6.29.orig/drivers/video/imxfb.c 2009-05-26 19:52:35.000000000 +0200
-+++ linux-2.6.29/drivers/video/imxfb.c 2009-05-27 09:14:31.000000000 +0200
-@@ -466,6 +466,7 @@
- pr_debug("var: yres=%d vslen=%d um=%d bm=%d\n",
- var->yres, var->vsync_len,
- var->upper_margin, var->lower_margin);
-+ pr_debug("var: bpp=%d\n", var->bits_per_pixel);
-
- #if DEBUG_VAR
- if (var->xres < 16 || var->xres > 1024)
-@@ -523,9 +524,6 @@
- pcr |= fbi->pcr & ~0x3F;
-
- writel(pcr, fbi->regs + LCDC_PCR);
-- writel(fbi->pwmr, fbi->regs + LCDC_PWMR);
-- writel(fbi->lscr1, fbi->regs + LCDC_LSCR1);
-- writel(fbi->dmacr, fbi->regs + LCDC_DMACR);
-
- return 0;
- }
-@@ -719,6 +717,12 @@
- goto failed_cmap;
-
- imxfb_set_par(info);
-+ /* JB: The following parameters are only needed once at startup and so
-+ removed from from imxfb_set_par()/imxfb_activate_var() */
-+ writel(fbi->pwmr, fbi->regs + LCDC_PWMR);
-+ writel(fbi->lscr1, fbi->regs + LCDC_LSCR1);
-+ writel(fbi->dmacr, fbi->regs + LCDC_DMACR);
-+
- ret = register_framebuffer(info);
- if (ret < 0) {
- dev_err(&pdev->dev, "failed to register framebuffer\n");
Added: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-makes_setpalettereg_compatible_with_mx27.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-makes_setpalettereg_compatible_with_mx27.patch (rev 0)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-makes_setpalettereg_compatible_with_mx27.patch 2009-06-01 21:17:21 UTC (rev 1314)
@@ -0,0 +1,30 @@
+
+On i.MX2(1/7) color palette registers are 18 bits wide for TFT display's modes.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.29/drivers/video/imxfb.c
+===================================================================
+--- linux-2.6.29.orig/drivers/video/imxfb.c 2009-06-01 14:39:03.000000000 +0200
++++ linux-2.6.29/drivers/video/imxfb.c 2009-06-01 15:49:54.000000000 +0200
+@@ -221,12 +221,17 @@
+ {
+ struct imxfb_info *fbi = info->par;
+ u_int val, ret = 1;
++ unsigned int reg_size = 4;
+
+ #define CNVT_TOHW(val,width) ((((val)<<(width))+0x7FFF-(val))>>16)
+ if (regno < fbi->palette_size) {
+- val = (CNVT_TOHW(red, 4) << 8) |
+- (CNVT_TOHW(green,4) << 4) |
+- CNVT_TOHW(blue, 4);
++#ifdef CONFIG_ARCH_MX2
++ if (fbi->pcr & PCR_TFT)
++ reg_size = 6;
++#endif
++ val = (CNVT_TOHW(red, reg_size) << (reg_size * 2)) |
++ (CNVT_TOHW(green, reg_size) << reg_size) |
++ CNVT_TOHW(blue, reg_size);
+
+ writel(val, fbi->regs + 0x800 + (regno << 2));
+ ret = 0;
Copied: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/332-armadeus-imxfb-improvements.patch (from rev 1311, trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/331-armadeus-imxfb-improvements.patch)
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/332-armadeus-imxfb-improvements.patch (rev 0)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/332-armadeus-imxfb-improvements.patch 2009-06-01 21:17:21 UTC (rev 1314)
@@ -0,0 +1,44 @@
+PWMR, LSCR1 and DMACR registers only need to be initialized once at startup,
+not every time imxfb_set_par()/imxfb_activate_var() are called (for example
+when using SDL).
+Setting these registers in imxfb_set_par()/imxfb_activate_var() has the side
+effect (for example) of shutting down the backlight when opening an 8bits
+SDL screen.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.29/drivers/video/imxfb.c
+===================================================================
+--- linux-2.6.29.orig/drivers/video/imxfb.c 2009-05-26 19:52:35.000000000 +0200
++++ linux-2.6.29/drivers/video/imxfb.c 2009-05-27 09:14:31.000000000 +0200
+@@ -466,6 +466,7 @@
+ pr_debug("var: yres=%d vslen=%d um=%d bm=%d\n",
+ var->yres, var->vsync_len,
+ var->upper_margin, var->lower_margin);
++ pr_debug("var: bpp=%d\n", var->bits_per_pixel);
+
+ #if DEBUG_VAR
+ if (var->xres < 16 || var->xres > 1024)
+@@ -523,9 +524,6 @@
+ pcr |= fbi->pcr & ~0x3F;
+
+ writel(pcr, fbi->regs + LCDC_PCR);
+- writel(fbi->pwmr, fbi->regs + LCDC_PWMR);
+- writel(fbi->lscr1, fbi->regs + LCDC_LSCR1);
+- writel(fbi->dmacr, fbi->regs + LCDC_DMACR);
+
+ return 0;
+ }
+@@ -719,6 +717,12 @@
+ goto failed_cmap;
+
+ imxfb_set_par(info);
++ /* JB: The following parameters are only needed once at startup and so
++ removed from from imxfb_set_par()/imxfb_activate_var() */
++ writel(fbi->pwmr, fbi->regs + LCDC_PWMR);
++ writel(fbi->lscr1, fbi->regs + LCDC_LSCR1);
++ writel(fbi->dmacr, fbi->regs + LCDC_DMACR);
++
+ ret = register_framebuffer(info);
+ if (ret < 0) {
+ dev_err(&pdev->dev, "failed to register framebuffer\n");
Added: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/336-armadeus-imxfb-makes_it_compatible_with_arch_imx.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/336-armadeus-imxfb-makes_it_compatible_with_arch_imx.patch (rev 0)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/336-armadeus-imxfb-makes_it_compatible_with_arch_imx.patch 2009-06-01 21:17:21 UTC (rev 1314)
@@ -0,0 +1,19 @@
+
+To be removed when ARCH_MX1 is fully merged and ARCH_IMX is dead.
+
+
+Index: linux-2.6.29/drivers/video/imxfb.c
+===================================================================
+--- linux-2.6.29.orig/drivers/video/imxfb.c 2009-06-01 17:12:03.000000000 +0200
++++ linux-2.6.29/drivers/video/imxfb.c 2009-06-01 17:12:58.000000000 +0200
+@@ -35,6 +35,10 @@
+
+ #include <mach/imxfb.h>
+
++#ifdef CONFIG_ARCH_IMX
++#define CONFIG_ARCH_MX1
++#endif
++
+ /*
+ * Complain if VAR is out of range.
+ */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|