diff options
author | Shobhit Kumar <shobhit.kumar@intel.com> | 2014-04-09 04:29:34 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-04-09 15:54:30 -0400 |
commit | 339023ec342a63f885d8100eafe84dac515a0c8f (patch) | |
tree | a9ef4c63549d2b97c970faf6ba5658dbcc0917aa /drivers/gpu/drm/i915 | |
parent | f1c79f16d76f4698174a85921c5afb2c06ac614f (diff) |
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>
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dsi.c | 17 |
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 dfcdb1068495..d8eccda04767 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) | |||
229 | msleep(2); | 229 | msleep(2); |
230 | } | 230 | } |
231 | 231 | ||
232 | /* Panel commands can be sent when clock is in LP11 */ | ||
233 | I915_WRITE(MIPI_DEVICE_READY(pipe), 0x0); | ||
234 | |||
235 | temp = I915_READ(MIPI_CTRL(pipe)); | ||
236 | temp &= ~ESCAPE_CLOCK_DIVIDER_MASK; | ||
237 | I915_WRITE(MIPI_CTRL(pipe), temp | | ||
238 | intel_dsi->escape_clk_div << | ||
239 | ESCAPE_CLOCK_DIVIDER_SHIFT); | ||
240 | |||
241 | I915_WRITE(MIPI_EOT_DISABLE(pipe), CLOCKSTOP); | ||
242 | |||
243 | temp = I915_READ(MIPI_DSI_FUNC_PRG(pipe)); | ||
244 | temp &= ~VID_MODE_FORMAT_MASK; | ||
245 | I915_WRITE(MIPI_DSI_FUNC_PRG(pipe), temp); | ||
246 | |||
247 | I915_WRITE(MIPI_DEVICE_READY(pipe), 0x1); | ||
248 | |||
232 | /* if disable packets are sent before sending shutdown packet then in | 249 | /* if disable packets are sent before sending shutdown packet then in |
233 | * some next enable sequence send turn on packet error is observed */ | 250 | * some next enable sequence send turn on packet error is observed */ |
234 | if (intel_dsi->dev.dev_ops->disable) | 251 | if (intel_dsi->dev.dev_ops->disable) |