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

Commit 28fafcfc authored by Casey Piper's avatar Casey Piper
Browse files

msm: mdss: hdmi: add debug messages to HDMI



Update HPD and CEC with debug messages. Reduce the
level of debug messages that say only that interrupts
are being ignored due to the feature not being
enabled, and add messages saying that HPD is enabled
or disabled. Also adding dynamic ioremap of addresses
based on dtsi configurations as phy init/shutdown
is not needed on msm8994.

Change-Id: I25d9d7a6737f84e7dd0c653326a37b0046accfb9
Signed-off-by: default avatarCasey Piper <cpiper@codeaurora.org>
parent c5829a99
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -798,7 +798,7 @@ int hdmi_cec_isr(void *input)
	DEV_DBG("%s: cec interrupt status is [0x%x]\n", __func__, cec_intr);

	if (!cec_ctrl->cec_enabled) {
		DEV_ERR("%s: cec is not enabled. Just clear int and return.\n",
		DEV_DBG("%s: cec is not enabled. Just clear int and return.\n",
			__func__);
		DSS_REG_W(io, HDMI_CEC_INT, cec_intr);
		return 0;
+1 −1
Original line number Diff line number Diff line
@@ -1377,7 +1377,7 @@ int hdmi_hdcp_isr(void *input)

	/* Ignore HDCP interrupts if HDCP is disabled */
	if (HDCP_STATE_INACTIVE == hdcp_ctrl->hdcp_state) {
		DEV_ERR("%s: HDCP inactive. Just clear int and return.\n",
		DEV_DBG("%s: HDCP inactive. Just clear int and return.\n",
			__func__);
		DSS_REG_W(io, HDMI_HDCP_INT_CTRL, HDCP_INT_CLR);
		return 0;
+14 −8
Original line number Diff line number Diff line
@@ -1291,7 +1291,8 @@ static void hdmi_tx_hpd_int_work(struct work_struct *work)
		return;
	}
	io = &hdmi_ctrl->pdata.io[HDMI_TX_CORE_IO];
	DEV_DBG("%s: Got HPD interrupt\n", __func__);
	DEV_DBG("%s: Got HPD %s interrupt\n", __func__,
		hdmi_ctrl->hpd_state ? "CONNECT" : "DISCONNECT");

	if (hdmi_ctrl->hpd_state) {
		/*
@@ -2014,7 +2015,8 @@ static void hdmi_tx_init_phy(struct hdmi_tx_ctrl *hdmi_ctrl)

	io = &hdmi_ctrl->pdata.io[HDMI_TX_PHY_IO];
	if (!io->base) {
		DEV_ERR("%s: phy io is not initialized\n", __func__);
		DEV_DBG("%s: phy not initialized or init not available\n",
			 __func__);
		return;
	}

@@ -2039,7 +2041,8 @@ static void hdmi_tx_powerdown_phy(struct hdmi_tx_ctrl *hdmi_ctrl)
	}
	io = &hdmi_ctrl->pdata.io[HDMI_TX_PHY_IO];
	if (!io->base) {
		DEV_ERR("%s: phy io is not initialized\n", __func__);
		DEV_DBG("%s: phy not initialized or pd not available\n",
			 __func__);
		return;
	}

@@ -2821,6 +2824,7 @@ static void hdmi_tx_hpd_off(struct hdmi_tx_ctrl *hdmi_ctrl)
	spin_unlock_irqrestore(&hdmi_ctrl->hpd_state_lock, flags);

	hdmi_ctrl->hpd_initialized = false;
	DEV_DBG("%s: HPD is now OFF\n", __func__);
} /* hdmi_tx_hpd_off */

static int hdmi_tx_hpd_on(struct hdmi_tx_ctrl *hdmi_ctrl)
@@ -2873,6 +2877,7 @@ static int hdmi_tx_hpd_on(struct hdmi_tx_ctrl *hdmi_ctrl)
		DSS_REG_W(io, HDMI_HPD_CTRL, reg_val | BIT(28));

		hdmi_tx_hpd_polarity_setup(hdmi_ctrl, HPD_CONNECT_POLARITY);
		DEV_DBG("%s: HPD is now ON\n", __func__);
	}

	return rc;
@@ -3324,8 +3329,10 @@ static void hdmi_tx_deinit_resource(struct hdmi_tx_ctrl *hdmi_ctrl)
	}

	/* IO */
	for (i = HDMI_TX_MAX_IO - 1; i >= 0; i--)
	for (i = HDMI_TX_MAX_IO - 1; i >= 0; i--) {
		if (hdmi_ctrl->pdata.io[i].base)
			msm_dss_iounmap(&hdmi_ctrl->pdata.io[i]);
	}
} /* hdmi_tx_deinit_resource */

static int hdmi_tx_init_resource(struct hdmi_tx_ctrl *hdmi_ctrl)
@@ -3345,9 +3352,8 @@ static int hdmi_tx_init_resource(struct hdmi_tx_ctrl *hdmi_ctrl)
		rc = msm_dss_ioremap_byname(hdmi_ctrl->pdev, &pdata->io[i],
			hdmi_tx_io_name(i));
		if (rc) {
			DEV_ERR("%s: '%s' remap failed\n", __func__,
				hdmi_tx_io_name(i));
			goto error;
			DEV_DBG("%s: '%s' remap failed or not available\n",
				__func__, hdmi_tx_io_name(i));
		}
		DEV_INFO("%s: '%s': start = 0x%p, len=0x%x\n", __func__,
			hdmi_tx_io_name(i), pdata->io[i].base,