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

Commit 85d75e13 authored by Narender Ankam's avatar Narender Ankam Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: hdcp: reauth on rxstatus ddc read failure



If maximum number of retries reached to read RxStatus over DDC and
still failed to read RxStatus, fail HDCP 2.2 authentication and try
to reauthenticate downstream HDCP device.

Change-Id: I42e39bd2ceeed038aff74789c5e18a38e7ee35d6
Signed-off-by: default avatarNarender Ankam <nankam@codeaurora.org>
Signed-off-by: default avatarRamendra Kumar <ramendra@codeaurora.org>
parent f63159db
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
/* Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2017,2019-2020, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -740,6 +740,14 @@ static void hdmi_hdcp2p2_recv_msg(struct hdmi_hdcp2p2_ctrl *ctrl)
		goto exit;
	}

	if (ddc_data->ddc_max_retries_fail) {
		pr_debug("rxstatus ddc failed\n");

		ddc_data->ddc_max_retries_fail = false;
		rc = -ENOLINK;
		goto exit;
	}

	if (ddc_data->reauth_req) {
		ddc_data->reauth_req = false;

@@ -897,6 +905,15 @@ static void hdmi_hdcp2p2_link_work(struct kthread_work *work)

	ddc_data = &ddc_ctrl->hdcp2p2_ddc_data;

	if (ddc_data->ddc_max_retries_fail) {
		pr_debug("rxstatus ddc failed\n");

		ddc_data->ddc_max_retries_fail = false;
		rc = -ENOLINK;
		cdata.cmd = HDCP_LIB_WKUP_CMD_STOP;
		goto exit;
	}

	if (ddc_data->reauth_req) {
		pr_debug("reauth triggered by sink\n");