Graphics: fix the widi regression
authoryifei.xue <yifeix.xue@intel.com>
Tue, 19 Jun 2012 09:24:40 +0000 (17:24 +0800)
committerbuildbot <buildbot@intel.com>
Fri, 22 Jun 2012 02:46:32 +0000 (19:46 -0700)
BZ: 42474

WiDi's MIPI turn off operation cause the LEX's screen can't turn back on.
Command mode's dpms path doesn't works well cause the issue. This patch is
wa. Will improve the dpms path to fix the issue later.
Change-Id: I4f28a83999958f7b7d848d687a033bb4426f5134
Signed-off-by: yifei.xue <yifeix.xue@intel.com>
Reviewed-on: http://android.intel.com:8080/53283
Reviewed-by: Xu, Randy <randy.xu@intel.com>
Tested-by: Xu, Randy <randy.xu@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/staging/mrst/drv/gi_sony_cmd.c
drivers/staging/mrst/drv/psb_intel_display2.c

index d6aa5f5..5c0eb87 100644 (file)
@@ -1033,6 +1033,7 @@ static void mdfld_gi_sony_dsi_dbi_dpms(struct drm_encoder *encoder, int mode)
                 * on work to do.
                 */
                mdfld_dsi_dbi_set_power(encoder, false);
+
                bdispoff = true;
                gbdispstatus = false;
        }
index 49ec7b6..c0c249d 100755 (executable)
@@ -1397,10 +1397,12 @@ static void mdfld_crtc_dpms(struct drm_crtc *crtc, int mode)
                }
 #endif
                        }
-                       if (get_panel_type(dev, pipe) == GI_SONY_CMD) {
-                               /*reset the display island to switch DPI to DBI*/
-                               ospm_power_island_down(OSPM_DISPLAY_ISLAND);
-                               ospm_power_island_up(OSPM_DISPLAY_ISLAND);
+                       if (!dev_priv->dsi_init_done) {
+                               if (get_panel_type(dev, pipe) == GI_SONY_CMD) {
+                                       /*reset the display island to switch DPI to DBI*/
+                                       ospm_power_island_down(OSPM_DISPLAY_ISLAND);
+                                       ospm_power_island_up(OSPM_DISPLAY_ISLAND);
+                               }
                        }
                }
                break;