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

Commit 63682b7e authored by Ajay Singh Parmar's avatar Ajay Singh Parmar
Browse files

msm: mdss: hdmi: Add MHL handshake



Add HPD (Hot Plug Detect) on/off and HPD line high or low pull
handshake between MHL (Mobile High-Definition Link) and HDMI
so that both the drivers are in sync on cable connect and
disconnect.

Change-Id: Ia3264983ba3b81c499e287fa6922e1511bdf65a7
Signed-off-by: default avatarAjay Singh Parmar <aparmar@codeaurora.org>
parent 6badacdb
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2449,6 +2449,10 @@ static void hdmi_tx_power_off_work(struct work_struct *work)
	mutex_unlock(&hdmi_ctrl->mutex);

	DEV_INFO("%s: HDMI Core: OFF\n", __func__);

	if (hdmi_ctrl->hdmi_tx_hpd_done)
		hdmi_ctrl->hdmi_tx_hpd_done(
			hdmi_ctrl->downstream_data);
} /* hdmi_tx_power_off_work */

static int hdmi_tx_power_off(struct mdss_panel_data *panel_data)
@@ -2551,6 +2555,9 @@ static int hdmi_tx_power_on(struct mdss_panel_data *panel_data)

	hdmi_tx_hpd_polarity_setup(hdmi_ctrl, HPD_DISCONNECT_POLARITY);

	if (hdmi_ctrl->hdmi_tx_hpd_done)
		hdmi_ctrl->hdmi_tx_hpd_done(hdmi_ctrl->downstream_data);

	return 0;
} /* hdmi_tx_power_on */

+3 −0
Original line number Diff line number Diff line
@@ -84,6 +84,9 @@ struct hdmi_tx_ctrl {

	struct hdmi_tx_ddc_ctrl ddc_ctrl;

	void (*hdmi_tx_hpd_done) (void *data);
	void *downstream_data;

	void *feature_data[HDMI_TX_FEAT_MAX];
};