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

Commit a50e709b authored by Ajay Singh Parmar's avatar Ajay Singh Parmar
Browse files

msm: mdss: generalize the hdcp 1.x registers programming



Create a register set for a given interface and make
hdcp state machine independent of the interface being
used to support multiple interfaces with different
register sets.

Change-Id: I62738697e91549fe44ef09b0a3aa905b37c00389
Signed-off-by: default avatarAjay Singh Parmar <aparmar@codeaurora.org>
parent 28352998
Loading
Loading
Loading
Loading
+369 −394

File changed.

Preview size limit exceeded, changes collapsed.

+8 −1
Original line number Diff line number Diff line
/* Copyright (c) 2012, 2014-2015 The Linux Foundation. All rights reserved.
/* Copyright (c) 2012, 2014-2016, 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
@@ -17,6 +17,11 @@
#include <video/msm_hdmi_modes.h>
#include <soc/qcom/scm.h>

enum hdcp_client_id {
	HDCP_CLIENT_HDMI,
	HDCP_CLIENT_DP,
};

enum hdmi_hdcp_state {
	HDCP_STATE_INACTIVE,
	HDCP_STATE_AUTHENTICATING,
@@ -41,6 +46,8 @@ struct hdmi_hdcp_init_data {
	u32 hdmi_tx_ver;
	struct msm_hdmi_mode_timing_info *timing;
	bool tethered;
	bool sec_access;
	enum hdcp_client_id client_id;
};

struct hdmi_hdcp_ops {
+1 −0
Original line number Diff line number Diff line
@@ -1839,6 +1839,7 @@ static int hdmi_tx_init_hdcp(struct hdmi_tx_ctrl *hdmi_ctrl)
	hdcp_init_data.notify_status = hdmi_tx_hdcp_cb;
	hdcp_init_data.cb_data       = (void *)hdmi_ctrl;
	hdcp_init_data.hdmi_tx_ver   = hdmi_ctrl->hdmi_tx_major_version;
	hdcp_init_data.sec_access    = true;
	hdcp_init_data.timing        = &hdmi_ctrl->timing;

	if (hdmi_ctrl->hdcp14_present) {