Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a7b2ff7 authored by Padmanabhan Komanduru's avatar Padmanabhan Komanduru
Browse files

drm/msm/dp: handle DisplayPort ON/OFF during PM suspend/resume



Add changes in the DisplayPort ON/OFF path and the HPD notification
path to handle PM suspend/resume and adb shell stop/start use-cases
which are not driven by HPD events.

Change-Id: Iedccae9104eb8937d1fd5f4ce958ad5818a2c3ff
Signed-off-by: default avatarPadmanabhan Komanduru <pkomandu@codeaurora.org>
parent c2aa9c2a
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -806,7 +806,7 @@ static void dp_display_connect_work(struct work_struct *work)
	struct dp_display_private *dp = container_of(dw,
			struct dp_display_private, connect_work);

	if (dp->dp_display.is_connected) {
	if (dp->dp_display.is_connected && dp_display_framework_ready(dp)) {
		pr_debug("HPD already on\n");
		return;
	}
@@ -1065,6 +1065,11 @@ static int dp_display_enable(struct dp_display *dp_display)

	dp->aux->init(dp->aux, dp->parser->aux_cfg);

	if (dp->debug->psm_enabled) {
		dp->link->psm_config(dp->link, &dp->panel->link_info, false);
		dp->debug->psm_enabled = false;
	}

	rc = dp->ctrl->on(dp->ctrl);

	if (dp->debug->tpg_state)
@@ -1202,10 +1207,9 @@ static int dp_display_disable(struct dp_display *dp_display)
	 * any notification from driver. Initialize post_open callback to notify
	 * DP connection once framework restarts.
	 */
	if (dp->usbpd->hpd_high && dp->usbpd->alt_mode_cfg_done) {
	if (dp->usbpd->hpd_high && dp->usbpd->alt_mode_cfg_done)
		dp_display->post_open = dp_display_post_open;
		dp->dp_display.is_connected = false;
	}

	dp->power_on = false;
	dp->aux->state = DP_STATE_CTRL_POWERED_OFF;
end: