瀏覽代碼

disp: msm: dp: Reset dp sink power state during panel init

Reset the dp sink power state during panel init.
Sinks may still be in old power states from
previous sessions, so reset the power to allow
for a clean start to the dp session.

CRs-Fixed: 2453351
Change-Id: I7e2a4c9bcdb8f69d2562ba098d80a1c7e8f9f620
Signed-off-by: Fuad Hossain <[email protected]>
Fuad Hossain 6 年之前
父節點
當前提交
8247a33d6b
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      msm/dp/dp_panel.c

+ 4 - 0
msm/dp/dp_panel.c

@@ -6,6 +6,7 @@
 #define pr_fmt(fmt)	"[drm-dp] %s: " fmt, __func__
 
 #include "dp_panel.h"
+#include <linux/unistd.h>
 #include <drm/drm_fixed.h>
 
 #define DP_KHZ_TO_HZ 1000
@@ -2459,6 +2460,9 @@ static int dp_panel_init_panel_info(struct dp_panel *dp_panel)
 	panel = container_of(dp_panel, struct dp_panel_private, dp_panel);
 	pinfo = &dp_panel->pinfo;
 
+	drm_dp_dpcd_writeb(panel->aux->drm_aux, DP_SET_POWER, DP_SET_POWER_D3);
+	/* 200us propagation time for the power down to take effect */
+	usleep_range(200, 205);
 	drm_dp_dpcd_writeb(panel->aux->drm_aux, DP_SET_POWER, DP_SET_POWER_D0);
 
 	/*