summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShobhit Kumar <shobhit.kumar@intel.com>2014-04-09 13:59:34 +0530
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-04-09 21:54:30 +0200
commit339023ec342a63f885d8100eafe84dac515a0c8f (patch)
treea9ef4c63549d2b97c970faf6ba5658dbcc0917aa
parentf1c79f16d76f4698174a85921c5afb2c06ac614f (diff)
downloadop-kernel-dev-339023ec342a63f885d8100eafe84dac515a0c8f.zip
op-kernel-dev-339023ec342a63f885d8100eafe84dac515a0c8f.tar.gz
drm/i915: Panel commands can be sent only when clock is in LP11
Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_dsi.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index dfcdb10..d8eccda 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -229,6 +229,23 @@ static void intel_dsi_disable(struct intel_encoder *encoder)
msleep(2);
}
+ /* Panel commands can be sent when clock is in LP11 */
+ I915_WRITE(MIPI_DEVICE_READY(pipe), 0x0);
+
+ temp = I915_READ(MIPI_CTRL(pipe));
+ temp &= ~ESCAPE_CLOCK_DIVIDER_MASK;
+ I915_WRITE(MIPI_CTRL(pipe), temp |
+ intel_dsi->escape_clk_div <<
+ ESCAPE_CLOCK_DIVIDER_SHIFT);
+
+ I915_WRITE(MIPI_EOT_DISABLE(pipe), CLOCKSTOP);
+
+ temp = I915_READ(MIPI_DSI_FUNC_PRG(pipe));
+ temp &= ~VID_MODE_FORMAT_MASK;
+ I915_WRITE(MIPI_DSI_FUNC_PRG(pipe), temp);
+
+ I915_WRITE(MIPI_DEVICE_READY(pipe), 0x1);
+
/* if disable packets are sent before sending shutdown packet then in
* some next enable sequence send turn on packet error is observed */
if (intel_dsi->dev.dev_ops->disable)
OpenPOWER on IntegriCloud