lineage_kernel_xcoverpro/drivers/soc/samsung/exynos-hdcp/dp_link/exynos-hdcp2-dplink.h

53 lines
1.5 KiB
C
Executable File

/* driver/soc/samsung/exynos-hdcp/dplink/exynos-hdcp2-dplink.h
*
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __EXYNOS_HDCP2_DPLINK_H__
#define __EXYNOS_HDCP2_DPLINK_H__
#if defined(CONFIG_HDCP2_EMULATION_MODE)
int dplink_emul_handler(int cmd);
#endif
enum {
HDCP_AUTH_PROCESS_ON = 0x0,
HDCP_AUTH_PROCESS_STOP = 0x1,
HDCP_AUTH_PROCESS_DONE = 0x2
};
enum {
DRM_OFF = 0x0,
DRM_ON = 0x1,
DRM_SAME_STREAM_TYPE = 0x2 /* If the previous contents and stream_type id are the same flag */
};
/* Do hdcp2.2 authentication with DP Receiver
* and enable encryption if authentication is succeed.
* @return
* - 0: Success
* - ENOMEM: hdcp context open fail
* - EACCES: authentication fail
*/
int hdcp_dplink_authenticate(void);
int do_dplink_auth(struct hdcp_link_info *lk_handle);
int hdcp_dplink_get_rxstatus(uint8_t *status);
int hdcp_dplink_set_paring_available(void);
int hdcp_dplink_set_hprime_available(void);
int hdcp_dplink_set_rp_ready(void);
int hdcp_dplink_set_reauth(void);
int hdcp_dplink_set_integrity_fail(void);
int hdcp_dplink_cancel_auth(void);
int hdcp_dplink_stream_manage(void);
int hdcp_dplink_is_auth_state(void);
int hdcp_dplink_auth_check(void);
int hdcp_dplink_drm_flag_check(int flag);
int hdcp_dplink_dp_link_flag_check(int flag);
void hdcp_clear_session(uint32_t id);
#endif