According to the spec for v2 VBTs we should call MIPI_SEQ_DISPLAY_OFF
before sending SHUTDOWN, where as for v3 VBTs we should send SHUTDOWN
first.

Since the v2 order has known issues, we use the v3 order everywhere,
add a comment documenting this.

Signed-off-by: Hans de Goede <[email protected]>
---
 drivers/gpu/drm/i915/intel_dsi.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index a8d0948..1914311 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -732,6 +732,11 @@ static void intel_dsi_pre_disable(struct intel_encoder 
*encoder,
                        I915_WRITE(MIPI_DEVICE_READY(port), 0);
        }
 
+       /*
+        * XXX: According to the spec we should send SHUTDOWN before
+        * MIPI_SEQ_DISPLAY_OFF only for v3+ VBTs, but testing in the field
+        * has shown that we should do this for v2 VBTs too?
+        */
        if (is_vid_mode(intel_dsi)) {
                /* Send Shutdown command to the panel in LP mode */
                for_each_dsi_port(port, intel_dsi->ports)
@@ -764,6 +769,8 @@ static void intel_dsi_post_disable(struct intel_encoder 
*encoder,
        /*
         * if disable packets are sent before sending shutdown packet then in
         * some next enable sequence send turn on packet error is observed
+        * XXX spec specifies SHUTDOWN before MIPI_SEQ_DISPLAY_OFF for
+        * v3 VBTs, but not for v2 VBTs?
         */
        intel_dsi_exec_vbt_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF);
 
-- 
2.9.3

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to