[meego-commits] 14842: Changes to Trunk/kernel-adaptation-mrst
Prajwal Mohan
no_reply at build.meego.com
Tue Mar 15 18:58:28 UTC 2011
Hi,
I have made the following changes to kernel-adaptation-mrst in project Trunk. Please review and accept ASAP.
Thank You,
Prajwal Mohan
[This message was auto-generated]
---
Request #14842:
submit: Trunk:Testing/kernel-adaptation-mrst(r12) -> Trunk/kernel-adaptation-mrst
Message:
Promoting to trunk
State: new 2011-03-15T11:57:59 praj
Comment: None
changes files:
--------------
--- kernel.changes
+++ kernel.changes
@@ -0,0 +1,13 @@
+* Tue Mar 15 2011 - Arjan van de Ven <arjan at linux.intel.com> - 2.6.37
+- enable slab debugging to catch some memory corruption symptoms
+- remove the keypad gpio patch; obsoleted by new firmware
+
+* Mon Mar 14 2011 - Arjan van de Ven <arjan at linux.intel.com> - 2.6.37
+- disable MID_I2S and ALSA_SSP config options (Medfield only)
+- go to graphics driver 0039
+- rebase to a current AC tree
+ - updated audio driver with jack detection fixes
+ - add back the PMU driver, now reworked to be sensible
+ - I2C controller power management fix
+
+
new:
----
linux-2.6.37-20110314-ac.patch
linux-2.6.37-gma600-version-0039.patch
spec files:
-----------
--- kernel-adaptation-mrst.spec
+++ kernel-adaptation-mrst.spec
@@ -193,7 +193,7 @@
# The main consolidated MRST tree from
# git//git.kernel.org/pub/scm/linux/kernel/git/alan/linux-2.6-mid-ref
#
-Patch200: linux-2.6.37-20110224-ac.patch
+Patch200: linux-2.6.37-20110314-ac.patch
Patch201: linux-2.6.37-drm-forwardport.patch
Patch202: linux-2.6.37-drm-forward-1.patch
@@ -209,6 +209,7 @@
Patch212: linux-2.6.37-gma600-version-0035-to-0036.patch
Patch213: linux-2.6.37-gma600-version-0037.patch
Patch214: linux-2.6.37-gma600-version-0038.patch
+Patch215: linux-2.6.37-gma600-version-0039.patch
#
### Graphics
@@ -228,14 +229,11 @@
#
# Add SFI pstate code
-Patch215: linux-2.6.37-sfi-p-states.patch
+Patch216: linux-2.6.37-sfi-p-states.patch
### Workarounds
-# Work around some firmware versions misprogramming GPIO's
-Patch216: linux-2.6.37-keypad-gpio.patch
-
# work around an upstream 2.6.37 evdev bug
Patch217: linux-2.6.37-evdev.patch
@@ -276,9 +274,9 @@
Patch232: linux-2.6.37-camera-driver.patch
Patch233: linux-2.6.37-camera-driver-adjust.patch
Patch234: linux-2.6.37-camera-fix-subdev-call.patch
-Patch235: linux-2.6.37-camera-ov9740.patch
-Patch236: linux-2.6.37-camera-ov5640.patch
-Patch237: linux-2.6.37-ISP-support-two-soc.patch
+#linux-2.6.37-camera-ov9740.patch
+#linux-2.6.37-camera-ov5640.patch
+#linux-2.6.37-ISP-support-two-soc.patch
@@ -467,7 +465,7 @@
# The main consolidated MRST tree from
# git//git.kernel.org/pub/scm/linux/kernel/git/alan/linux-2.6-mid-ref
#
-# linux-2.6.37-20110224-ac.patch
+# linux-2.6.37-20110314-ac.patch
%patch200 -p1
# linux-2.6.37-drm-forwardport.patch
@@ -498,6 +496,8 @@
%patch213 -p1
# linux-2.6.37-gma600-version-0038.patch
%patch214 -p1
+# linux-2.6.37-gma600-version-0039.patch
+%patch215 -p1
#
### Graphics
@@ -518,15 +518,11 @@
# Add SFI pstate code
# linux-2.6.37-sfi-p-states.patch
-%patch215 -p1
+%patch216 -p1
### Workarounds
-# Work around some firmware versions misprogramming GPIO's
-# linux-2.6.37-keypad-gpio.patch
-%patch216 -p1
-
# work around an upstream 2.6.37 evdev bug
# linux-2.6.37-evdev.patch
%patch217 -p1
@@ -585,12 +581,9 @@
%patch233 -p1
# linux-2.6.37-camera-fix-subdev-call.patch
%patch234 -p1
-# linux-2.6.37-camera-ov9740.patch
-%patch235 -p1
-# linux-2.6.37-camera-ov5640.patch
-%patch236 -p1
-# linux-2.6.37-ISP-support-two-soc.patch
-%patch237 -p1
+#linux-2.6.37-camera-ov9740.patch
+#linux-2.6.37-camera-ov5640.patch
+#linux-2.6.37-ISP-support-two-soc.patch
other changes:
--------------
++++++ config-adaptation-mrst
--- config-adaptation-mrst
+++ config-adaptation-mrst
@@ -192,9 +192,9 @@
CONFIG_SERIAL_MFD_HSU_CONSOLE=y
CONFIG_TRACE_ROUTER=y
CONFIG_BATTERY_INTEL_MDF=y
-CONFIG_SND_INTEL_MID_I2S=y
+# CONFIG_SND_INTEL_MID_I2S is not set
CONFIG_SND_CMT_SPEECH=y
-CONFIG_SND_INTEL_ALSA_SSP=y
+# CONFIG_SND_INTEL_ALSA_SSP is not set
CONFIG_TRACE_SINK=y
CONFIG_MDFLD_DSI_DSR=y
CONFIG_USB_GADGETFS=y
++++++ config-generic
--- config-generic
+++ config-generic
@@ -2650,7 +2650,7 @@
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_SLAB=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
@@ -2704,7 +2704,7 @@
# CONFIG_TRACE_BRANCH_PROFILING is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+CONFIG_DYNAMIC_PRINTK_DEBUG=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
@@ -3045,7 +3045,7 @@
# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_KMEMTRACE is not set
# CONFIG_WORKQUEUE_TRACER is not set
-# CONFIG_DYNAMIC_DEBUG is not set
+CONFIG_DYNAMIC_DEBUG=y
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_IMA is not set
CONFIG_CRYPTO_ZLIB=y
++++++ linux-2.6.37-20110314-ac.patch (new)
--- linux-2.6.37-20110314-ac.patch
+++ linux-2.6.37-20110314-ac.patch
+diff --git a/Documentation/hwmon/intel_over_current_detector b/Documentation/hwmon/intel_over_current_detector
+new file mode 100644
+index 0000000..d9483b0
+--- /dev/null
++++ b/Documentation/hwmon/intel_over_current_detector
+@@ -0,0 +1,86 @@
++Kernel driver over current detection driver
++===========================================
++
++Supported systems:
++ * Intel Medfield Platform
++
++Author: Durgadoss R
++
++Description
++-----------
++
++This driver monitors the current drawn by the platform, and detects the
++peak current conditions. When the current drawn is more than the
++configured limit for a period of time (which is specified by a timer), an
++interrupt is generated. The current limit and the timer value can be
++configured at run time.
++
++The current thresholds aka BATTCURRENTLIMITS(BC) are of two types:
++ 1.warning threshold(BC1)
++ at which the system should take actions to bring the
++ current consumption down.
++ 2.shutdown threshold(BC2)
++ at which the hardware does a COLDOFF.
++
++The timer thresholds are of three types:
++ 1.warning threshold(T1)
++ This corresponds to the first flag for time that the battery
++ current has been above BC1. An interrupt is generated to allow
++ software to correct the situation based on use-case.
++ 2.hardware action threshold(T2)
++ This corresponds to the second flag for time that the battery
++ current has been above BC1. It signifies that the system
++ should control high current subsystems through hardware.
++ Besides a general interrupt, audio_volume_crush, vibra_disable
++ signals are sent.
++ 3.shutdown threshold(T3)
++ This final flag signifies that when the system current exceeds
++ the threshold for more than T3, system should shutdown.
++
++Following table summarizes the exported sysfs files:
++
++bcu_status(RW) - To enable/disable burst control unit.
++ 0 - enables bcu, 1 - disables bcu.
++accumulation_time(RW)- Time since last clearing/overflow of warning_count
++ in milli seconds. Writing 0 resets the acc_time and
++ also clears both the warning counters.
++warning_count(RO) - Two space seperated values that indicate the number
++ of times the current thresholds have been crossed.
++action_mask(RW) - A hex value to enable/disable specific
++ actions taken when current violation happens.
++ bits [b4 b3 b2 b1 b0] control [a4 a3 a2 a1 a0] actions
++ respectively. a4 - camera output, a3 - sys burst,
++ a2 - SOC burst enable, a1 - vibra, a0 - audio output.
++ bits [b7 b6 b5] - Reserved.
++ Default value:08 (sys burst output is enabled).
++action_status(RO) - A hex value showing the status of actions taken
++ since the __last__ interrupt.
++ b7 - T3 violation
++ b6 - T2 violation
++ b5 - T1 violation
++ b4 - camera action taken status
++ b3 - sys burst disable action taken status
++ b2 - SOC burst disable action taken status
++ b1 - vibra disable
++ b0 - audio volume crush
++ A '1' in a bit position indicates that particular
++ action has been taken.
++current_warning(RW) - This gives the current(in mA) at which a warning is
++ generated. Range: 1400 to 4800. Default:3000
++current_shutdown(RW) - This gives the current(in mA) at which system shutdown
++ is initiated. Range:1800 to 5800. Default:3800
++timer_warning(RW) - Time above current_warning limit at which interrupts
++ are trigerred(so that software can bring the current
++ consumption down). Values are in micro seconds.
++ Range:200 to 7700 in steps of 500
++timer_hw_action(RW) - Time above current_warning limit at which the system
++ is trigerred into hardware control to bring down the
++ current consumption. Values are in micro seconds.
++ Range:200 to 7700 in steps of 500
++timer_shutdown(RW) - Time above current_warning limit at which a hardware
++ shutdown event is trigerred. The timer values are in
++ micro seconds.
++ Range:1000 to 15000 in steps of 1000
++For all timer interfaces, tolerance shall be 5% maximum.
++All timers start running concurrently once current_warning/current_shutdown
++is crossed.
+diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
+index 01ece1b..312dd63 100644
+--- a/Documentation/kernel-parameters.txt
++++ b/Documentation/kernel-parameters.txt
+@@ -43,11 +43,12 @@ parameter is applicable:
+ AVR32 AVR32 architecture is enabled.
+ AX25 Appropriate AX.25 support is enabled.
+ BLACKFIN Blackfin architecture is enabled.
++ DMI Desktop Management Interface is enabled
++ DRM Direct Rendering Management support is enabled.
++ DYNAMIC_DEBUG Build in debug messages and enable them at runtime
+ EDD BIOS Enhanced Disk Drive Services (EDD) is enabled
+ EFI EFI Partitioning (GPT) is enabled
+ EIDE EIDE/ATAPI support is enabled.
+- DRM Direct Rendering Management support is enabled.
+- DYNAMIC_DEBUG Build in debug messages and enable them at runtime
+ FB The frame buffer device is enabled.
+ GCOV GCOV profiling is enabled.
+ HW Appropriate hardware is enabled.
+@@ -390,6 +391,21 @@ and is between 256 and 4096 characters. It is defined in the file
+ Format: <io>,<irq>,<mode>
+ See header of drivers/net/hamradio/baycom_ser_hdx.c.
+
++ board_name= [DMI]
++ Override reported name in firmware DMI data. Used
++ for testing and for checking board specific
++ workarounds
++
++ board_vendor= [DMI]
++ Override reported vendor in firmware DMI data. Used
++ for testing and for checking board specific
++ workarounds
++
++ board_version= [DMI]
++ Override reported version in firmware DMI data. Used
++ for testing and for checking board specific
++ workarounds
++
+ boot_delay= Milliseconds to delay each printk during boot.
+ Values larger than 10 seconds (10000) are changed to
+ no delay (0).
+diff --git a/Documentation/pti/pti_intel_mid.txt b/Documentation/pti/pti_intel_mid.txt
+new file mode 100644
+index 0000000..651fcf5
+--- /dev/null
++++ b/Documentation/pti/pti_intel_mid.txt
+@@ -0,0 +1,89 @@
++The Intel MID PTI project is HW implemented in Intel Atom
++system-on-a-chip designs based on the Parallel Trace
++Interface for MIPI P1149.7 cJTAG standard. The kernel solution
++for this platform involves the following files:
++
++./include/linux/pti.h
++./include/linux/n_tracesink.h
++./drivers/.../n_tracerouter.c
++./drivers/.../n_tracesink.c
++./drivers/.../pti.c
++
++pti.c is the driver that enables various debugging features
++popular on certain mobile manufacturers. n_tracerouter.c
++and n_tracesink.c allow extra system information to be
++collected and routed to the pti driver, such as trace
++debugging data from a modem. Altough n_tracerouter
++and n_tracesink are a part of the complete PTI solution,
++these two line disciplines can work separate from
++pti.c and route any data stream from one /dev/tty node
++to another /dev/tty node via kernel-space. This provides
++a stable, reliable connection that will not break unless
++the user-space application shuts down (plus avoids
++kernel->user->kernel context switch overheads of routing
++data).
++
++An example debugging usage for this driver system:
++ *Hook /dev/ttyPTI0 to syslogd. Opening this port will also start
++ a console device to further capture debugging messages to PTI.
++ *Hook /dev/ttyPTI1 to modem debugging data to write to PTI HW.
++ This is where n_tracerouter and n_tracesink are used.
++ *Hook /dev/pti to a user-level debugging application for writing
++ to PTI HW.
++ *Use mipi_* Kernel Driver API in other device drivers for
++ debugging to PTI by first requesting a PTI write address via
++ mipi_request_masterchannel(1).
++
++Example 'privileged' (normal user privileges are not enough)
++user-space code on how to setup the n_tracerouter and n_tracesink
++ldisc drivers (note: n_tracerouter depends on n_tracesink):
++
++/////////// To hook up n_tracerouter and n_tracesink /////////
++
++#include <errno.h>
++#define ONE_TTY "/dev/ttyOne"
++#define TWO_TTY "/dev/ttyTwo"
++
++// needed global to hand onto ldisc connection
++static int g_fd_source = -1;
++static int g_fd_sink = -1;
++
++// grab LDISC values from loaded ldisc drivers from /proc/tty/ldiscs
++int source_ldisc_num, sink_ldisc_num = -1;
++int retval;
++
++g_fd_source = open(ONE_TTY, O_RDWR); // must be R/W
++g_fd_sink = open(TWO_TTY, O_RDWR); // must be R/W
++
++if (g_fd_source <= 0) || (g_fd_sink <= 0) {
++ // doubt you'll want to use these exact error lines of code
(96761 more lines skipped)
++++++ linux-2.6.37-gma600-version-0039.patch (new)
--- linux-2.6.37-gma600-version-0039.patch
+++ linux-2.6.37-gma600-version-0039.patch
+From 2553f820878314854e5ac281cfd4e6158e3bf3ee Mon Sep 17 00:00:00 2001
+From: Hitesh K. Patel <hitesh.k.patel at intel.com>
+Date: Wed, 9 Mar 2011 15:59:34 -0800
+Subject: [PATCH] GFX: Graphics Driver build release 5.3.0.0039
+
+Weekly Graphics driver release.
+Please use usermode package 0039 with this build.
+
+Signed-off-by: Hitesh K. Patel <hitesh.k.patel at intel.com>
+---
+ drivers/staging/mrst/drv/mdfld_dsi_dbi.c | 109 +++++++++++++-------
+ drivers/staging/mrst/drv/mdfld_dsi_pkg_sender.c | 36 ++++++-
+ drivers/staging/mrst/drv/psb_drm.h | 2 +-
+ drivers/staging/mrst/drv/psb_drv.c | 5 +-
+ drivers/staging/mrst/drv/psb_drv.h | 7 +-
+ drivers/staging/mrst/drv/psb_intel_hdmi.c | 15 ---
+ drivers/staging/mrst/drv/psb_irq.c | 50 +++++++--
+ drivers/staging/mrst/drv/tpo_cmd.c | 30 ++----
+ .../pvr/services4/srvkm/devices/sgx/sgxconfig.h | 6 +-
+ 9 files changed, 161 insertions(+), 99 deletions(-)
+
+diff --git a/drivers/staging/mrst/drv/mdfld_dsi_dbi.c b/drivers/staging/mrst/drv/mdfld_dsi_dbi.c
+index 2b8d108..6d3e81c 100644
+--- a/drivers/staging/mrst/drv/mdfld_dsi_dbi.c
++++ b/drivers/staging/mrst/drv/mdfld_dsi_dbi.c
+@@ -364,6 +364,7 @@ void mdfld_dsi_dbi_enter_dsr (struct mdfld_dsi_dbi_output * dbi_output, int pipe
+ static void mdfld_dbi_output_exit_dsr (struct mdfld_dsi_dbi_output * dbi_output, int pipe)
+ {
+ struct drm_device * dev = dbi_output->dev;
++ struct drm_psb_private *dev_priv = dev->dev_private;
+ struct drm_crtc * crtc = dbi_output->base.base.crtc;
+ struct psb_intel_crtc * psb_crtc = (crtc) ? to_psb_intel_crtc(crtc) : NULL;
+ u32 reg_val;
+@@ -433,6 +434,10 @@ static void mdfld_dbi_output_exit_dsr (struct mdfld_dsi_dbi_output * dbi_output,
+
+ ospm_power_using_hw_end(OSPM_DISPLAY_ISLAND);
+
++ /*enable TE interrupt on this pipe*/
++ if (dev_priv->platform_rev_id != MDFLD_PNW_A0)
++ mdfld_enable_te(dev, pipe);
++
+ /*clean IN_DSR flag*/
+ dbi_output->mode_flags &= ~MODE_SETTING_IN_DSR;
+ }
+@@ -440,12 +445,13 @@ static void mdfld_dbi_output_exit_dsr (struct mdfld_dsi_dbi_output * dbi_output,
+ /**
+ * Exit from DSR
+ */
+-void mdfld_dsi_dbi_exit_dsr (struct drm_device *dev, u32 update_src)
++void mdfld_dsi_dbi_exit_dsr(struct drm_device *dev, u32 update_src)
+ {
+- struct drm_psb_private * dev_priv = dev->dev_private;
++ struct drm_psb_private *dev_priv = dev->dev_private;
+ struct mdfld_dbi_dsr_info * dsr_info = dev_priv->dbi_dsr_info;
+ struct mdfld_dsi_dbi_output ** dbi_output;
+ int i;
++ int pipe;
+
+ PSB_DEBUG_ENTRY("\n");
+
+@@ -463,21 +469,16 @@ void mdfld_dsi_dbi_exit_dsr (struct drm_device *dev, u32 update_src)
+ /*if panel has been turned off, skip*/
+ if (!dbi_output[i]->dbi_panel_on)
+ continue;
+- if(dbi_output[i]->mode_flags & MODE_SETTING_IN_DSR) {
+- mdfld_dbi_output_exit_dsr(dbi_output[i], dbi_output[i]->channel_num ? 2 : 0);
+- }
++
++ pipe = dbi_output[i]->channel_num ? 2 : 0;
++ enter_dsr = 0;
++ mdfld_dbi_output_exit_dsr(dbi_output[i], pipe);
+ }
+
+ dev_priv->dsr_fb_update |= update_src;
+
+- if (dev_priv->platform_rev_id != MDFLD_PNW_A0) {
+-
+- if (dev_priv->dbi_panel_on)
+- mdfld_enable_te(dev, 0);
+- else if (dev_priv->dbi_panel_on2)
+- mdfld_enable_te(dev, 2);
+- } else
+- /*start timer*/
++ /*start timer if A0 board*/
++ if (dev_priv->platform_rev_id == MDFLD_PNW_A0)
+ mdfld_dbi_dsr_timer_start(dsr_info);
+ }
+
+@@ -498,40 +499,69 @@ static bool mdfld_dbi_is_in_dsr(struct drm_device * dev)
+ /* Perodically update dbi panel */
+ void mdfld_dbi_update_panel (struct drm_device *dev, int pipe)
+ {
+- struct drm_psb_private * dev_priv = dev->dev_private;
+- struct mdfld_dbi_dsr_info * dsr_info = dev_priv->dbi_dsr_info;
+- struct mdfld_dsi_dbi_output ** dbi_output;
++ struct drm_psb_private *dev_priv = dev->dev_private;
++ struct mdfld_dbi_dsr_info *dsr_info = dev_priv->dbi_dsr_info;
++ struct mdfld_dsi_dbi_output **dbi_outputs;
++ struct mdfld_dsi_dbi_output *dbi_output;
+ int i;
++ int can_enter_dsr = 0;
++ int enter_dsr = 0;
++ u32 damage_mask = 0;
+
+- dbi_output = dsr_info->dbi_outputs;
+-
+- if (dev_priv->dsr_fb_update)
+- {
+- for(i=0; i<dsr_info->dbi_output_num; i++) {
+- if ((dbi_output[i]->dbi_panel_on)) {
+- dbi_output[i]->dsr_fb_update_done = false;
+- if(dbi_output[i]->p_funcs->update_fb)
+- dbi_output[i]->p_funcs->update_fb(dbi_output[i],
+- dbi_output[i]->channel_num ? 2 : 0);
+- if (dev_priv->b_dsr_enable && dbi_output[i]->dsr_fb_update_done)
+- dev_priv->dsr_fb_update &= ~(dev_priv->dsr_fb_update);
+- }
+-
+- /*clean IN_DSR flag*/
+- dbi_output[i]->mode_flags &= ~MODE_SETTING_IN_DSR;
+- }
+-
+- dsr_info->dsr_idle_count = 0;
++ dbi_outputs = dsr_info->dbi_outputs;
++ dbi_output = pipe ? dbi_outputs[1] : dbi_outputs[0];
++
++ if (!dbi_output)
++ return;
++
++ if (pipe == 0)
++ damage_mask = dev_priv->dsr_fb_update & MDFLD_DSR_DAMAGE_MASK_0;
++ else if (pipe == 2)
++ damage_mask = dev_priv->dsr_fb_update & MDFLD_DSR_DAMAGE_MASK_2;
++ else
++ return;
++
++ /*if FB is damaged and panel is on update on-panel FB*/
++ if (damage_mask && dbi_output->dbi_panel_on) {
++ dbi_output->dsr_fb_update_done = false;
++
++ if (dbi_output->p_funcs->update_fb)
++ dbi_output->p_funcs->update_fb(dbi_output, pipe);
++
++ if (dev_priv->b_dsr_enable && dbi_output->dsr_fb_update_done)
++ dev_priv->dsr_fb_update &= ~damage_mask;
++
++ /*clean IN_DSR flag*/
++ dbi_output->mode_flags &= ~MODE_SETTING_IN_DSR;
++
++ dbi_output->dsr_idle_count = 0;
+
+ } else {
+- dsr_info->dsr_idle_count++;
++ dbi_output->dsr_idle_count++;
++ }
++
++ switch (dsr_info->dbi_output_num) {
++ case 1:
++ if (dbi_output->dsr_idle_count > 1)
++ can_enter_dsr = 1;
++ break;
++ case 2:
++ if (dbi_outputs[0]->dsr_idle_count > 1
++ && dbi_outputs[1]->dsr_idle_count > 1)
++ can_enter_dsr = 1;
++ break;
++ default:
++ DRM_ERROR("Wrong DBI output number\n");
++ can_enter_dsr = 0;
+ }
+
+- if (dsr_info->dsr_idle_count > 1) {
++ /*try to enter DSR*/
++ if (can_enter_dsr) {
+ for(i=0; i<dsr_info->dbi_output_num; i++) {
+ if(!mdfld_dbi_is_in_dsr(dev) &&
+- !(dbi_output[i]->mode_flags & MODE_SETTING_ON_GOING)) {
+- mdfld_dsi_dbi_enter_dsr(dbi_output[i], dbi_output[i]->channel_num ? 2 : 0);
++ !(dbi_outputs[i]->mode_flags & MODE_SETTING_ON_GOING)) {
++ mdfld_dsi_dbi_enter_dsr(dbi_outputs[i],
++ dbi_outputs[i]->channel_num ? 2 : 0);
+ #if 0
+ enter_dsr = 1;
+ printk(KERN_ALERT "%s: enter_dsr = 1 \n", __func__);
+@@ -671,6 +701,7 @@ void mdfld_dsi_controller_dbi_init(struct mdfld_dsi_config * dsi_config, int pip
+ REG_WRITE((MIPIA_DPHY_PARAM_REG + reg_offset), 0x150c3408);
+ REG_WRITE((MIPIA_CLK_LANE_SWITCH_TIME_CNT_REG + reg_offset), 0x000a0014);
+ REG_WRITE((MIPIA_DBI_BW_CTRL_REG + reg_offset), 0x00000400);
++ REG_WRITE((MIPIA_DBI_FIFO_THROTTLE_REG + reg_offset), 0x00000001);
+ REG_WRITE((MIPIA_HS_LS_DBI_ENABLE_REG + reg_offset), 0x00000000);
+
+ /*enable all interrupts*/
+diff --git a/drivers/staging/mrst/drv/mdfld_dsi_pkg_sender.c b/drivers/staging/mrst/drv/mdfld_dsi_pkg_sender.c
+index 77a2e7d..f26b204 100644
+--- a/drivers/staging/mrst/drv/mdfld_dsi_pkg_sender.c
++++ b/drivers/staging/mrst/drv/mdfld_dsi_pkg_sender.c
+@@ -30,6 +30,8 @@
+ #include "mdfld_dsi_pkg_sender.h"
(373 more lines skipped)
++++++ series
--- series
+++ series
@@ -43,7 +43,7 @@
# The main consolidated MRST tree from
# git//git.kernel.org/pub/scm/linux/kernel/git/alan/linux-2.6-mid-ref
#
-linux-2.6.37-20110224-ac.patch
+linux-2.6.37-20110314-ac.patch
linux-2.6.37-drm-forwardport.patch
linux-2.6.37-drm-forward-1.patch
@@ -59,6 +59,7 @@
linux-2.6.37-gma600-version-0035-to-0036.patch
linux-2.6.37-gma600-version-0037.patch
linux-2.6.37-gma600-version-0038.patch
+linux-2.6.37-gma600-version-0039.patch
#
### Graphics
@@ -83,9 +84,6 @@
### Workarounds
-# Work around some firmware versions misprogramming GPIO's
-linux-2.6.37-keypad-gpio.patch
-
# work around an upstream 2.6.37 evdev bug
linux-2.6.37-evdev.patch
@@ -126,9 +124,9 @@
linux-2.6.37-camera-driver.patch
linux-2.6.37-camera-driver-adjust.patch
linux-2.6.37-camera-fix-subdev-call.patch
-linux-2.6.37-camera-ov9740.patch
-linux-2.6.37-camera-ov5640.patch
-linux-2.6.37-ISP-support-two-soc.patch
+#linux-2.6.37-camera-ov9740.patch
+#linux-2.6.37-camera-ov5640.patch
+#linux-2.6.37-ISP-support-two-soc.patch
More information about the MeeGo-commits
mailing list