#include <linux/io.h>
#include <linux/iopoll.h>
#include <asm/unaligned.h>
#include <drm/display/drm_hdcp_helper.h>
#include "cdns-mhdp8546-hdcp.h"
static int cdns_mhdp_secure_mailbox_read(struct cdns_mhdp_device *mhdp)
{ … }
static int cdns_mhdp_secure_mailbox_write(struct cdns_mhdp_device *mhdp,
u8 val)
{ … }
static int cdns_mhdp_secure_mailbox_recv_header(struct cdns_mhdp_device *mhdp,
u8 module_id,
u8 opcode,
u16 req_size)
{ … }
static int cdns_mhdp_secure_mailbox_recv_data(struct cdns_mhdp_device *mhdp,
u8 *buff, u16 buff_size)
{ … }
static int cdns_mhdp_secure_mailbox_send(struct cdns_mhdp_device *mhdp,
u8 module_id,
u8 opcode,
u16 size,
u8 *message)
{ … }
static int cdns_mhdp_hdcp_get_status(struct cdns_mhdp_device *mhdp,
u16 *hdcp_port_status)
{ … }
static u8 cdns_mhdp_hdcp_handle_status(struct cdns_mhdp_device *mhdp,
u16 status)
{ … }
static int cdns_mhdp_hdcp_rx_id_valid_response(struct cdns_mhdp_device *mhdp,
u8 valid)
{ … }
static int cdns_mhdp_hdcp_rx_id_valid(struct cdns_mhdp_device *mhdp,
u8 *recv_num, u8 *hdcp_rx_id)
{ … }
static int cdns_mhdp_hdcp_km_stored_resp(struct cdns_mhdp_device *mhdp,
u32 size, u8 *km)
{ … }
static int cdns_mhdp_hdcp_tx_is_km_stored(struct cdns_mhdp_device *mhdp,
u8 *resp, u32 size)
{ … }
static int cdns_mhdp_hdcp_tx_config(struct cdns_mhdp_device *mhdp,
u8 hdcp_cfg)
{ … }
static int cdns_mhdp_hdcp_set_config(struct cdns_mhdp_device *mhdp,
u8 hdcp_config, bool enable)
{ … }
static int cdns_mhdp_hdcp_auth_check(struct cdns_mhdp_device *mhdp)
{ … }
static int cdns_mhdp_hdcp_check_receviers(struct cdns_mhdp_device *mhdp)
{ … }
static int cdns_mhdp_hdcp_auth_22(struct cdns_mhdp_device *mhdp)
{ … }
static inline int cdns_mhdp_hdcp_auth_14(struct cdns_mhdp_device *mhdp)
{ … }
static int cdns_mhdp_hdcp_auth(struct cdns_mhdp_device *mhdp,
u8 hdcp_config)
{ … }
static int _cdns_mhdp_hdcp_disable(struct cdns_mhdp_device *mhdp)
{ … }
static int _cdns_mhdp_hdcp_enable(struct cdns_mhdp_device *mhdp, u8 content_type)
{ … }
static int cdns_mhdp_hdcp_check_link(struct cdns_mhdp_device *mhdp)
{ … }
static void cdns_mhdp_hdcp_check_work(struct work_struct *work)
{ … }
static void cdns_mhdp_hdcp_prop_work(struct work_struct *work)
{ … }
int cdns_mhdp_hdcp_set_lc(struct cdns_mhdp_device *mhdp, u8 *val)
{ … }
int
cdns_mhdp_hdcp_set_public_key_param(struct cdns_mhdp_device *mhdp,
struct cdns_hdcp_tx_public_key_param *val)
{ … }
int cdns_mhdp_hdcp_enable(struct cdns_mhdp_device *mhdp, u8 content_type)
{ … }
int cdns_mhdp_hdcp_disable(struct cdns_mhdp_device *mhdp)
{ … }
void cdns_mhdp_hdcp_init(struct cdns_mhdp_device *mhdp)
{ … }