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

Commit ea3ea3dc authored by Casey Piper's avatar Casey Piper Committed by Matt Wagantall
Browse files

msm: mdss: hdmi: reset HDCP core during reauthentication



Reset HDCP engine during HDCP reauthentication. This will
prevent HDCP engine from going into a bad state of
continuous authentication failures.

Change-Id: I727857c23673c55d77144d63fc4de2c89d6ec5a6
Signed-off-by: default avatarCasey Piper <cpiper@codeaurora.org>
parent c766a350
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1242,6 +1242,7 @@ int hdmi_hdcp_reauthenticate(void *input)
{
	struct hdmi_hdcp_ctrl *hdcp_ctrl = (struct hdmi_hdcp_ctrl *)input;
	struct dss_io_data *io;
	u32 hdmi_hw_version;
	u32 ret = 0;

	if (!hdcp_ctrl || !hdcp_ctrl->init_data.core_io) {
@@ -1266,6 +1267,12 @@ int hdmi_hdcp_reauthenticate(void *input)
	DSS_REG_W(io, HDMI_HPD_CTRL, DSS_REG_R(hdcp_ctrl->init_data.core_io,
		HDMI_HPD_CTRL) & ~BIT(28));

	hdmi_hw_version = DSS_REG_R(io, HDMI_VERSION);
	if (hdmi_hw_version >= 0x30030000) {
		DSS_REG_W(io, HDMI_CTRL_SW_RESET, BIT(1));
		DSS_REG_W(io, HDMI_CTRL_SW_RESET, 0);
	}

	/* Disable HDCP interrupts */
	DSS_REG_W(io, HDMI_HDCP_INT_CTRL, 0);

+7 −0
Original line number Diff line number Diff line
@@ -207,6 +207,13 @@
#define HDMI_CEC_RD_TOTAL_RANGE          (0x00000368)
#define HDMI_CEC_RD_ERR_RESP_LO          (0x0000036C)
#define HDMI_CEC_WR_CHECK_CONFIG         (0x00000370)
#define HDMI_INTERNAL_TIMING_MODE        (0x00000374)
#define HDMI_CTRL_SW_RESET               (0x00000378)
#define HDMI_CTRL_AUDIO_RESET            (0x0000037C)
#define HDMI_SCRATCH                     (0x00000380)
#define HDMI_CLK_CTRL                    (0x00000384)
#define HDMI_CLK_ACTIVE                  (0x00000388)
#define HDMI_VBI_CFG                     (0x0000038C)
#define HDMI_DDC_INT_CTRL0               (0x00000430)
#define HDMI_DDC_INT_CTRL1               (0x00000434)
#define HDMI_DDC_INT_CTRL2               (0x00000438)