Send commitlog mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:
1. r3058 - branches/src/target/kernel/2.6.23.x/patches
([EMAIL PROTECTED])
2. r3059 - branches/src/target/kernel/2.6.23.x/patches
([EMAIL PROTECTED])
--- Begin Message ---
Author: shoragan
Date: 2007-09-29 15:29:16 +0200 (Sat, 29 Sep 2007)
New Revision: 3058
Added:
branches/src/target/kernel/2.6.23.x/patches/fix-s3c2410fb-register-access.patch
Modified:
branches/src/target/kernel/2.6.23.x/patches/series
Log:
Fix access to the framebuffer registers.
Some have (but not all) been fixed by Ben Dooks in
http://www.fluff.org/ben/linux-26/2623/2623-rc1-move-fixup-lcd.patch
Added:
branches/src/target/kernel/2.6.23.x/patches/fix-s3c2410fb-register-access.patch
===================================================================
---
branches/src/target/kernel/2.6.23.x/patches/fix-s3c2410fb-register-access.patch
2007-09-28 22:33:13 UTC (rev 3057)
+++
branches/src/target/kernel/2.6.23.x/patches/fix-s3c2410fb-register-access.patch
2007-09-29 13:29:16 UTC (rev 3058)
@@ -0,0 +1,85 @@
+Index: linux-2.6.22/drivers/video/s3c2410fb.c
+===================================================================
+--- linux-2.6.22.orig/drivers/video/s3c2410fb.c
++++ linux-2.6.22/drivers/video/s3c2410fb.c
+@@ -123,6 +123,7 @@
+
+ static void s3c2410fb_set_lcdaddr(struct s3c2410fb_info *fbi)
+ {
++ void __iomem *regs = fbi->io;
+ struct fb_var_screeninfo *var = &fbi->fb->var;
+ unsigned long saddr1, saddr2, saddr3;
+
+@@ -137,9 +138,9 @@
+ dprintk("LCDSADDR2 = 0x%08lx\n", saddr2);
+ dprintk("LCDSADDR3 = 0x%08lx\n", saddr3);
+
+- writel(saddr1, S3C2410_LCDSADDR1);
+- writel(saddr2, S3C2410_LCDSADDR2);
+- writel(saddr3, S3C2410_LCDSADDR3);
++ writel(saddr1, regs + S3C2410_LCDSADDR1);
++ writel(saddr2, regs + S3C2410_LCDSADDR2);
++ writel(saddr3, regs + S3C2410_LCDSADDR3);
+ }
+
+ /* s3c2410fb_calc_pixclk()
+@@ -289,6 +290,7 @@
+ static void s3c2410fb_activate_var(struct s3c2410fb_info *fbi,
+ struct fb_var_screeninfo *var)
+ {
++ void __iomem *regs = fbi->io;
+ int hs;
+
+ fbi->regs.lcdcon1 &= ~S3C2410_LCDCON1_MODEMASK;
+@@ -432,16 +434,16 @@
+ dprintk("lcdcon[4] = 0x%08lx\n", fbi->regs.lcdcon4);
+ dprintk("lcdcon[5] = 0x%08lx\n", fbi->regs.lcdcon5);
+
+- writel(fbi->regs.lcdcon1 & ~S3C2410_LCDCON1_ENVID, S3C2410_LCDCON1);
+- writel(fbi->regs.lcdcon2, S3C2410_LCDCON2);
+- writel(fbi->regs.lcdcon3, S3C2410_LCDCON3);
+- writel(fbi->regs.lcdcon4, S3C2410_LCDCON4);
+- writel(fbi->regs.lcdcon5, S3C2410_LCDCON5);
++ writel(fbi->regs.lcdcon1 & ~S3C2410_LCDCON1_ENVID, regs +
S3C2410_LCDCON1);
++ writel(fbi->regs.lcdcon2, regs + S3C2410_LCDCON2);
++ writel(fbi->regs.lcdcon3, regs + S3C2410_LCDCON3);
++ writel(fbi->regs.lcdcon4, regs + S3C2410_LCDCON4);
++ writel(fbi->regs.lcdcon5, regs + S3C2410_LCDCON5);
+
+ /* set lcd address pointers */
+ s3c2410fb_set_lcdaddr(fbi);
+
+- writel(fbi->regs.lcdcon1, S3C2410_LCDCON1);
++ writel(fbi->regs.lcdcon1, regs + S3C2410_LCDCON1);
+ }
+
+
+@@ -549,7 +551,7 @@
+ val |= ((green >> 5) & 0x07e0);
+ val |= ((blue >> 11) & 0x001f);
+
+- writel(val, S3C2410_TFTPAL(regno));
++ writel(val, fbi->io + S3C2410_TFTPAL(regno));
+ schedule_palette_update(fbi, regno, val);
+ }
+
+@@ -581,16 +583,17 @@
+ */
+ static int s3c2410fb_blank(int blank_mode, struct fb_info *info)
+ {
++ struct s3c2410fb_info *fbi = info->par;
+ dprintk("blank(mode=%d, info=%p)\n", blank_mode, info);
+
+ if (mach_info == NULL)
+ return -EINVAL;
+
+ if (blank_mode == FB_BLANK_UNBLANK)
+- writel(0x0, S3C2410_TPAL);
++ writel(0x0, fbi->io + S3C2410_TPAL);
+ else {
+ dprintk("setting TPAL to output 0x000000\n");
+- writel(S3C2410_TPAL_EN, S3C2410_TPAL);
++ writel(S3C2410_TPAL_EN, fbi->io + S3C2410_TPAL);
+ }
+
+ return 0;
Modified: branches/src/target/kernel/2.6.23.x/patches/series
===================================================================
--- branches/src/target/kernel/2.6.23.x/patches/series 2007-09-28 22:33:13 UTC
(rev 3057)
+++ branches/src/target/kernel/2.6.23.x/patches/series 2007-09-29 13:29:16 UTC
(rev 3058)
@@ -45,3 +45,4 @@
s3c2410-udc-include-fix.patch
neo1973-soc-include-fix.patch
explicitly-link-notes-section.patch
+fix-s3c2410fb-register-access.patch
--- End Message ---
--- Begin Message ---
Author: shoragan
Date: 2007-09-29 18:56:26 +0200 (Sat, 29 Sep 2007)
New Revision: 3059
Added:
branches/src/target/kernel/2.6.23.x/patches/fix-change_console-race.patch
Modified:
branches/src/target/kernel/2.6.23.x/patches/series
Log:
Fix a race exposed by CFS while switching virtual consoles.
I've submitted this to lkml.
Added: branches/src/target/kernel/2.6.23.x/patches/fix-change_console-race.patch
===================================================================
--- branches/src/target/kernel/2.6.23.x/patches/fix-change_console-race.patch
2007-09-29 13:29:16 UTC (rev 3058)
+++ branches/src/target/kernel/2.6.23.x/patches/fix-change_console-race.patch
2007-09-29 16:56:26 UTC (rev 3059)
@@ -0,0 +1,25 @@
+Index: linux-2.6.22/drivers/char/vt_ioctl.c
+===================================================================
+--- linux-2.6.22.orig/drivers/char/vt_ioctl.c
++++ linux-2.6.22/drivers/char/vt_ioctl.c
+@@ -1208,15 +1208,18 @@
+ /*
+ * Send the signal as privileged - kill_pid() will
+ * tell us if the process has gone or something else
+- * is awry
++ * is awry.
++ *
++ * We need to set vt_newvt *before* sending the signal or we
++ * have a race.
+ */
++ vc->vt_newvt = new_vc->vc_num;
+ if (kill_pid(vc->vt_pid, vc->vt_mode.relsig, 1) == 0) {
+ /*
+ * It worked. Mark the vt to switch to and
+ * return. The process needs to send us a
+ * VT_RELDISP ioctl to complete the switch.
+ */
+- vc->vt_newvt = new_vc->vc_num;
+ return;
+ }
+
Modified: branches/src/target/kernel/2.6.23.x/patches/series
===================================================================
--- branches/src/target/kernel/2.6.23.x/patches/series 2007-09-29 13:29:16 UTC
(rev 3058)
+++ branches/src/target/kernel/2.6.23.x/patches/series 2007-09-29 16:56:26 UTC
(rev 3059)
@@ -46,3 +46,4 @@
neo1973-soc-include-fix.patch
explicitly-link-notes-section.patch
fix-s3c2410fb-register-access.patch
+fix-change_console-race.patch
--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog