linux-omap git: refresh patchset
authorKoen Kooi <koen@openembedded.org>
Tue, 16 Sep 2008 09:13:06 +0000 (09:13 +0000)
committerKoen Kooi <koen@openembedded.org>
Tue, 16 Sep 2008 09:13:06 +0000 (09:13 +0000)
23 files changed:
packages/linux/linux-omap/000-mru-make-video-mode-selcatable.diff [deleted file]
packages/linux/linux-omap/002-mru-set-default-800x600.diff [deleted file]
packages/linux/linux-omap/004-mru-export-omapfb-register-panel.diff [deleted file]
packages/linux/linux-omap/005-mru-add-omapfb-unregister-panel.diff [deleted file]
packages/linux/linux-omap/006-mru-lcd-as-modules.diff [deleted file]
packages/linux/linux-omap/007-mru-omapfb-as-module.diff [deleted file]
packages/linux/linux-omap/008-mru-lcd-omap3beagle-license.diff [deleted file]
packages/linux/linux-omap/009-mru-unregister-beagle-lcd.diff [deleted file]
packages/linux/linux-omap/03-enable-overlay-opt.diff [deleted file]
packages/linux/linux-omap/06-ensure-fclk.diff [deleted file]
packages/linux/linux-omap/07-set-burst-size.diff [deleted file]
packages/linux/linux-omap/beagleboard/defconfig
packages/linux/linux-omap/mru-add-clk-get-parent.diff [moved from packages/linux/linux-omap/mru-clocks2.diff with 77% similarity]
packages/linux/linux-omap/mru-enable-overlay-optimalization.diff [moved from packages/linux/linux-omap/001-mru-enable-overlay.diff with 83% similarity]
packages/linux/linux-omap/mru-fix-display-panning.diff [moved from packages/linux/linux-omap/05-fix-display-panning.diff with 68% similarity]
packages/linux/linux-omap/mru-fix-timings.diff [moved from packages/linux/linux-omap/01-fix-timing-print.diff with 59% similarity]
packages/linux/linux-omap/mru-improve-pixclock-config.diff [moved from packages/linux/linux-omap/mru-clocks3.diff with 80% similarity]
packages/linux/linux-omap/mru-make-dpll4-m4-ck-programmable.diff [moved from packages/linux/linux-omap/mru-clocks1.diff with 63% similarity]
packages/linux/linux-omap/mru-make-video-timings-selectable.diff [moved from packages/linux/linux-omap/003-mru-omapfb-more-video-modes.diff with 60% similarity]
packages/linux/linux-omap/no-cortex-deadlock.patch
packages/linux/linux-omap/omap3evm/defconfig
packages/linux/linux-omap/strongly-ordered-memory.diff [new file with mode: 0644]
packages/linux/linux-omap_git.bb

diff --git a/packages/linux/linux-omap/000-mru-make-video-mode-selcatable.diff b/packages/linux/linux-omap/000-mru-make-video-mode-selcatable.diff
deleted file mode 100644 (file)
index e36aeb5..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Mon, 18 Aug 2008 22:55:09 +0000 (+0100)
-Subject: OMAP: Make video mode commandline-selectable from pre-defined list
-X-Git-Tag: beagle-9
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=c76a61167997a1dc680c421b1cdb753dfd492b0a
-
-OMAP: Make video mode commandline-selectable from pre-defined list
-
-This adds a (small) list of video modes and allows one to be
-selected with video=omapfb:mode:name on the command line,
-overriding the defaults from lcd_*.c.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h
-index a4a84f3..92e9ffd 100644
---- a/arch/arm/plat-omap/include/mach/omapfb.h
-+++ b/arch/arm/plat-omap/include/mach/omapfb.h
-@@ -192,6 +192,20 @@ enum omapfb_update_mode {
- struct omapfb_device;
-+struct video_mode {
-+      const char      *name;
-+      int             x_res, y_res;
-+      int             pixel_clock;    /* In kHz */
-+      int             hsw;            /* Horizontal synchronization
-+                                         pulse width */
-+      int             hfp;            /* Horizontal front porch */
-+      int             hbp;            /* Horizontal back porch */
-+      int             vsw;            /* Vertical synchronization
-+                                         pulse width */
-+      int             vfp;            /* Vertical front porch */
-+      int             vbp;            /* Vertical back porch */
-+};
-+
- struct lcd_panel {
-       const char      *name;
-       int             config;         /* TFT/STN, signal inversion */
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index 24242b9..f2229b1 100644
---- a/drivers/video/omap/omapfb_main.c
-+++ b/drivers/video/omap/omapfb_main.c
-@@ -40,6 +40,7 @@ static unsigned long def_vxres;
- static unsigned long  def_vyres;
- static unsigned int   def_rotate;
- static unsigned int   def_mirror;
-+static int            def_mode = -1;
- #ifdef CONFIG_FB_OMAP_MANUAL_UPDATE
- static int            manual_update = 1;
-@@ -80,6 +81,57 @@ static struct caps_table_struct color_caps[] = {
-       { 1 << OMAPFB_COLOR_YUY422,     "YUY422", },
- };
-+static const struct video_mode video_modes[] = {
-+      {
-+              .name           = "1280x720@50",
-+              .x_res          = 1280,
-+              .y_res          = 720,
-+              .hfp            = 440,
-+              .hsw            = 40,
-+              .hbp            = 220,
-+              .vfp            = 20,
-+              .vsw            = 5,
-+              .vbp            = 5,
-+              .pixel_clock    = 74250,
-+      },
-+      {
-+              .name           = "1280x720@60",
-+              .x_res          = 1280,
-+              .y_res          = 720,
-+              .hfp            = 110,
-+              .hsw            = 40,
-+              .hbp            = 220,
-+              .vfp            = 20,
-+              .vsw            = 5,
-+              .vbp            = 5,
-+              .pixel_clock    = 74250,
-+      },
-+      {
-+              .name           = "1920x1080@24",
-+              .x_res          = 1920,
-+              .y_res          = 1080,
-+              .hfp            = 148,
-+              .hsw            = 44,
-+              .hbp            = 638,
-+              .vfp            = 36,
-+              .vsw            = 5,
-+              .vbp            = 4,
-+              .pixel_clock    = 74160,
-+      },
-+      {
-+              .name           = "1920x1080@25",
-+              .x_res          = 1920,
-+              .y_res          = 1080,
-+              .hfp            = 148,
-+              .hsw            = 44,
-+              .hbp            = 528,
-+              .vfp            = 36,
-+              .vsw            = 5,
-+              .vbp            = 4,
-+              .pixel_clock    = 74250,
-+      }
-+};
-+
- /*
-  * ---------------------------------------------------------------------------
-  * LCD panel
-@@ -1711,6 +1763,18 @@ static int omapfb_do_probe(struct platform_device *pdev,
-               goto cleanup;
-       }
-+      if (def_mode != -1) {
-+              fbdev->panel->x_res     = video_modes[def_mode].x_res;
-+              fbdev->panel->y_res     = video_modes[def_mode].y_res;
-+              fbdev->panel->pixel_clock = video_modes[def_mode].pixel_clock;
-+              fbdev->panel->hsw       = video_modes[def_mode].hsw;
-+              fbdev->panel->hfp       = video_modes[def_mode].hfp;
-+              fbdev->panel->hbp       = video_modes[def_mode].hbp;
-+              fbdev->panel->vsw       = video_modes[def_mode].vsw;
-+              fbdev->panel->vfp       = video_modes[def_mode].vfp;
-+              fbdev->panel->vbp       = video_modes[def_mode].vbp;
-+      }
-+
-       r = fbdev->panel->init(fbdev->panel, fbdev);
-       if (r)
-               goto cleanup;
-@@ -1867,6 +1931,16 @@ static struct platform_driver omapfb_driver = {
-       },
- };
-+static int __init omapfb_find_mode(char *mode)
-+{
-+      int i;
-+
-+      for (i = 0; i < sizeof(video_modes)/sizeof(video_modes[0]); i++)
-+              if (!strcmp(mode, video_modes[i].name))
-+                      return i;
-+      return -1;
-+}
-+
- #ifndef MODULE
- /* Process kernel command line parameters */
-@@ -1915,6 +1989,8 @@ static int __init omapfb_setup(char *options)
-                       def_mirror = (simple_strtoul(this_opt + 7, NULL, 0));
-               else if (!strncmp(this_opt, "manual_update", 13))
-                       manual_update = 1;
-+              else if (!strncmp(this_opt, "mode:", 5))
-+                      def_mode = omapfb_find_mode(this_opt + 5);
-               else {
-                       pr_debug("omapfb: invalid option\n");
-                       r = -1;
diff --git a/packages/linux/linux-omap/002-mru-set-default-800x600.diff b/packages/linux/linux-omap/002-mru-set-default-800x600.diff
deleted file mode 100644 (file)
index b45f849..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 00:42:02 +0000 (+0100)
-Subject: OMAP: Set Beagleboard default video mode to 800x600 60Hz
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=17b546e6d65aee124a2b691727cdb2c1dcadaec5
-
-OMAP: Set Beagleboard default video mode to 800x600 60Hz
-
-This sets the default video mode on the Beagleboard to
-800x600 60Hz VESA CVT 0.48M3-R, 16bpp.  This is compatible
-with a wider range of monitors than the old default values.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
-index 9637735..f2861ec 100644
---- a/drivers/video/omap/lcd_omap3beagle.c
-+++ b/drivers/video/omap/lcd_omap3beagle.c
-@@ -31,10 +31,6 @@
- #define LCD_PANEL_ENABLE_GPIO       170
--#define LCD_XRES              1024    
--#define LCD_YRES              768
--#define LCD_PIXCLOCK          64000 /* in kHz */
--
- static int omap3beagle_panel_init(struct lcd_panel *panel,
-                               struct omapfb_device *fbdev)
- {
-@@ -65,19 +61,19 @@ static unsigned long omap3beagle_panel_get_caps(struct lcd_panel *panel)
- struct lcd_panel omap3beagle_panel = {
-       .name           = "omap3beagle",
-       .config         = OMAP_LCDC_PANEL_TFT,
--
--      .bpp            = 24,
-+      .bpp            = 16,
-       .data_lines     = 24,
--      .x_res          = LCD_XRES,
--      .y_res          = LCD_YRES,
--      .hsw            = 3,            /* hsync_len (4) - 1 */
--      .hfp            = 3,            /* right_margin (4) - 1 */
--      .hbp            = 39,           /* left_margin (40) - 1 */
--      .vsw            = 1,            /* vsync_len (2) - 1 */
--      .vfp            = 2,            /* lower_margin */
--      .vbp            = 7,            /* upper_margin (8) - 1 */
--
--      .pixel_clock    = LCD_PIXCLOCK,
-+
-+      /* 800 x 600 @ 60 Hz  Reduced blanking VESA CVT 0.48M3-R */
-+      .x_res          = 800,
-+      .y_res          = 600,
-+      .hfp            = 48,
-+      .hsw            = 32,
-+      .hbp            = 80,
-+      .vfp            = 3,
-+      .vsw            = 4,
-+      .vbp            = 11,
-+      .pixel_clock    = 35500,
-       .init           = omap3beagle_panel_init,
-       .cleanup        = omap3beagle_panel_cleanup,
diff --git a/packages/linux/linux-omap/004-mru-export-omapfb-register-panel.diff b/packages/linux/linux-omap/004-mru-export-omapfb-register-panel.diff
deleted file mode 100644 (file)
index 24ebcde..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 3 Sep 2008 20:56:03 +0000 (+0100)
-Subject: OMAP: Export omapfb_register_panel()
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=44811584aded9e47a83d69ad31002a6bb94730dc
-
-OMAP: Export omapfb_register_panel()
-
-This exports omapfb_register_panel() for use by LCD drivers built
-as modules.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index 2e53d8f..912cb0c 100644
---- a/drivers/video/omap/omapfb_main.c
-+++ b/drivers/video/omap/omapfb_main.c
-@@ -1997,6 +1997,7 @@ void omapfb_register_panel(struct lcd_panel *panel)
-       if (fbdev_pdev != NULL)
-               omapfb_do_probe(fbdev_pdev, fbdev_panel);
- }
-+EXPORT_SYMBOL(omapfb_register_panel);
- /* Called when the device is being detached from the driver */
- static int omapfb_remove(struct platform_device *pdev)
diff --git a/packages/linux/linux-omap/005-mru-add-omapfb-unregister-panel.diff b/packages/linux/linux-omap/005-mru-add-omapfb-unregister-panel.diff
deleted file mode 100644 (file)
index faee384..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 3 Sep 2008 20:57:59 +0000 (+0100)
-Subject: OMAP: Add omapfb_unregister_panel() function
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=85b5d3ba7221193cb2315256b69e97f34d2ae3b7
-
-OMAP: Add omapfb_unregister_panel() function
-
-This adds the function omapfb_unregister_panel() for use by LCD
-drivers built as modules.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h
-index a4a84f3..3ccb076 100644
---- a/arch/arm/plat-omap/include/mach/omapfb.h
-+++ b/arch/arm/plat-omap/include/mach/omapfb.h
-@@ -378,6 +378,7 @@ extern struct lcd_ctrl omap2_disp_ctrl;
- extern void omapfb_reserve_sdram(void);
- extern void omapfb_register_panel(struct lcd_panel *panel);
-+extern void omapfb_unregister_panel(struct lcd_panel *panel);
- extern void omapfb_write_first_pixel(struct omapfb_device *fbdev, u16 pixval);
- extern void omapfb_notify_clients(struct omapfb_device *fbdev,
-                                 unsigned long event);
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index 912cb0c..6d09e03 100644
---- a/drivers/video/omap/omapfb_main.c
-+++ b/drivers/video/omap/omapfb_main.c
-@@ -1736,7 +1736,8 @@ static void omapfb_free_resources(struct omapfb_device *fbdev, int state)
-       case 7:
-               omapfb_unregister_sysfs(fbdev);
-       case 6:
--              fbdev->panel->disable(fbdev->panel);
-+              if (fbdev->panel)
-+                      fbdev->panel->disable(fbdev->panel);
-       case 5:
-               omapfb_set_update_mode(fbdev, OMAPFB_UPDATE_DISABLED);
-       case 4:
-@@ -1744,7 +1745,8 @@ static void omapfb_free_resources(struct omapfb_device *fbdev, int state)
-       case 3:
-               ctrl_cleanup(fbdev);
-       case 2:
--              fbdev->panel->cleanup(fbdev->panel);
-+              if (fbdev->panel)
-+                      fbdev->panel->cleanup(fbdev->panel);
-       case 1:
-               dev_set_drvdata(fbdev->dev, NULL);
-               kfree(fbdev);
-@@ -1999,6 +2001,17 @@ void omapfb_register_panel(struct lcd_panel *panel)
- }
- EXPORT_SYMBOL(omapfb_register_panel);
-+void omapfb_unregister_panel(struct lcd_panel *panel)
-+{
-+      BUG_ON(fbdev_panel != panel);
-+
-+      panel->disable(panel);
-+
-+      omapfb_dev->panel = NULL;
-+      fbdev_panel = NULL;
-+}
-+EXPORT_SYMBOL(omapfb_unregister_panel);
-+
- /* Called when the device is being detached from the driver */
- static int omapfb_remove(struct platform_device *pdev)
- {
diff --git a/packages/linux/linux-omap/006-mru-lcd-as-modules.diff b/packages/linux/linux-omap/006-mru-lcd-as-modules.diff
deleted file mode 100644 (file)
index e522b3f..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 3 Sep 2008 23:05:33 +0000 (+0100)
-Subject: OMAP: Build LCD drivers as separate modules
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=127dc3100fe9d25ed2b6c0a056e4160cc05db653
-
-OMAP: Build LCD drivers as separate modules
-
-This enables building the various LCD drivers as modules separate
-from omapfb.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
-index 9977e80..93cd760 100644
---- a/drivers/video/omap/Kconfig
-+++ b/drivers/video/omap/Kconfig
-@@ -53,6 +53,70 @@ config FB_OMAP_LCD_MIPID
-         the Mobile Industry Processor Interface DBI-C/DCS
-         specification. (Supported LCDs: Philips LPH8923, Sharp LS041Y3)
-+config OMAP_FB_LCD_AMS_DELTA
-+      tristate "AMS DELTA LCD support"
-+      depends on FB_OMAP && MACH_AMS_DELTA
-+
-+config OMAP_FB_LCD_H2
-+      tristate "H2 LCD support"
-+      depends on FB_OMAP && MACH_OMAP_H2
-+
-+config OMAP_FB_LCD_H3
-+      tristate "H3 LCD support"
-+      depends on FB_OMAP && MACH_OMAP_H3
-+
-+config OMAP_FB_LCD_H4
-+      tristate "OMAP 2420 H4 LCD support"
-+      depends on FB_OMAP && MACH_OMAP_H4
-+
-+config OMAP_FB_LCD_PALMTE
-+      tristate "PALMTE LCD support"
-+      depends on FB_OMAP && MACH_OMAP_PALMTE
-+
-+config OMAP_FB_LCD_PALMTT
-+      tristate "PALMTT LCD support"
-+      depends on FB_OMAP && MACH_OMAP_PALMTT
-+
-+config OMAP_FB_LCD_PALMZ71
-+      tristate "PALMZ71 LCD support"
-+      depends on FB_OMAP && MACH_OMAP_PALMZ71
-+
-+config OMAP_FB_LCD_INN1610
-+      tristate "INN1610 LCD support"
-+      depends on FB_OMAP && ARCH_OMAP16XX && MACH_OMAP_INNOVATOR
-+
-+config OMAP_FB_LCD_INN1510
-+      tristate "INN1510 LCD support"
-+      depends on FB_OMAP && ARCH_OMAP15XX && MACH_OMAP_INNOVATOR
-+
-+config OMAP_FB_LCD_OSK
-+      tristate "OSK LCD support"
-+      depends on FB_OMAP && MACH_OMAP_OSK
-+
-+config OMAP_FB_LCD_SX1
-+      tristate "SX1 LCD support"
-+      depends on FB_OMAP && MACH_SX1
-+
-+config OMAP_FB_LCD_APOLLON
-+      tristate "OMAP 2420 Apollon LCD support"
-+      depends on FB_OMAP && MACH_OMAP_APOLLON
-+
-+config OMAP_FB_LCD_2430SDP
-+      tristate "OMAP 2430/3430 SDP LCD support"
-+      depends on FB_OMAP && (MACH_OMAP_2430SDP || MACH_OMAP_3430SDP)
-+
-+config OMAP_FB_LCD_OMAP2EVM
-+      tristate "OMAP 2530 EVM LCD support"
-+      depends on FB_OMAP && MACH_OMAP2EVM
-+
-+config OMAP_FB_LCD_OMAP3EVM
-+      tristate "OMAP 3530 EVM LCD support"
-+      depends on FB_OMAP && MACH_OMAP3EVM
-+
-+config OMAP_FB_LCD_OMAP3BEAGLE
-+      tristate "Beagle board DVI port support"
-+      depends on FB_OMAP && MACH_OMAP3_BEAGLE
-+
- config FB_OMAP_BOOTLOADER_INIT
-       bool "Check bootloader initialization"
-       depends on FB_OMAP
-diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
-dissimilarity index 64%
-index f9b5cd4..dbdcd67 100644
---- a/drivers/video/omap/Makefile
-+++ b/drivers/video/omap/Makefile
-@@ -1,40 +1,40 @@
--#
--# Makefile for the new OMAP framebuffer device driver
--#
--
--obj-$(CONFIG_FB_OMAP) += omapfb.o
--
--objs-yy := omapfb_main.o
--
--objs-y$(CONFIG_ARCH_OMAP1) += lcdc.o
--objs-y$(CONFIG_ARCH_OMAP2) += dispc.o
--objs-y$(CONFIG_ARCH_OMAP3) += dispc.o
--
--objs-$(CONFIG_ARCH_OMAP1)$(CONFIG_FB_OMAP_LCDC_EXTERNAL) += sossi.o
--objs-$(CONFIG_ARCH_OMAP2)$(CONFIG_FB_OMAP_LCDC_EXTERNAL) += rfbi.o
--
--objs-y$(CONFIG_FB_OMAP_LCDC_HWA742) += hwa742.o
--objs-y$(CONFIG_FB_OMAP_LCDC_BLIZZARD) += blizzard.o
--
--objs-y$(CONFIG_MACH_AMS_DELTA) += lcd_ams_delta.o
--objs-y$(CONFIG_MACH_OMAP_H4) += lcd_h4.o
--objs-y$(CONFIG_MACH_OMAP_H3) += lcd_h3.o
--objs-y$(CONFIG_MACH_OMAP_H2) += lcd_h2.o
--objs-y$(CONFIG_MACH_OMAP_PALMTE) += lcd_palmte.o
--objs-y$(CONFIG_MACH_OMAP_PALMTT) += lcd_palmtt.o
--objs-y$(CONFIG_MACH_OMAP_PALMZ71) += lcd_palmz71.o
--objs-$(CONFIG_ARCH_OMAP16XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1610.o
--objs-$(CONFIG_ARCH_OMAP15XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1510.o
--objs-y$(CONFIG_MACH_OMAP_OSK) += lcd_osk.o
--objs-y$(CONFIG_MACH_SX1) += lcd_sx1.o
--
--objs-y$(CONFIG_MACH_OMAP_APOLLON) += lcd_apollon.o
--objs-y$(CONFIG_MACH_OMAP_2430SDP) += lcd_2430sdp.o
--objs-y$(CONFIG_MACH_OMAP_3430SDP) += lcd_2430sdp.o
--objs-y$(CONFIG_MACH_OMAP2EVM) += lcd_omap2evm.o
--objs-y$(CONFIG_MACH_OMAP3EVM) += lcd_omap3evm.o
--objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o
--objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o
--
--omapfb-objs := $(objs-yy)
--
-+#
-+# Makefile for the new OMAP framebuffer device driver
-+#
-+
-+obj-$(CONFIG_FB_OMAP) += omapfb.o
-+
-+objs-yy := omapfb_main.o
-+
-+objs-y$(CONFIG_ARCH_OMAP1) += lcdc.o
-+objs-y$(CONFIG_ARCH_OMAP2) += dispc.o
-+objs-y$(CONFIG_ARCH_OMAP3) += dispc.o
-+
-+objs-$(CONFIG_ARCH_OMAP1)$(CONFIG_FB_OMAP_LCDC_EXTERNAL) += sossi.o
-+objs-$(CONFIG_ARCH_OMAP2)$(CONFIG_FB_OMAP_LCDC_EXTERNAL) += rfbi.o
-+
-+objs-y$(CONFIG_FB_OMAP_LCDC_HWA742) += hwa742.o
-+objs-y$(CONFIG_FB_OMAP_LCDC_BLIZZARD) += blizzard.o
-+
-+obj-$(CONFIG_OMAP_FB_LCD_AMS_DELTA) += lcd_ams_delta.o
-+obj-$(CONFIG_OMAP_FB_LCD_H4) += lcd_h4.o
-+obj-$(CONFIG_OMAP_FB_LCD_H3) += lcd_h3.o
-+obj-$(CONFIG_OMAP_FB_LCD_H2) += lcd_h2.o
-+obj-$(CONFIG_OMAP_FB_LCD_PALMTE) += lcd_palmte.o
-+obj-$(CONFIG_OMAP_FB_LCD_PALMTT) += lcd_palmtt.o
-+obj-$(CONFIG_OMAP_FB_LCD_PALMZ71) += lcd_palmz71.o
-+obj-$(CONFIG_OMAP_FB_LCD_INN1610) += lcd_inn1610.o
-+obj-$(CONFIG_OMAP_FB_LCD_INN1510) += lcd_inn1510.o
-+obj-$(CONFIG_OMAP_FB_LCD_OSK) += lcd_osk.o
-+obj-$(CONFIG_OMAP_FB_LCD_SX1) += lcd_sx1.o
-+
-+obj-$(CONFIG_OMAP_FB_LCD_APOLLON) += lcd_apollon.o
-+obj-$(CONFIG_OMAP_FB_LCD_2430SDP) += lcd_2430sdp.o
-+obj-$(CONFIG_OMAP_FB_LCD_2430SDP) += lcd_2430sdp.o
-+obj-$(CONFIG_OMAP_FB_LCD_OMAP2EVM) += lcd_omap2evm.o
-+obj-$(CONFIG_OMAP_FB_LCD_OMAP3EVM) += lcd_omap3evm.o
-+obj-$(CONFIG_OMAP_FB_LCD_OMAP3BEAGLE) += lcd_omap3beagle.o
-+obj-$(CONFIG_OMAP_FB_LCD_MIPID) += lcd_mipid.o
-+
-+omapfb-objs := $(objs-yy)
-+
diff --git a/packages/linux/linux-omap/007-mru-omapfb-as-module.diff b/packages/linux/linux-omap/007-mru-omapfb-as-module.diff
deleted file mode 100644 (file)
index e1eed0d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 3 Sep 2008 23:10:08 +0000 (+0100)
-Subject: OMAP: Fix omapfb built as module
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=ae65001ce247e510121bcda21775263bb4c42e05
-
-OMAP: Fix omapfb built as module
-
-This makes it possible to build omapfb as a module.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 6187e8f..4213c4f 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -1073,7 +1073,8 @@ static int mmap_kern(struct omapfb_mem_region *region)
-       pgprot_t                pgprot;
-       unsigned long           vaddr;
--      kvma = get_vm_area(region->size, VM_IOREMAP);
-+      kvma = __get_vm_area(region->size, VM_IOREMAP,
-+                           VMALLOC_START, VMALLOC_END);
-       if (kvma == NULL) {
-               dev_err(dispc.fbdev->dev, "can't get kernel vm area\n");
-               return -ENOMEM;
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index 6d09e03..19a1a83 100644
---- a/drivers/video/omap/omapfb_main.c
-+++ b/drivers/video/omap/omapfb_main.c
-@@ -2016,12 +2016,15 @@ EXPORT_SYMBOL(omapfb_unregister_panel);
- static int omapfb_remove(struct platform_device *pdev)
- {
-       struct omapfb_device *fbdev = platform_get_drvdata(pdev);
--      enum omapfb_state saved_state = fbdev->state;
--      /* FIXME: wait till completion of pending events */
-+      if (fbdev) {
-+              enum omapfb_state saved_state = fbdev->state;
--      fbdev->state = OMAPFB_DISABLED;
--      omapfb_free_resources(fbdev, saved_state);
-+              /* FIXME: wait till completion of pending events */
-+
-+              fbdev->state = OMAPFB_DISABLED;
-+              omapfb_free_resources(fbdev, saved_state);
-+      }
-       return 0;
- }
diff --git a/packages/linux/linux-omap/008-mru-lcd-omap3beagle-license.diff b/packages/linux/linux-omap/008-mru-lcd-omap3beagle-license.diff
deleted file mode 100644 (file)
index 4f69dd9..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 3 Sep 2008 23:12:03 +0000 (+0100)
-Subject: OMAP: Add missing MODULE_LICENSE in lcd_omap3beagle
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=368ba31e3e7dccdcea790c559ad3d3b4a20d924f
-
-OMAP: Add missing MODULE_LICENSE in lcd_omap3beagle
-
-This adds a missing MODULE_LICENSE("GPL") in lcd_omap3beagle.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
-index f2861ec..7b63db9 100644
---- a/drivers/video/omap/lcd_omap3beagle.c
-+++ b/drivers/video/omap/lcd_omap3beagle.c
-@@ -127,3 +127,5 @@ static void __exit omap3beagle_panel_drv_exit(void)
- module_init(omap3beagle_panel_drv_init);
- module_exit(omap3beagle_panel_drv_exit);
-+
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/linux-omap/009-mru-unregister-beagle-lcd.diff b/packages/linux/linux-omap/009-mru-unregister-beagle-lcd.diff
deleted file mode 100644 (file)
index c7e94bf..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 3 Sep 2008 23:17:06 +0000 (+0100)
-Subject: OMAP: Fix unloading lcd_omap3beagle module
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=6db3a4c28c6819047362fc8ac460cf8c124c6074
-
-OMAP: Fix unloading lcd_omap3beagle module
-
-Unregister the panel when unloading the lcd_omap3beagle module.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
-index 7b63db9..32bd988 100644
---- a/drivers/video/omap/lcd_omap3beagle.c
-+++ b/drivers/video/omap/lcd_omap3beagle.c
-@@ -90,6 +90,7 @@ static int omap3beagle_panel_probe(struct platform_device *pdev)
- static int omap3beagle_panel_remove(struct platform_device *pdev)
- {
-+      omapfb_unregister_panel(&omap3beagle_panel);
-       return 0;
- }
diff --git a/packages/linux/linux-omap/03-enable-overlay-opt.diff b/packages/linux/linux-omap/03-enable-overlay-opt.diff
deleted file mode 100644 (file)
index 9fa749f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Sun, 6 Jul 2008 13:15:36 +0000 (+0100)
-Subject: omapfb: enable overlay optimisation when possible
-X-Git-Tag: beagle-5~1
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=a63ac3abdf6781f863112321260fe7a5da757802
-
-omapfb: enable overlay optimisation when possible
----
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 6aff476..3b36227 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -582,11 +582,13 @@ static int omap_dispc_enable_plane(int plane, int enable)
-       const u32 at_reg[] = { DISPC_GFX_ATTRIBUTES,
-                               DISPC_VID1_BASE + DISPC_VID_ATTRIBUTES,
-                               DISPC_VID2_BASE + DISPC_VID_ATTRIBUTES };
-+      unsigned overlay_opt = plane & !!enable & !dispc.color_key.key_type;
-       if ((unsigned int)plane > dispc.mem_desc.region_cnt)
-               return -EINVAL;
-       enable_lcd_clocks(1);
-       MOD_REG_FLD(at_reg[plane], 1, enable ? 1 : 0);
-+      MOD_REG_FLD(DISPC_CONTROL, 1<<12 | 1<<5, overlay_opt<<12 | 1<<5);
-       enable_lcd_clocks(0);
-       return 0;
diff --git a/packages/linux/linux-omap/06-ensure-fclk.diff b/packages/linux/linux-omap/06-ensure-fclk.diff
deleted file mode 100644 (file)
index 79871a7..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Mon, 7 Jul 2008 23:59:08 +0000 (+0100)
-Subject: omapfb: ensure fck/lcd < 173MHz
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=0523ece1bad659c48c66aea364d83f7490e7e5ae
-
-omapfb: ensure fck/lcd < 173MHz
----
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index c17371c..85d6cad 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -738,14 +738,16 @@ static void setup_color_conv_coef(void)
-       MOD_REG_FLD(at2_reg, (1 << 11), ct->full_range);
- }
-+#define MAX_FCK_LCD 173000000
-+
- static void calc_ck_div(int is_tft, int pck, int *lck_div, int *pck_div)
- {
-       unsigned long fck, lck;
--      *lck_div = 1;
-       pck = max(1, pck);
-       fck = clk_get_rate(dispc.dss1_fck);
--      lck = fck;
-+      *lck_div = (fck + MAX_FCK_LCD - 1) / MAX_FCK_LCD;
-+      lck = fck / *lck_div;
-       *pck_div = (lck + pck - 1) / pck;
-       if (is_tft)
-               *pck_div = max(2, *pck_div);
diff --git a/packages/linux/linux-omap/07-set-burst-size.diff b/packages/linux/linux-omap/07-set-burst-size.diff
deleted file mode 100644 (file)
index 99bd80e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Tue, 8 Jul 2008 18:26:43 +0000 (+0100)
-Subject: omapfb: set graphics burst size to 16x32
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=4f9e415dfcd5613a8de973f6c9878cab959c5869
-
-omapfb: set graphics burst size to 16x32
----
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 85d6cad..fd06ca2 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -409,7 +409,7 @@ static inline int _setup_plane(int plane, int channel_out,
-       l |= cconv_en << 9;
-       l &= ~(0x03 << burst_shift);
--      l |= DISPC_BURST_8x32 << burst_shift;
-+      l |= DISPC_BURST_16x32 << burst_shift;
-       l &= ~(1 << chout_shift);
-       l |= chout_val << chout_shift;
index ad2869f..7de6a0a 100644 (file)
@@ -329,7 +329,7 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
 CONFIG_VFP=y
 CONFIG_VFPv3=y
 CONFIG_NEON=y
-CONFIG_NEON_CACHE_BUG=y
+CONFIG_ARM_ERRATUM_451034=y
 
 #
 # Userspace binary formats
@@ -1,18 +1,20 @@
 From: Mans Rullgard <mans@mansr.com>
-Date: Tue, 22 Jul 2008 00:58:18 +0000 (+0100)
-Subject: ARM: OMAP: add clk_get_parent() for OMAP2/3
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=e2de5e5578fbaa9b4b75074796da0608fc93e6ae
+Date: Fri, 29 Aug 2008 01:51:36 +0000 (+0100)
+Subject: OMAP: Add clk_get_parent() for OMAP2/3
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=08d1f1947a5a970b2fe6e4dfeeb70286b9379056
 
-ARM: OMAP: add clk_get_parent() for OMAP2/3
+OMAP: Add clk_get_parent() for OMAP2/3
+
+This makes clk_get_parent() work on OMAP2/3.
 
 Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
 
 diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
-index 577be44..28aec36 100644
+index 5f48e14..aae0d2e 100644
 --- a/arch/arm/mach-omap2/clock.c
 +++ b/arch/arm/mach-omap2/clock.c
-@@ -824,6 +824,11 @@ int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent)
+@@ -831,6 +831,11 @@ int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent)
        return 0;
  }
  
@@ -25,7 +27,7 @@ index 577be44..28aec36 100644
  
  /**
 diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
-index 49245f7..4aa69d5 100644
+index 3fa2e26..2916879 100644
 --- a/arch/arm/mach-omap2/clock.h
 +++ b/arch/arm/mach-omap2/clock.h
 @@ -29,6 +29,7 @@ int omap2_clk_set_rate(struct clk *clk, unsigned long rate);
@@ -37,10 +39,10 @@ index 49245f7..4aa69d5 100644
  #ifdef CONFIG_OMAP_RESET_CLOCKS
  void omap2_clk_disable_unused(struct clk *clk);
 diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c
-index 54cc6e1..ed7af21 100644
+index c26d9d8..f91bd57 100644
 --- a/arch/arm/mach-omap2/clock24xx.c
 +++ b/arch/arm/mach-omap2/clock24xx.c
-@@ -422,6 +422,7 @@ static struct clk_functions omap2_clk_functions = {
+@@ -423,6 +423,7 @@ static struct clk_functions omap2_clk_functions = {
        .clk_round_rate         = omap2_clk_round_rate,
        .clk_set_rate           = omap2_clk_set_rate,
        .clk_set_parent         = omap2_clk_set_parent,
@@ -49,10 +51,10 @@ index 54cc6e1..ed7af21 100644
  #ifdef        CONFIG_CPU_FREQ
        .clk_init_cpufreq_table = omap2_clk_init_cpufreq_table,
 diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
-index 04dedec..08c8c46 100644
+index 152d095..2196edd 100644
 --- a/arch/arm/mach-omap2/clock34xx.c
 +++ b/arch/arm/mach-omap2/clock34xx.c
-@@ -541,6 +541,7 @@ static struct clk_functions omap2_clk_functions = {
+@@ -606,6 +606,7 @@ static struct clk_functions omap2_clk_functions = {
        .clk_round_rate         = omap2_clk_round_rate,
        .clk_set_rate           = omap2_clk_set_rate,
        .clk_set_parent         = omap2_clk_set_parent,
@@ -1,13 +1,19 @@
 From: Mans Rullgard <mans@mansr.com>
-Date: Thu, 28 Aug 2008 21:20:39 +0000 (+0100)
-Subject: OMAP: Enable overlay optimisation when possible
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=5a7378bb691e76ce247f39f79e1a928166f1aed9
+Date: Fri, 29 Aug 2008 01:45:26 +0000 (+0100)
+Subject: OMAP: Enable overlay optimisation
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=7e052af7e4c73dc450412486ad37eb529e725dc7
 
-OMAP: Enable overlay optimisation when possible
+OMAP: Enable overlay optimisation
+
+This enables the overlay optimisation feature when the video
+overlay is active. This reduces memory bandwidth used by the
+display subsystem, improving overall performance.
+
+Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
 
 diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 7c525f5..1d56ee0 100644
+index 888d2c2..0f0b2e5 100644
 --- a/drivers/video/omap/dispc.c
 +++ b/drivers/video/omap/dispc.c
 @@ -315,6 +315,60 @@ void omap_dispc_enable_digit_out(int enable)
@@ -81,11 +87,10 @@ index 7c525f5..1d56ee0 100644
        MOD_REG_FLD(DISPC_CONTROL, 1<<5, 1<<5);
  
        return height * screen_width * bpp / 8;
-@@ -586,13 +643,19 @@ static int omap_dispc_enable_plane(int plane, int enable)
+@@ -585,11 +642,19 @@ static int omap_dispc_enable_plane(int plane, int enable)
        const u32 at_reg[] = { DISPC_GFX_ATTRIBUTES,
                                DISPC_VID1_BASE + DISPC_VID_ATTRIBUTES,
                                DISPC_VID2_BASE + DISPC_VID_ATTRIBUTES };
--      unsigned overlay_opt = plane & !!enable & !dispc.color_key.key_type;
 +      struct omapfb_plane_struct *pi;
 +
        if ((unsigned int)plane > dispc.mem_desc.region_cnt)
@@ -96,14 +101,13 @@ index 7c525f5..1d56ee0 100644
 +
        enable_lcd_clocks(1);
        MOD_REG_FLD(at_reg[plane], 1, enable ? 1 : 0);
--      MOD_REG_FLD(DISPC_CONTROL, 1<<12 | 1<<5, overlay_opt<<12 | 1<<5);
 +      if (plane < 2)
 +              setup_overlay_opt();
 +      MOD_REG_FLD(DISPC_CONTROL, 1<<5, 1<<5);
        enable_lcd_clocks(0);
  
        return 0;
-@@ -636,6 +699,7 @@ static int omap_dispc_set_color_key(struct omapfb_color_key *ck)
+@@ -633,6 +698,7 @@ static int omap_dispc_set_color_key(struct omapfb_color_key *ck)
        if (val != 0)
                dispc_write_reg(tr_reg, ck->trans_key);
        dispc_write_reg(df_reg, ck->background);
@@ -1,16 +1,20 @@
 From: Mans Rullgard <mans@mansr.com>
-Date: Mon, 7 Jul 2008 00:13:00 +0000 (+0100)
-Subject: omapfb: fix display panning
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=9fec252c96b0e69bcef0afd9cb9dd72b7179c239
+Date: Fri, 29 Aug 2008 01:18:48 +0000 (+0100)
+Subject: OMAP: Fix omapfb display panning
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=2ea46e9f28ff57a32d87bc380457a584c913fe78
 
-omapfb: fix display panning
+OMAP: Fix omapfb display panning
+
+This makes the FBIOPAN_DISPLAY ioctl work with omapfb.
+
+Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
 
 diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 4e1a8e3..c17371c 100644
+index ce4c4de..64bf333 100644
 --- a/drivers/video/omap/dispc.c
 +++ b/drivers/video/omap/dispc.c
-@@ -435,6 +435,8 @@ static inline int _setup_plane(int plane, int channel_out,
+@@ -436,6 +436,8 @@ static inline int _setup_plane(int plane, int channel_out,
  
        dispc_write_reg(ri_reg[plane], (screen_width - width) * bpp / 8 + 1);
  
@@ -20,10 +24,10 @@ index 4e1a8e3..c17371c 100644
  }
  
 diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index 1166a01..3e4959e 100644
+index e7f3462..e9ffb92 100644
 --- a/drivers/video/omap/omapfb_main.c
 +++ b/drivers/video/omap/omapfb_main.c
-@@ -206,8 +206,8 @@ static int ctrl_change_mode(struct fb_info *fbi)
+@@ -207,8 +207,8 @@ static int ctrl_change_mode(struct fb_info *fbi)
        struct omapfb_device *fbdev = plane->fbdev;
        struct fb_var_screeninfo *var = &fbi->var;
  
@@ -34,7 +38,7 @@ index 1166a01..3e4959e 100644
  
        if (fbdev->ctrl->sync)
                fbdev->ctrl->sync();
-@@ -423,6 +423,8 @@ static void set_fb_fix(struct fb_info *fbi)
+@@ -426,6 +426,8 @@ static void set_fb_fix(struct fb_info *fbi)
        }
        fix->accel              = FB_ACCEL_OMAP1610;
        fix->line_length        = var->xres_virtual * bpp / 8;
@@ -1,17 +1,20 @@
 From: Mans Rullgard <mans@mansr.com>
-Date: Sat, 5 Jul 2008 20:31:56 +0000 (+0100)
-Subject: omapfb: fix video timings message
-X-Git-Tag: beagle-5~3
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=2929b75035ebe8702ba2ff2c81b654c487701f64
+Date: Fri, 29 Aug 2008 01:16:14 +0000 (+0100)
+Subject: OMAP: Fix video timings info message
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=3a8bdf0967ae2c4eb3cebb97118ef0392f709c1c
 
-omapfb: fix video timings message
+OMAP: Fix video timings info message
+
+This fixes the hsync frequency value printed on startup.
+
+Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
 
 diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index 418ed9f..1166a01 100644
+index d176a2c..e7f3462 100644
 --- a/drivers/video/omap/omapfb_main.c
 +++ b/drivers/video/omap/omapfb_main.c
-@@ -1789,7 +1789,8 @@ static int omapfb_do_probe(struct platform_device *pdev,
+@@ -1792,7 +1792,8 @@ static int omapfb_do_probe(struct platform_device *pdev,
                        vram, fbdev->mem_desc.region_cnt);
        pr_info("omapfb: Pixclock %lu kHz hfreq %lu.%lu kHz "
                        "vfreq %lu.%lu Hz\n",
@@ -1,9 +1,9 @@
 From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 23 Jul 2008 08:40:07 +0000 (+0100)
-Subject: ARM: OMAP: Set DSS1_ALWON_FCLK to a multiple of the pixel clock
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=01ee28c50701caa94739e764c3dae9298edd8216
+Date: Fri, 29 Aug 2008 01:34:39 +0000 (+0100)
+Subject: OMAP: Improve pixel clock configuration
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=01c2d720e59c291de9eb21eb65225f2f215fef84
 
-ARM: OMAP: Set DSS1_ALWON_FCLK to a multiple of the pixel clock
+OMAP: Improve pixel clock configuration
 
 This sets the DSS1_ALWON_FCLK clock as close as possible to a
 multiple of the requested pixel clock, while keeping it below
@@ -16,10 +16,10 @@ Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
 
 diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index fd06ca2..e0e8528 100644
+index 64bf333..888d2c2 100644
 --- a/drivers/video/omap/dispc.c
 +++ b/drivers/video/omap/dispc.c
-@@ -176,6 +176,7 @@ static struct {
+@@ -177,6 +177,7 @@ static struct {
  
        struct clk      *dss_ick, *dss1_fck;
        struct clk      *dss_54m_fck;
@@ -27,13 +27,12 @@ index fd06ca2..e0e8528 100644
  
        enum omapfb_update_mode update_mode;
        struct omapfb_device    *fbdev;
-@@ -738,21 +739,34 @@ static void setup_color_conv_coef(void)
+@@ -736,19 +737,34 @@ static void setup_color_conv_coef(void)
        MOD_REG_FLD(at2_reg, (1 << 11), ct->full_range);
  }
  
--#define MAX_FCK_LCD 173000000
 +#define MAX_FCK 173000000
++
  static void calc_ck_div(int is_tft, int pck, int *lck_div, int *pck_div)
  {
 +      unsigned long prate = clk_get_rate(clk_get_parent(dispc.dpll4_m4_ck));
@@ -41,6 +40,7 @@ index fd06ca2..e0e8528 100644
 +      unsigned long fck_div;
        unsigned long fck, lck;
  
+-      *lck_div = 1;
        pck = max(1, pck);
 +
 +      if (pck * pcd_min > MAX_FCK) {
@@ -57,8 +57,7 @@ index fd06ca2..e0e8528 100644
 +              fck_div = 1;
 +      clk_set_rate(dispc.dpll4_m4_ck, prate / fck_div);
        fck = clk_get_rate(dispc.dss1_fck);
--      *lck_div = (fck + MAX_FCK_LCD - 1) / MAX_FCK_LCD;
--      lck = fck / *lck_div;
+-      lck = fck;
 -      *pck_div = (lck + pck - 1) / pck;
 -      if (is_tft)
 -              *pck_div = max(2, *pck_div);
@@ -70,7 +69,7 @@ index fd06ca2..e0e8528 100644
        if (*pck_div > 255) {
                *pck_div = 255;
                lck = pck * *pck_div;
-@@ -914,11 +928,21 @@ static int get_dss_clocks(void)
+@@ -909,11 +925,21 @@ static int get_dss_clocks(void)
                return PTR_ERR(dispc.dss_54m_fck);
        }
  
@@ -1,22 +1,24 @@
 From: Mans Rullgard <mans@mansr.com>
-Date: Tue, 22 Jul 2008 00:31:11 +0000 (+0100)
-Subject: ARM: OMAP: make dpll4_m4_ck programmable with clk_set_rate()
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=2b7b958dc79e51127d7a4ecf88ce12dbc6c31426
+Date: Fri, 29 Aug 2008 01:52:42 +0000 (+0100)
+Subject: OMAP: Make dpll4_m4_ck programmable with clk_set_rate()
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=feab5b628c06619196044c15d9d2a113df173eee
 
-ARM: OMAP: make dpll4_m4_ck programmable with clk_set_rate()
+OMAP: Make dpll4_m4_ck programmable with clk_set_rate()
 
 Filling the set_rate and round_rate fields of dpll4_m4_ck makes
 this clock programmable through clk_set_rate().  This is needed
 to give omapfb control over the dss1_alwon_fck rate.
+
+Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
 
 diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
-index 161da12..876eb13 100644
+index 41f91f8..9c8e0c8 100644
 --- a/arch/arm/mach-omap2/clock34xx.h
 +++ b/arch/arm/mach-omap2/clock34xx.h
-@@ -815,6 +815,8 @@ static struct clk dpll4_m4_ck = {
-       .flags          = CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+@@ -877,6 +877,8 @@ static struct clk dpll4_m4_ck = {
                                PARENT_CONTROLS_CLOCK,
+       .clkdm          = { .name = "dpll4_clkdm" },
        .recalc         = &omap2_clksel_recalc,
 +      .set_rate       = &omap2_clksel_set_rate,
 +      .round_rate     = &omap2_clksel_round_rate,
@@ -1,60 +1,60 @@
 From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 08:28:31 +0000 (+0100)
-Subject: OMAP: Add more video modes, and make the default configurable
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=ef272670f19fac8fb0ceb82933927dab1fb496b7
+Date: Fri, 29 Aug 2008 01:42:12 +0000 (+0100)
+Subject: OMAP: Make video mode selectable from pre-defined list
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=7a9e55d7156dae6bc930c77620a88a669d2ed1c9
 
-OMAP: Add more video modes, and make the default configurable
+OMAP: Make video mode selectable from pre-defined list
+
+This adds a list of common video modes and allows one to be
+selected with video=omapfb:mode:name on the command line,
+overriding the defaults from lcd_*.c. A default named mode
+can also be specified in the kernel configuration.
+
+Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
 
-diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h
-index 92e9ffd..a4a84f3 100644
---- a/arch/arm/plat-omap/include/mach/omapfb.h
-+++ b/arch/arm/plat-omap/include/mach/omapfb.h
-@@ -192,20 +192,6 @@ enum omapfb_update_mode {
- struct omapfb_device;
--struct video_mode {
--      const char      *name;
--      int             x_res, y_res;
--      int             pixel_clock;    /* In kHz */
--      int             hsw;            /* Horizontal synchronization
--                                         pulse width */
--      int             hfp;            /* Horizontal front porch */
--      int             hbp;            /* Horizontal back porch */
--      int             vsw;            /* Vertical synchronization
--                                         pulse width */
--      int             vfp;            /* Vertical front porch */
--      int             vbp;            /* Vertical back porch */
--};
--
- struct lcd_panel {
-       const char      *name;
-       int             config;         /* TFT/STN, signal inversion */
 diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
-index bdeb8fb..9977e80 100644
+index 5ebd591..9977e80 100644
 --- a/drivers/video/omap/Kconfig
 +++ b/drivers/video/omap/Kconfig
-@@ -7,6 +7,14 @@ config FB_OMAP
+@@ -7,26 +7,13 @@ config FB_OMAP
        help
            Frame buffer driver for OMAP based boards.
  
+-choice
+-      depends on FB_OMAP && MACH_OVERO
+-      prompt "Screen resolution"
+-      default FB_OMAP_079M3R
 +config FB_OMAP_VIDEO_MODE
 +      string "Default video mode"
 +      depends on FB_OMAP
-+      help
+       help
+-        Selected desired screen resolution
+-
+-config FB_OMAP_031M3R
+-      boolean "640 x 480 @ 60 Hz Reduced blanking"
+-
+-config FB_OMAP_048M3R
+-      boolean "800 x 600 @ 60 Hz Reduced blanking"
+-
+-config FB_OMAP_079M3R
+-      boolean "1024 x 768 @ 60 Hz Reduced blanking"
+-
+-config FB_OMAP_092M9R
+-      boolean "1280 x 720 @ 60 Hz Reduced blanking"
+-
+-endchoice
 +        Enter video mode name to use if none is specified on the kernel
 +        command line. If left blank, board-specific default timings
 +        will be used. See omapfb_main.c for a list of valid mode names.
-+
  config FB_OMAP_LCDC_EXTERNAL
        bool "External LCD controller support"
-       depends on FB_OMAP
 diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index f2229b1..2e53d8f 100644
+index e9ffb92..c4c4049 100644
 --- a/drivers/video/omap/omapfb_main.c
 +++ b/drivers/video/omap/omapfb_main.c
-@@ -33,6 +33,20 @@
+@@ -36,6 +36,20 @@
  
  #define MODULE_NAME   "omapfb"
  
@@ -74,17 +74,16 @@ index f2229b1..2e53d8f 100644
 +
  static unsigned int   def_accel;
  static unsigned long  def_vram[OMAPFB_PLANE_NUM];
- static int            def_vram_cnt;
-@@ -40,7 +54,7 @@ static unsigned long def_vxres;
+ static unsigned int   def_vram_cnt;
+@@ -43,6 +57,7 @@ static unsigned long def_vxres;
  static unsigned long  def_vyres;
  static unsigned int   def_rotate;
  static unsigned int   def_mirror;
--static int            def_mode = -1;
 +static char           def_mode[16] = CONFIG_FB_OMAP_VIDEO_MODE;
  
  #ifdef CONFIG_FB_OMAP_MANUAL_UPDATE
  static int            manual_update = 1;
-@@ -51,6 +65,7 @@ static int           manual_update;
+@@ -53,6 +68,7 @@ static int           manual_update;
  static struct platform_device *fbdev_pdev;
  static struct lcd_panel               *fbdev_panel;
  static struct omapfb_device   *omapfb_dev;
@@ -92,11 +91,10 @@ index f2229b1..2e53d8f 100644
  
  struct caps_table_struct {
        unsigned long flag;
-@@ -81,9 +96,88 @@ static struct caps_table_struct color_caps[] = {
+@@ -83,6 +99,152 @@ static struct caps_table_struct color_caps[] = {
        { 1 << OMAPFB_COLOR_YUY422,     "YUY422", },
  };
  
--static const struct video_mode video_modes[] = {
 +static struct video_mode video_modes[] __initdata = {
 +      {
 +              /* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
@@ -176,55 +174,60 @@ index f2229b1..2e53d8f 100644
 +              .vbp            = 39,
 +              .pixel_clock    = 27000,
 +      },
-       {
--              .name           = "1280x720@50",
++      {
 +              /* 1280 x 720 @ 50 Hz  CEA-861B Format 19 */
 +              .name           = "720p50",
-               .x_res          = 1280,
-               .y_res          = 720,
-               .hfp            = 440,
-@@ -95,7 +189,8 @@ static const struct video_mode video_modes[] = {
-               .pixel_clock    = 74250,
-       },
-       {
--              .name           = "1280x720@60",
++              .x_res          = 1280,
++              .y_res          = 720,
++              .hfp            = 440,
++              .hsw            = 40,
++              .hbp            = 220,
++              .vfp            = 20,
++              .vsw            = 5,
++              .vbp            = 5,
++              .pixel_clock    = 74250,
++      },
++      {
 +              /* 1280 x 720 @ 60 Hz  CEA-861B Format 4 */
 +              .name           = "720p60",
-               .x_res          = 1280,
-               .y_res          = 720,
-               .hfp            = 110,
-@@ -107,7 +202,8 @@ static const struct video_mode video_modes[] = {
-               .pixel_clock    = 74250,
-       },
-       {
--              .name           = "1920x1080@24",
++              .x_res          = 1280,
++              .y_res          = 720,
++              .hfp            = 110,
++              .hsw            = 40,
++              .hbp            = 220,
++              .vfp            = 20,
++              .vsw            = 5,
++              .vbp            = 5,
++              .pixel_clock    = 74250,
++      },
++      {
 +              /* 1920 x 1080 @ 24 Hz  CEA-861B Format 32 */
 +              .name           = "1080p24",
-               .x_res          = 1920,
-               .y_res          = 1080,
-               .hfp            = 148,
-@@ -116,10 +212,11 @@ static const struct video_mode video_modes[] = {
-               .vfp            = 36,
-               .vsw            = 5,
-               .vbp            = 4,
--              .pixel_clock    = 74160,
++              .x_res          = 1920,
++              .y_res          = 1080,
++              .hfp            = 148,
++              .hsw            = 44,
++              .hbp            = 638,
++              .vfp            = 36,
++              .vsw            = 5,
++              .vbp            = 4,
 +              .pixel_clock    = 74250,
-       },
-       {
--              .name           = "1920x1080@25",
++      },
++      {
 +              /* 1920 x 1080 @ 25 Hz  CEA-861B Format 33 */
 +              .name           = "1080p25",
-               .x_res          = 1920,
-               .y_res          = 1080,
-               .hfp            = 148,
-@@ -129,7 +226,20 @@ static const struct video_mode video_modes[] = {
-               .vsw            = 5,
-               .vbp            = 4,
-               .pixel_clock    = 74250,
--      }
++              .x_res          = 1920,
++              .y_res          = 1080,
++              .hfp            = 148,
++              .hsw            = 44,
++              .hbp            = 528,
++              .vfp            = 36,
++              .vsw            = 5,
++              .vbp            = 4,
++              .pixel_clock    = 74250,
 +      },
 +      {
-+              /* 1920 x 1080 @ 25 Hz  CEA-861B Format 34 */
++              /* 1920 x 1080 @ 30 Hz  CEA-861B Format 34 */
 +              .name           = "1080p30",
 +              .x_res          = 1920,
 +              .y_res          = 1080,
@@ -236,23 +239,15 @@ index f2229b1..2e53d8f 100644
 +              .vbp            = 4,
 +              .pixel_clock    = 74250,
 +      },
- };
++};
++
  /*
-@@ -1763,16 +1873,18 @@ static int omapfb_do_probe(struct platform_device *pdev,
+  * ---------------------------------------------------------------------------
+  * LCD panel
+@@ -1714,6 +1876,20 @@ static int omapfb_do_probe(struct platform_device *pdev,
                goto cleanup;
        }
  
--      if (def_mode != -1) {
--              fbdev->panel->x_res     = video_modes[def_mode].x_res;
--              fbdev->panel->y_res     = video_modes[def_mode].y_res;
--              fbdev->panel->pixel_clock = video_modes[def_mode].pixel_clock;
--              fbdev->panel->hsw       = video_modes[def_mode].hsw;
--              fbdev->panel->hfp       = video_modes[def_mode].hfp;
--              fbdev->panel->hbp       = video_modes[def_mode].hbp;
--              fbdev->panel->vsw       = video_modes[def_mode].vsw;
--              fbdev->panel->vfp       = video_modes[def_mode].vfp;
--              fbdev->panel->vbp       = video_modes[def_mode].vbp;
 +      if (video_mode.name) {
 +              pr_info("omapfb: using mode %s\n", video_mode.name);
 +
@@ -265,39 +260,39 @@ index f2229b1..2e53d8f 100644
 +              fbdev->panel->vsw       = video_mode.vsw;
 +              fbdev->panel->vfp       = video_mode.vfp;
 +              fbdev->panel->vbp       = video_mode.vbp;
-       }
++      }
++
        r = fbdev->panel->init(fbdev->panel, fbdev);
-@@ -1931,14 +2043,15 @@ static struct platform_driver omapfb_driver = {
+       if (r)
+               goto cleanup;
+@@ -1870,6 +2046,17 @@ static struct platform_driver omapfb_driver = {
        },
  };
  
--static int __init omapfb_find_mode(char *mode)
 +static void __init omapfb_find_mode(char *name, struct video_mode *vmode)
- {
-       int i;
-       for (i = 0; i < sizeof(video_modes)/sizeof(video_modes[0]); i++)
--              if (!strcmp(mode, video_modes[i].name))
--                      return i;
--      return -1;
++{
++      int i;
++
++      for (i = 0; i < sizeof(video_modes)/sizeof(video_modes[0]); i++)
 +              if (!strcmp(name, video_modes[i].name)) {
 +                      *vmode = video_modes[i];
 +                      break;
 +              }
- }
++}
++
  #ifndef MODULE
-@@ -1990,7 +2103,7 @@ static int __init omapfb_setup(char *options)
+ /* Process kernel command line parameters */
+@@ -1918,6 +2105,8 @@ static int __init omapfb_setup(char *options)
+                       def_mirror = (simple_strtoul(this_opt + 7, NULL, 0));
                else if (!strncmp(this_opt, "manual_update", 13))
                        manual_update = 1;
-               else if (!strncmp(this_opt, "mode:", 5))
--                      def_mode = omapfb_find_mode(this_opt + 5);
++              else if (!strncmp(this_opt, "mode:", 5))
 +                      strncpy(def_mode, this_opt + 5, sizeof(def_mode));
                else {
                        pr_debug("omapfb: invalid option\n");
                        r = -1;
-@@ -2012,6 +2125,9 @@ static int __init omapfb_init(void)
+@@ -1939,6 +2128,9 @@ static int __init omapfb_init(void)
                return -ENODEV;
        omapfb_setup(option);
  #endif
@@ -307,7 +302,7 @@ index f2229b1..2e53d8f 100644
        /* Register the driver with LDM */
        if (platform_driver_register(&omapfb_driver)) {
                pr_debug("failed to register omapfb driver\n");
-@@ -2033,6 +2149,7 @@ module_param_named(vyres, def_vyres, long, 0664);
+@@ -1960,6 +2152,7 @@ module_param_named(vyres, def_vyres, long, 0664);
  module_param_named(rotate, def_rotate, uint, 0664);
  module_param_named(mirror, def_mirror, uint, 0664);
  module_param_named(manual_update, manual_update, bool, 0664);
index 5bb6d22..78547c8 100644 (file)
@@ -1,9 +1,9 @@
 From: Mans Rullgard <mans@mansr.com>
-Date: Wed, 30 Jul 2008 08:25:51 +0000 (+0100)
-Subject: ARM: NEON L1 cache bug workaround (erratum 451034)
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=26023493baf13e0a67fd6cf08d87be5ff6f7c56d
+Date: Sat, 16 Aug 2008 23:03:06 +0000 (+0100)
+Subject: ARM: Workaround for erratum 451034
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=b84fa87873ffb68ad23930cf6cddeea8bec43ede
 
-ARM: NEON L1 cache bug workaround (erratum 451034)
+ARM: Workaround for erratum 451034
 
 On Cortex-A8 r1p0 and r1p1, executing a NEON store with an integer
 store in the store buffer, can cause a processor deadlock under
@@ -15,61 +15,63 @@ counter-measures.  Userspace code can still trigger the deadlock, so
 a different workaround is required to safely run untrusted code.
 
 See ARM Cortex-A8 Errata Notice (PR120-PRDC-008070) for full details.
+
+Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
 
 diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 8c75840..1172e14 100644
+index aa475d9..41d536e 100644
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
-@@ -1071,6 +1071,22 @@ config NEON
+@@ -1117,6 +1117,22 @@ config NEON
          Say Y to include support code for NEON, the ARMv7 Advanced SIMD
          Extension.
  
-+config NEON_CACHE_BUG
-+      bool "NEON L1 cache bug workaround (erratum 451034)"
++config ARM_ERRATUM_451034
++      bool "Enable workaround for ARM erratum 451034"
 +      depends on VFPv3
 +      help
-+          On Cortex-A8 r1p0 and r1p1, executing a NEON store with an integer
-+          store in the store buffer, can cause a processor deadlock under
-+          certain conditions.
++        On Cortex-A8 r1p0 and r1p1, executing a NEON store with an integer
++        store in the store buffer, can cause a processor deadlock under
++        certain conditions.
 +
-+          See ARM Cortex-A8 Errata Notice (PR120-PRDC-008070) for full details.
++        See ARM Cortex-A8 Errata Notice (PR120-PRDC-008070) for full details.
 +
-+        Say Y to include a workaround.
++        Say Y to include a partial workaround.
 +
-+          WARNING: Even with this option enabled, userspace code can trigger
-+          the deadlock.  To safely run untrusted code, a different fix is
-+          required.
++        WARNING: Even with this option enabled, userspace code can trigger
++        the deadlock.  To safely run untrusted code, a different fix is
++        required.
 +
  endmenu
  
  menu "Userspace binary formats"
-diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
-index 597ed00..e50094e 100644
---- a/arch/arm/kernel/entry-common.S
-+++ b/arch/arm/kernel/entry-common.S
-@@ -68,6 +68,10 @@ no_work_pending:
-       /* perform architecture specific actions before user return */
-       arch_ret_to_user r1, lr
-+#ifdef CONFIG_NEON_CACHE_BUG
-+      dmb
-+#endif
-+
-       @ slow_restore_user_regs
-       ldr     r1, [sp, #S_PSR]                @ get calling cpsr
-       ldr     lr, [sp, #S_PC]!                @ get pc
 diff --git a/arch/arm/include/asm/vfpmacros.h b/arch/arm/include/asm/vfpmacros.h
-index cccb389..c9d2976 100644
+index 422f3cc..934798b 100644
 --- a/arch/arm/include/asm/vfpmacros.h
 +++ b/arch/arm/include/asm/vfpmacros.h
 @@ -32,6 +32,9 @@
  
        @ write all the working registers out of the VFP
        .macro  VFPFSTMIA, base, tmp
-+#ifdef CONFIG_NEON_CACHE_BUG
++#ifdef CONFIG_ARM_ERRATUM_451034
 +      dmb
 +#endif
  #if __LINUX_ARM_ARCH__ < 6
        STC     p11, cr0, [\base],#33*4             @ FSTMIAX \base!, {d0-d15}
  #else
+diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
+index 060d7e2..9799a35 100644
+--- a/arch/arm/kernel/entry-common.S
++++ b/arch/arm/kernel/entry-common.S
+@@ -69,6 +69,10 @@ no_work_pending:
+       /* perform architecture specific actions before user return */
+       arch_ret_to_user r1, lr
++#ifdef CONFIG_ARM_ERRATUM_451034
++      dmb
++#endif
++
+       @ slow_restore_user_regs
+       ldr     r1, [sp, #S_PSR]                @ get calling cpsr
+       ldr     lr, [sp, #S_PC]!                @ get pc
index 102f6ec..df28cac 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.27-rc6-omap1
-# Sun Sep 14 21:25:30 2008
+# Tue Sep 16 10:26:07 2008
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -202,9 +202,9 @@ CONFIG_OMAP_MCBSP=y
 CONFIG_OMAP_32K_TIMER=y
 CONFIG_OMAP_32K_TIMER_HZ=128
 CONFIG_OMAP_DM_TIMER=y
-# CONFIG_OMAP_LL_DEBUG_UART1 is not set
+CONFIG_OMAP_LL_DEBUG_UART1=y
 # CONFIG_OMAP_LL_DEBUG_UART2 is not set
-CONFIG_OMAP_LL_DEBUG_UART3=y
+# CONFIG_OMAP_LL_DEBUG_UART3 is not set
 CONFIG_ARCH_OMAP34XX=y
 CONFIG_ARCH_OMAP3430=y
 
@@ -213,8 +213,8 @@ CONFIG_ARCH_OMAP3430=y
 #
 # CONFIG_MACH_OMAP_LDP is not set
 # CONFIG_MACH_OMAP_3430SDP is not set
-# CONFIG_MACH_OMAP3EVM is not set
-CONFIG_MACH_OMAP3_BEAGLE=y
+CONFIG_MACH_OMAP3EVM=y
+# CONFIG_MACH_OMAP3_BEAGLE is not set
 # CONFIG_MACH_OVERO is not set
 CONFIG_OMAP_TICK_GPTIMER=12
 
@@ -330,7 +330,7 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
 CONFIG_VFP=y
 CONFIG_VFPv3=y
 CONFIG_NEON=y
-CONFIG_NEON_CACHE_BUG=y
+CONFIG_ARM_ERRATUM_451034=y
 
 #
 # Userspace binary formats
@@ -798,6 +798,7 @@ CONFIG_INPUT_KEYBOARD=y
 # CONFIG_KEYBOARD_XTKBD is not set
 # CONFIG_KEYBOARD_NEWTON is not set
 # CONFIG_KEYBOARD_STOWAWAY is not set
+CONFIG_KEYBOARD_TWL4030=y
 # CONFIG_KEYBOARD_LM8323 is not set
 # CONFIG_KEYBOARD_GPIO is not set
 CONFIG_INPUT_MOUSE=y
@@ -879,7 +880,6 @@ CONFIG_I2C_HELPER_AUTO=y
 # CONFIG_I2C_GPIO is not set
 # CONFIG_I2C_OCORES is not set
 CONFIG_I2C_OMAP=y
-# CONFIG_I2C2_OMAP_BEAGLE is not set
 # CONFIG_I2C_SIMTEC is not set
 
 #
@@ -931,7 +931,7 @@ CONFIG_SPI_MASTER=y
 # SPI Master Controller Drivers
 #
 # CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_OMAP24XX is not set
+CONFIG_SPI_OMAP24XX=y
 
 #
 # SPI Protocol Masters
@@ -1292,6 +1292,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
 # CONFIG_FB_S1D13XXX is not set
 # CONFIG_FB_VIRTUAL is not set
 CONFIG_FB_OMAP=y
+CONFIG_FB_OMAP_VIDEO_MODE=""
 # CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
 # CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=8
@@ -1317,10 +1318,7 @@ CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 # CONFIG_FONTS is not set
 CONFIG_FONT_8x8=y
 CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-CONFIG_LOGO_LINUX_MONO=y
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_LOGO is not set
 CONFIG_SOUND=y
 CONFIG_SND=y
 CONFIG_SND_TIMER=y
@@ -1905,7 +1903,7 @@ CONFIG_FRAME_POINTER=y
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_BACKTRACE_SELF_TEST is not set
 # CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
+CONFIG_LATENCYTOP=y
 CONFIG_HAVE_FTRACE=y
 CONFIG_HAVE_DYNAMIC_FTRACE=y
 # CONFIG_FTRACE is not set
diff --git a/packages/linux/linux-omap/strongly-ordered-memory.diff b/packages/linux/linux-omap/strongly-ordered-memory.diff
new file mode 100644 (file)
index 0000000..b60e4f4
--- /dev/null
@@ -0,0 +1,18 @@
+--- /tmp/irq.c 2008-09-16 10:43:30.000000000 +0200
++++ git/arch/arm/mach-omap2/irq.c      2008-09-16 10:46:18.463198000 +0200
+@@ -64,6 +64,7 @@
+ static void omap_ack_irq(unsigned int irq)
+ {
+       intc_bank_write_reg(0x1, &irq_banks[0], INTC_CONTROL);
++      intc_bank_read_reg(&irq_banks[0],INTC_REVISION);
+ }
+ static void omap_mask_irq(unsigned int irq)
+@@ -73,6 +74,7 @@
+       irq &= (IRQ_BITS_PER_REG - 1);
+       intc_bank_write_reg(1 << irq, &irq_banks[0], INTC_MIR_SET0 + offset);
++      intc_bank_read_reg(&irq_banks[0],INTC_REVISION);
+ }
+ static void omap_unmask_irq(unsigned int irq)
index 7107c1b..f4a064f 100644 (file)
@@ -9,7 +9,7 @@ COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|
 SRCREV = "de1121fdb899f762"
 
 PV = "2.6.26+2.6.27-rc6+${PR}+git${SRCREV}"
-PR = "r3"
+PR = "r4"
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \
           file://defconfig"
@@ -24,28 +24,17 @@ SRC_URI_append = " \
            file://musb-dma-iso-in.eml;patch=1 \
            file://musb-support-high-bandwidth.patch.eml;patch=1 \
            file://musb-mru-otgfix.diff;patch=1 \
-          file://01-fix-timing-print.diff;patch=1 \
-           file://03-enable-overlay-opt.diff;patch=1 \
-           file://05-fix-display-panning.diff;patch=1 \
-           file://06-ensure-fclk.diff;patch=1 \
-           file://07-set-burst-size.diff;patch=1 \
-           file://mru-clocks1.diff;patch=1 \
-           file://mru-clocks2.diff;patch=1 \
-           file://mru-clocks3.diff;patch=1 \
-           file://001-mru-enable-overlay.diff;patch=1 \
-          "
+           file://mru-fix-timings.diff;patch=1 \
+           file://mru-fix-display-panning.diff;patch=1 \
+           file://mru-make-dpll4-m4-ck-programmable.diff;patch=1 \
+           file://mru-add-clk-get-parent.diff;patch=1 \
+           file://mru-improve-pixclock-config.diff;patch=1 \
+           file://mru-make-video-timings-selectable.diff;patch=1 \
+           file://mru-enable-overlay-optimalization.diff;patch=1 \
+           file://strongly-ordered-memory.diff;patch=1 \
+"
 
 temporarely-disabled = " \
-           file://000-mru-make-video-mode-selcatable.diff;patch=1 \
-           file://002-mru-set-default-800x600.diff;patch=1 \
-           file://003-mru-omapfb-more-video-modes.diff;patch=1 \
-           file://004-mru-export-omapfb-register-panel.diff;patch=1 \
-           file://005-mru-add-omapfb-unregister-panel.diff;patch=1 \
-           file://006-mru-lcd-as-modules.diff;patch=1 \
-           file://007-mru-omapfb-as-module.diff;patch=1 \
-           file://008-mru-lcd-omap3beagle-license.diff;patch=1 \
-           file://009-mru-unregister-beagle-lcd.diff;patch=1 \
-           file://010-mru-fix-video-mode-param.diff;patch=1 \
            file://musb-dmafix.patch;patch=1 \
 "