|
@@ -117,17 +117,18 @@ static void intel_dsi_device_ready(struct intel_encoder *encoder)
|
|
|
/* bandgap reset is needed after everytime we do power gate */
|
|
|
band_gap_reset(dev_priv);
|
|
|
|
|
|
+ I915_WRITE(MIPI_DEVICE_READY(pipe), ULPS_STATE_ENTER);
|
|
|
+ usleep_range(2500, 3000);
|
|
|
+
|
|
|
val = I915_READ(MIPI_PORT_CTRL(pipe));
|
|
|
I915_WRITE(MIPI_PORT_CTRL(pipe), val | LP_OUTPUT_HOLD);
|
|
|
usleep_range(1000, 1500);
|
|
|
- I915_WRITE(MIPI_DEVICE_READY(pipe), DEVICE_READY | ULPS_STATE_EXIT);
|
|
|
- usleep_range(2000, 2500);
|
|
|
- I915_WRITE(MIPI_DEVICE_READY(pipe), DEVICE_READY);
|
|
|
- usleep_range(2000, 2500);
|
|
|
- I915_WRITE(MIPI_DEVICE_READY(pipe), 0x00);
|
|
|
- usleep_range(2000, 2500);
|
|
|
+
|
|
|
+ I915_WRITE(MIPI_DEVICE_READY(pipe), ULPS_STATE_EXIT);
|
|
|
+ usleep_range(2500, 3000);
|
|
|
+
|
|
|
I915_WRITE(MIPI_DEVICE_READY(pipe), DEVICE_READY);
|
|
|
- usleep_range(2000, 2500);
|
|
|
+ usleep_range(2500, 3000);
|
|
|
}
|
|
|
|
|
|
static void intel_dsi_enable(struct intel_encoder *encoder)
|
|
@@ -271,23 +272,23 @@ static void intel_dsi_clear_device_ready(struct intel_encoder *encoder)
|
|
|
|
|
|
DRM_DEBUG_KMS("\n");
|
|
|
|
|
|
- I915_WRITE(MIPI_DEVICE_READY(pipe), ULPS_STATE_ENTER);
|
|
|
+ I915_WRITE(MIPI_DEVICE_READY(pipe), DEVICE_READY | ULPS_STATE_ENTER);
|
|
|
usleep_range(2000, 2500);
|
|
|
|
|
|
- I915_WRITE(MIPI_DEVICE_READY(pipe), ULPS_STATE_EXIT);
|
|
|
+ I915_WRITE(MIPI_DEVICE_READY(pipe), DEVICE_READY | ULPS_STATE_EXIT);
|
|
|
usleep_range(2000, 2500);
|
|
|
|
|
|
- I915_WRITE(MIPI_DEVICE_READY(pipe), ULPS_STATE_ENTER);
|
|
|
+ I915_WRITE(MIPI_DEVICE_READY(pipe), DEVICE_READY | ULPS_STATE_ENTER);
|
|
|
usleep_range(2000, 2500);
|
|
|
|
|
|
- val = I915_READ(MIPI_PORT_CTRL(pipe));
|
|
|
- I915_WRITE(MIPI_PORT_CTRL(pipe), val & ~LP_OUTPUT_HOLD);
|
|
|
- usleep_range(1000, 1500);
|
|
|
-
|
|
|
if (wait_for(((I915_READ(MIPI_PORT_CTRL(pipe)) & AFE_LATCHOUT)
|
|
|
== 0x00000), 30))
|
|
|
DRM_ERROR("DSI LP not going Low\n");
|
|
|
|
|
|
+ val = I915_READ(MIPI_PORT_CTRL(pipe));
|
|
|
+ I915_WRITE(MIPI_PORT_CTRL(pipe), val & ~LP_OUTPUT_HOLD);
|
|
|
+ usleep_range(1000, 1500);
|
|
|
+
|
|
|
I915_WRITE(MIPI_DEVICE_READY(pipe), 0x00);
|
|
|
usleep_range(2000, 2500);
|
|
|
|