[oe-commits] Martin Jansa : linux-openmoko-2.6.32: upgrade to 2.6.32. 10 and one additional patch

git version control git at git.openembedded.org
Thu Mar 25 14:25:14 UTC 2010


Module: openembedded.git
Branch: shr/unstable
Commit: 585ec585af8b3cf32be7c45a5318c5243cefbaad
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=585ec585af8b3cf32be7c45a5318c5243cefbaad

Author: Martin Jansa <Martin.Jansa at gmail.com>
Date:   Thu Mar 25 15:17:22 2010 +0100

linux-openmoko-2.6.32: upgrade to 2.6.32.10 and one additional patch

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 ...display-before-trying-to-set-mode-or-base.patch |  103 ++++++++++++++++++++
 recipes/linux/linux-openmoko-2.6.32_git.bb         |    8 +-
 2 files changed, 108 insertions(+), 3 deletions(-)

diff --git a/recipes/linux/linux-openmoko-2.6.32/0016-Enable-display-before-trying-to-set-mode-or-base.patch b/recipes/linux/linux-openmoko-2.6.32/0016-Enable-display-before-trying-to-set-mode-or-base.patch
new file mode 100644
index 0000000..4e7a8ab
--- /dev/null
+++ b/recipes/linux/linux-openmoko-2.6.32/0016-Enable-display-before-trying-to-set-mode-or-base.patch
@@ -0,0 +1,103 @@
+From 986df52e3e02a1cdbf43eafccd483f0f86c696bd Mon Sep 17 00:00:00 2001
+From: Thomas White <taw at bitwiz.org.uk>
+Date: Sun, 21 Mar 2010 20:55:18 +0100
+Subject: [PATCH 16/16] Enable display before trying to set mode or base
+
+This makes it possible to change mode when the screen is switched off.
+
+Signed-off-by: Thomas White <taw at bitwiz.org.uk>
+---
+ drivers/mfd/glamo/glamo-display.c |   56 ++++++++++++++++++------------------
+ 1 files changed, 28 insertions(+), 28 deletions(-)
+
+diff --git a/drivers/mfd/glamo/glamo-display.c b/drivers/mfd/glamo/glamo-display.c
+index e56cdb4..24a1a31 100644
+--- a/drivers/mfd/glamo/glamo-display.c
++++ b/drivers/mfd/glamo/glamo-display.c
+@@ -267,9 +267,9 @@ static int glamo_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
+ 	gdrm = gcrtc->gdrm;	/* Here it is! */
+ 
+ 	if ( !gcrtc->pixel_clock_on ) {
+-		printk(KERN_WARNING "[glamo-drm] Refusing to set base while "
+-		                    "pixel clock is off.\n");
+-		return -EBUSY;
++		printk(KERN_WARNING "[glamo-drm] Display is off - "
++		                    "enabling it before setting base.\n");
++		glamo_lcd_power(gdrm, 1);
+ 	}
+ 
+ 	gfb = to_glamo_framebuffer(crtc->fb);
+@@ -304,9 +304,9 @@ static int glamo_crtc_mode_set(struct drm_crtc *crtc,
+ 	gdrm = gcrtc->gdrm;	/* Here it is! */
+ 
+ 	if ( !gcrtc->pixel_clock_on ) {
+-		printk(KERN_WARNING "[glamo-drm] Refusing to set mode while "
+-		                    "pixel clock is off.\n");
+-		return -EBUSY;
++		printk(KERN_WARNING "[glamo-drm] Display is off - "
++		                    "enabling it before setting mode.\n");
++		glamo_lcd_power(gdrm, 1);
+ 	}
+ 
+ 	glamo_lcd_cmd_mode(gdrm, 1);
+@@ -380,28 +380,6 @@ static void glamo_crtc_dpms(struct drm_crtc *crtc, int mode)
+ }
+ 
+ 
+-void glamo_lcd_power(struct glamodrm_handle *gdrm, int mode)
+-{
+-	struct drm_crtc *crtc = gdrm->crtc;
+-	struct glamo_crtc *gcrtc = to_glamo_crtc(crtc);
+-
+-	if ( mode ) {
+-		glamo_engine_enable(gdrm->glamo_core, GLAMO_ENGINE_LCD);
+-		gcrtc->pixel_clock_on = 1;
+-		jbt6k74_setpower(JBT_POWER_MODE_NORMAL);
+-		if ( gcrtc->current_mode_set ) {
+-			glamo_crtc_mode_set(crtc, &gcrtc->current_mode,
+-			                    &gcrtc->current_mode, 0, 0,
+-			                    gcrtc->current_fb);
+-		}
+-	} else {
+-		jbt6k74_setpower(JBT_POWER_MODE_OFF);
+-		glamo_engine_suspend(gdrm->glamo_core, GLAMO_ENGINE_LCD);
+-		gcrtc->pixel_clock_on = 0;
+-	}
+-}
+-
+-
+ static void glamo_crtc_prepare(struct drm_crtc *crtc)
+ {
+ }
+@@ -862,6 +840,28 @@ int glamo_display_init(struct drm_device *dev)
+ }
+ 
+ 
++void glamo_lcd_power(struct glamodrm_handle *gdrm, int mode)
++{
++	struct drm_crtc *crtc = gdrm->crtc;
++	struct glamo_crtc *gcrtc = to_glamo_crtc(crtc);
++
++	if ( mode ) {
++		glamo_engine_enable(gdrm->glamo_core, GLAMO_ENGINE_LCD);
++		gcrtc->pixel_clock_on = 1;
++		jbt6k74_setpower(JBT_POWER_MODE_NORMAL);
++		if ( gcrtc->current_mode_set ) {
++			glamo_crtc_mode_set(crtc, &gcrtc->current_mode,
++			                    &gcrtc->current_mode, 0, 0,
++			                    gcrtc->current_fb);
++		}
++	} else {
++		jbt6k74_setpower(JBT_POWER_MODE_OFF);
++		glamo_engine_suspend(gdrm->glamo_core, GLAMO_ENGINE_LCD);
++		gcrtc->pixel_clock_on = 0;
++	}
++}
++
++
+ void glamo_display_suspend(struct glamodrm_handle *gdrm)
+ {
+ 	/* do nothing */
+-- 
+1.7.0.2
+
diff --git a/recipes/linux/linux-openmoko-2.6.32_git.bb b/recipes/linux/linux-openmoko-2.6.32_git.bb
index 22afe7b..478683d 100644
--- a/recipes/linux/linux-openmoko-2.6.32_git.bb
+++ b/recipes/linux/linux-openmoko-2.6.32_git.bb
@@ -3,7 +3,7 @@ require linux-openmoko.inc
 
 DESCRIPTION_${PN} = "Linux ${KERNEL_RELEASE} kernel for the Openmoko Neo GSM Smartphones"
 
-KERNEL_RELEASE="2.6.32.9"
+KERNEL_RELEASE="2.6.32.10"
 
 SRCREV = "14be1091928fcce66812a85129768fb253b36420"
 OEV = "oe1"
@@ -32,10 +32,12 @@ SRC_URI = "\
   file://0013-Change-connector-type-to-LVDS.patch;patch=1 \
   file://0014-Clean-up-JBT-hooks-and-allow-resolution-switching.patch;patch=1 \
   file://0015-ar6000-send-userspace-an-event-on-disconnection.patch;patch=1 \
+  file://0016-Enable-display-before-trying-to-set-mode-or-base.patch;patch=1 \
 "
 
-SRC_URI[stablepatch.md5sum] = "7f615dd3b4a3b19fb86e479996a2deb5"
-SRC_URI[stablepatch.sha256sum] = "8aeb15c31fb09c769f004c8dc51e29aa26be8e84d70db418af70ecefc463459a"
+SRC_URI[stablepatch.md5sum] = "0f1863836bf96fd0aab128d61eaa5693"
+SRC_URI[stablepatch.sha256sum] = "e4b760254822dbc77ae1889d0b2078c113cb7939f8c6ee31c49a31b07b52cc18"
+
 
 S = "${WORKDIR}/git"
 





More information about the Openembedded-commits mailing list