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

Commit 090174ae authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: hdmi: fix handling of panel suspend event"

parents 0ee5b802 a7a0ca71
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -3840,7 +3840,9 @@ static irqreturn_t hdmi_tx_isr(int irq, void *data)
		 * waits for hpd interrupt to finish. Suspend thread will
		 * eventually reset the HPD module.
		 */
		if (!hdmi_ctrl->panel_suspend)
		if (hdmi_ctrl->panel_suspend)
			hdmi_ctrl->hpd_state = 0;
		else
			queue_work(hdmi_ctrl->workq, &hdmi_ctrl->hpd_int_work);
	}

@@ -4139,13 +4141,14 @@ static int hdmi_tx_panel_event_handler(struct mdss_panel_data *panel_data,
	case MDSS_EVENT_SUSPEND:
		mutex_lock(&hdmi_ctrl->power_mutex);
		if (!hdmi_ctrl->panel_power_on &&
			!hdmi_ctrl->hpd_off_pending) {
			!hdmi_ctrl->hpd_off_pending && !hdmi_ctrl->hpd_state) {
			mutex_unlock(&hdmi_ctrl->power_mutex);
			if (hdmi_ctrl->hpd_feature_on)
				hdmi_tx_hpd_off(hdmi_ctrl);

			hdmi_ctrl->panel_suspend = false;
		} else {
			hdmi_ctrl->hpd_state = 0;
			mutex_unlock(&hdmi_ctrl->power_mutex);
			hdmi_ctrl->hpd_off_pending = true;
			hdmi_ctrl->panel_suspend = true;