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

Commit 8832c1bc authored by Aravind Venkateswaran's avatar Aravind Venkateswaran
Browse files

msm: mdss: hdcp2p2: fix check for sink support for HDCP 2.x



Current implementation only checks if the sink is HDCP capable.
In addition, it is required that the source also checks for the
HDCP version supported by the sink prior to initiating HDCP 2.x
authentication sequence.

CRs-Fixed: 2062951
Change-Id: I24901202a0abc2ff4336ab9c6c2fd708a53559f2
Signed-off-by: default avatarAravind Venkateswaran <aravindh@codeaurora.org>
parent d9fbe4b9
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -894,22 +894,24 @@ static bool dp_hdcp2p2_supported(struct dp_hdcp2p2_ctrl *ctrl)
{
	struct edp_cmd cmd = {0};
	const u32 offset = 0x6921d;
	u8 buf;
	u8 buf[3];

	cmd.read = 1;
	cmd.addr = offset;
	cmd.len = sizeof(buf);
	cmd.out_buf = &buf;
	cmd.len = ARRAY_SIZE(buf);
	cmd.out_buf = buf;

	if (dp_aux_read(ctrl->init_data.cb_data, &cmd)) {
		pr_err("RxCaps read failed\n");
		goto error;
	}

	pr_debug("rxcaps 0x%x\n", buf);
	pr_debug("HDCP_CAPABLE=%lu\n", (buf[2] & BIT(1)) >> 1);
	pr_debug("VERSION=%d\n", buf[0]);

	if (buf & BIT(1))
	if ((buf[2] & BIT(1)) && (buf[0] == 0x2))
		return true;

error:
	return false;
}