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: Ajay Singh Parmar <aparmar@codeaurora.org>
This commit is contained in:
Ajay Singh Parmar 2016-08-01 23:16:39 -07:00
parent 28352998de
commit a50e709be4
3 changed files with 379 additions and 396 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
/* 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 {

View file

@ -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) {