diff --git a/arch/arm/boot/dts/apq8026-sturgeon/dsi-panel-auo-rm69080-hvga-video.dtsi b/arch/arm/boot/dts/apq8026-sturgeon/dsi-panel-auo-rm69080-hvga-video.dtsi
index aec075d7c6d4865a2a7f9d8e36a17b102cbf9f60..e90cbbfd801f613107dc352255d066fbd8319770 100644
--- a/arch/arm/boot/dts/apq8026-sturgeon/dsi-panel-auo-rm69080-hvga-video.dtsi
+++ b/arch/arm/boot/dts/apq8026-sturgeon/dsi-panel-auo-rm69080-hvga-video.dtsi
@@ -42,6 +42,7 @@
 		qcom,mdss-dsi-underflow-color = <0xff>;
 		qcom,mdss-dsi-border-color = <0>;
 		qcom,mdss-dsi-panel-orientation = "vflip";
+		qcom,ulps-enabled;
 		qcom,mdss-dsi-on-command = [15 01 00 00 01 00 02 00 00
 			15 01 00 00 00 00 02 FE 07
 			15 01 00 00 00 00 02 07 4F
diff --git a/arch/arm/boot/dts/apq8026-sturgeon/dsi-panel-edo-rm67160-hvga-video.dtsi b/arch/arm/boot/dts/apq8026-sturgeon/dsi-panel-edo-rm67160-hvga-video.dtsi
index 28fba640732cfb15eacfd4052d6dd8b7173b0179..be190efe9348ed5dd95f2b051cb057fce342876c 100644
--- a/arch/arm/boot/dts/apq8026-sturgeon/dsi-panel-edo-rm67160-hvga-video.dtsi
+++ b/arch/arm/boot/dts/apq8026-sturgeon/dsi-panel-edo-rm67160-hvga-video.dtsi
@@ -42,6 +42,7 @@
 		qcom,mdss-dsi-underflow-color = <0xff>;
 		qcom,mdss-dsi-border-color = <0>;
 		qcom,mdss-dsi-panel-orientation = "vflip";
+		qcom,ulps-enabled;
 		qcom,mdss-dsi-on-command = [15 01 00 00 01 00 02 00 00
 			15 01 00 00 00 00 02 FE 04
 			15 01 00 00 00 00 02 00 DC
diff --git a/drivers/video/msm/mdss/msm_mdss_io_8974.c b/drivers/video/msm/mdss/msm_mdss_io_8974.c
index d936cf4e96886590e821a8cfdf031bb03715ceee..825ed7bf2543d640fc80f48dbf13779d4ac1ca3d 100644
--- a/drivers/video/msm/mdss/msm_mdss_io_8974.c
+++ b/drivers/video/msm/mdss/msm_mdss_io_8974.c
@@ -1147,6 +1147,11 @@ static int mdss_dsi_core_power_ctrl(struct mdss_dsi_ctrl_pdata *ctrl,
 			pr_debug("%s: leaving mdss gdsc on\n", __func__);
 		} else {
 			pr_debug("%s: Disable MDP FS\n", __func__);
+			/*
+			 * temp workaround to keep MDP FS enable to avoid image
+			 * shift after exit idle mode
+			 */
+#if 0
 			rc = msm_dss_enable_vreg(
 				ctrl->power_data[DSI_CORE_PM].vreg_config,
 				ctrl->power_data[DSI_CORE_PM].num_vreg, 0);
@@ -1158,6 +1163,9 @@ static int mdss_dsi_core_power_ctrl(struct mdss_dsi_ctrl_pdata *ctrl,
 			} else {
 				ctrl->core_power = false;
 			}
+#else
+			ctrl->core_power = false;
+#endif
 		}
 
 		/*