44 lines
1.3 KiB
C
44 lines
1.3 KiB
C
/* Copyright (c) 2012 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
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef __MDSS_HDMI_HDCP_H__
|
|
#define __MDSS_HDMI_HDCP_H__
|
|
|
|
#include "mdss_hdmi_util.h"
|
|
|
|
enum hdmi_hdcp_state {
|
|
HDCP_STATE_INACTIVE,
|
|
HDCP_STATE_AUTHENTICATING,
|
|
HDCP_STATE_AUTHENTICATED,
|
|
HDCP_STATE_AUTH_FAIL
|
|
};
|
|
|
|
struct hdmi_hdcp_init_data {
|
|
struct dss_io_data *core_io;
|
|
struct dss_io_data *qfprom_io;
|
|
struct mutex *mutex;
|
|
struct workqueue_struct *workq;
|
|
void *cb_data;
|
|
void (*notify_status)(void *cb_data, enum hdmi_hdcp_state status);
|
|
|
|
struct hdmi_tx_ddc_ctrl *ddc_ctrl;
|
|
};
|
|
|
|
const char *hdcp_state_name(enum hdmi_hdcp_state hdcp_state);
|
|
void *hdmi_hdcp_init(struct hdmi_hdcp_init_data *init_data);
|
|
void hdmi_hdcp_deinit(void *input);
|
|
int hdmi_hdcp_isr(void *ptr);
|
|
int hdmi_hdcp_reauthenticate(void *input);
|
|
int hdmi_hdcp_authenticate(void *hdcp_ctrl);
|
|
void hdmi_hdcp_off(void *hdcp_ctrl);
|
|
#endif /* __MDSS_HDMI_HDCP_H__ */
|