1*53ee8cc1Swenshuai.xi //<MStar Software> 2*53ee8cc1Swenshuai.xi //****************************************************************************** 3*53ee8cc1Swenshuai.xi // MStar Software 4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are 6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties. 8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all 9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written 10*53ee8cc1Swenshuai.xi // permission has been granted by MStar. 11*53ee8cc1Swenshuai.xi // 12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you 13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to 14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations 15*53ee8cc1Swenshuai.xi // 16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar 17*53ee8cc1Swenshuai.xi // Software and any modification/derivatives thereof. 18*53ee8cc1Swenshuai.xi // No right, ownership, or interest to MStar Software and any 19*53ee8cc1Swenshuai.xi // modification/derivatives thereof is transferred to you under Terms. 20*53ee8cc1Swenshuai.xi // 21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be 22*53ee8cc1Swenshuai.xi // supplied together with third party`s software and the use of MStar 23*53ee8cc1Swenshuai.xi // Software may require additional licenses from third parties. 24*53ee8cc1Swenshuai.xi // Therefore, you hereby agree it is your sole responsibility to separately 25*53ee8cc1Swenshuai.xi // obtain any and all third party right and license necessary for your use of 26*53ee8cc1Swenshuai.xi // such third party`s software. 27*53ee8cc1Swenshuai.xi // 28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29*53ee8cc1Swenshuai.xi // MStar`s confidential information and you agree to keep MStar`s 30*53ee8cc1Swenshuai.xi // confidential information in strictest confidence and not disclose to any 31*53ee8cc1Swenshuai.xi // third party. 32*53ee8cc1Swenshuai.xi // 33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34*53ee8cc1Swenshuai.xi // kind. Any warranties are hereby expressly disclaimed by MStar, including 35*53ee8cc1Swenshuai.xi // without limitation, any warranties of merchantability, non-infringement of 36*53ee8cc1Swenshuai.xi // intellectual property rights, fitness for a particular purpose, error free 37*53ee8cc1Swenshuai.xi // and in conformity with any international standard. You agree to waive any 38*53ee8cc1Swenshuai.xi // claim against MStar for any loss, damage, cost or expense that you may 39*53ee8cc1Swenshuai.xi // incur related to your use of MStar Software. 40*53ee8cc1Swenshuai.xi // In no event shall MStar be liable for any direct, indirect, incidental or 41*53ee8cc1Swenshuai.xi // consequential damages, including without limitation, lost of profit or 42*53ee8cc1Swenshuai.xi // revenues, lost or damage of data, and unauthorized system use. 43*53ee8cc1Swenshuai.xi // You agree that this Section 4 shall still apply without being affected 44*53ee8cc1Swenshuai.xi // even if MStar Software has been modified by MStar in accordance with your 45*53ee8cc1Swenshuai.xi // request or instruction for your use, except otherwise agreed by both 46*53ee8cc1Swenshuai.xi // parties in writing. 47*53ee8cc1Swenshuai.xi // 48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or 49*53ee8cc1Swenshuai.xi // services in relation with MStar Software to you for your use of 50*53ee8cc1Swenshuai.xi // MStar Software in conjunction with your or your customer`s product 51*53ee8cc1Swenshuai.xi // ("Services"). 52*53ee8cc1Swenshuai.xi // You understand and agree that, except otherwise agreed by both parties in 53*53ee8cc1Swenshuai.xi // writing, Services are provided on an "AS IS" basis and the warranty 54*53ee8cc1Swenshuai.xi // disclaimer set forth in Section 4 above shall apply. 55*53ee8cc1Swenshuai.xi // 56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels 57*53ee8cc1Swenshuai.xi // or otherwise 58*53ee8cc1Swenshuai.xi // (a) conferring any license or right to use MStar name, trademark, service 59*53ee8cc1Swenshuai.xi // mark, symbol or any other identification; 60*53ee8cc1Swenshuai.xi // (b) obligating MStar or any of its affiliates to furnish any person, 61*53ee8cc1Swenshuai.xi // including without limitation, you and your customers, any assistance 62*53ee8cc1Swenshuai.xi // of any kind whatsoever, or any information; or 63*53ee8cc1Swenshuai.xi // (c) conferring any license or right under any intellectual property right. 64*53ee8cc1Swenshuai.xi // 65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws 66*53ee8cc1Swenshuai.xi // of Taiwan, R.O.C., excluding its conflict of law rules. 67*53ee8cc1Swenshuai.xi // Any and all dispute arising out hereof or related hereto shall be finally 68*53ee8cc1Swenshuai.xi // settled by arbitration referred to the Chinese Arbitration Association, 69*53ee8cc1Swenshuai.xi // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70*53ee8cc1Swenshuai.xi // Rules of the Association by three (3) arbitrators appointed in accordance 71*53ee8cc1Swenshuai.xi // with the said Rules. 72*53ee8cc1Swenshuai.xi // The place of arbitration shall be in Taipei, Taiwan and the language shall 73*53ee8cc1Swenshuai.xi // be English. 74*53ee8cc1Swenshuai.xi // The arbitration award shall be final and binding to both parties. 75*53ee8cc1Swenshuai.xi // 76*53ee8cc1Swenshuai.xi //****************************************************************************** 77*53ee8cc1Swenshuai.xi 78*53ee8cc1Swenshuai.xi #ifndef _API_HDMITX_PRIV_H_ 79*53ee8cc1Swenshuai.xi #define _API_HDMITX_PRIV_H_ 80*53ee8cc1Swenshuai.xi 81*53ee8cc1Swenshuai.xi 82*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 83*53ee8cc1Swenshuai.xi // Header Files 84*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 85*53ee8cc1Swenshuai.xi #ifdef __cplusplus 86*53ee8cc1Swenshuai.xi extern "C" 87*53ee8cc1Swenshuai.xi { 88*53ee8cc1Swenshuai.xi #endif 89*53ee8cc1Swenshuai.xi 90*53ee8cc1Swenshuai.xi 91*53ee8cc1Swenshuai.xi typedef struct __attribute__ ((packed)) 92*53ee8cc1Swenshuai.xi { 93*53ee8cc1Swenshuai.xi MDrvHDMITX_PARAMETER_LIST stHDMITxInfo; 94*53ee8cc1Swenshuai.xi MDrvHdcpTx_PARAMETER_LIST stHdcpTxInfo; 95*53ee8cc1Swenshuai.xi MS_BOOL bEnableHDMITxTask; 96*53ee8cc1Swenshuai.xi MS_BOOL bSetHPD; 97*53ee8cc1Swenshuai.xi MS_BOOL bInit; 98*53ee8cc1Swenshuai.xi MS_U32 u32AlignDummy; 99*53ee8cc1Swenshuai.xi } HDMITX_RESOURCE_PRIVATE; 100*53ee8cc1Swenshuai.xi 101*53ee8cc1Swenshuai.xi 102*53ee8cc1Swenshuai.xi #if 1 103*53ee8cc1Swenshuai.xi #define _HDMITX_SEMAPHORE_ENTRY(pInst) \ 104*53ee8cc1Swenshuai.xi if(MDrv_HDMITx_Get_Semaphore(pInst) != UTOPIA_STATUS_SUCCESS) \ 105*53ee8cc1Swenshuai.xi { } 106*53ee8cc1Swenshuai.xi 107*53ee8cc1Swenshuai.xi #define _HDMITX_GET_INST_PRIVATE() \ 108*53ee8cc1Swenshuai.xi HDMITX_INSTANCE_PRIVATE *psHDMITXInstPri = NULL; \ 109*53ee8cc1Swenshuai.xi UtopiaInstanceGetPrivate(pInstance, (void**)&psHDMITXInstPri); 110*53ee8cc1Swenshuai.xi 111*53ee8cc1Swenshuai.xi 112*53ee8cc1Swenshuai.xi #define _HDMITX_GET_VARIABLE() \ 113*53ee8cc1Swenshuai.xi HDMITX_INSTANCE_PRIVATE *psHDMITXInstPri = NULL; \ 114*53ee8cc1Swenshuai.xi UtopiaInstanceGetPrivate(pInstance, (void**)&psHDMITXInstPri); \ 115*53ee8cc1Swenshuai.xi HDMITX_RESOURCE_PRIVATE *psHDMITXResPri = NULL; \ 116*53ee8cc1Swenshuai.xi UtopiaResourceGetPrivate(pu32HDMITXRes[psHDMITXInstPri->u32DeviceID],(void**)(&psHDMITXResPri)); 117*53ee8cc1Swenshuai.xi 118*53ee8cc1Swenshuai.xi #define _HDMITX_SEMAPHORE_RETURN(pInst) \ 119*53ee8cc1Swenshuai.xi MDrv_HDMITx_Release_Semaphore(pInst); 120*53ee8cc1Swenshuai.xi #endif 121*53ee8cc1Swenshuai.xi 122*53ee8cc1Swenshuai.xi 123*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_INIT) (void *pInstance); 124*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_EXIT) (void *pInstance); 125*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_TUNRONOFF) (void *pInstance, MS_BOOL state); 126*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_ENABLEPACKETGEN) (void *pInstance, MS_BOOL bflag); 127*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETHDMITXMODE) (void *pInstance, HDMITX_OUTPUT_MODE mode); 128*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETHDMITXMODE_CD) (void *pInstance, HDMITX_OUTPUT_MODE mode, HDMITX_VIDEO_COLORDEPTH_VAL val); 129*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETTMDSONOFF) (void *pInstance, MS_BOOL state); 130*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_DISABLETMDSCTRL) (void *pInstance, MS_BOOL bFlag); 131*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETRBCHANNELSWAP) (void *pInstance, MS_BOOL state); 132*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_EXHIBIT) (void *pInstance); 133*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETRXSTATUS) (void); 134*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETRXDCINFOFROMEDID) (void *pInstance, HDMITX_VIDEO_COLORDEPTH_VAL *val); 135*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETRXVIDEOFORMATFROMEDID) (void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize); 136*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETVICLISTFROMEDID) (void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize); 137*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETDATABLOCKLENGTHFROMEDID) (void *pInstance, MS_U8 *pu8Length, MS_U8 u8TagCode); 138*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETCOLORFORMATFROMEDID) (void *pInstance, HDMITX_VIDEO_TIMING timing, HDMITX_EDID_COLOR_FORMAT *pColorFmt); 139*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETRXAUDIOFORMATFROMEDID) (void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize); 140*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_EDID_HDMISUPPORT) (void *pInstance, MS_BOOL *HDMI_Support); 141*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETRXIDMANUFACTURERNAME) (void *pInstance, MS_U8 *pu8Buffer); 142*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETEDIDDATA) (void *pInstance, MS_U8 *pu8Buffer, MS_BOOL BlockIdx); 143*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETRX3DSTRUCTUREFROMEDID) (void *pInstance, HDMITX_VIDEO_TIMING timing, HDMITX_EDID_3D_STRUCTURE_ALL *p3DStructure); 144*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_PKT_USER_DEFINE_CLEAR) (void *pInstance); 145*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_PKT_USER_DEFINE) (void *pInstance, HDMITX_PACKET_TYPE packet_type, MS_BOOL def_flag, HDMITX_PACKET_PROCESS def_process, MS_U8 def_fcnt); 146*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_PKT_CONTENT_DEFINE) (void *pInstance, HDMITX_PACKET_TYPE packet_type, MS_U8 *data, MS_U8 length); 147*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETVIDEOONOFF) (void *pInstance, MS_BOOL state); 148*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETCOLORFORMAT) (void *pInstance, HDMITX_VIDEO_COLOR_FORMAT in_color, HDMITX_VIDEO_COLOR_FORMAT out_color); 149*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SET_VS_INFOFRAME) (void *pInstance, HDMITX_VIDEO_VS_FORMAT vs_format, HDMITX_VIDEO_3D_STRUCTURE vs_3d, HDMITX_VIDEO_4k2k_VIC vs_vic); 150*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETVIDEOOUTPUTTIMING) (void *pInstance, HDMITX_VIDEO_TIMING mode); 151*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETVIDEOOUTPUTASEPECTRATIO) (void *pInstance, HDMITX_VIDEO_ASPECT_RATIO out_ar); 152*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETVIDEOOUTPUTOVERSCAN_AFD) (void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_SCAN_INFO out_scaninfo, MS_U8 out_afd); 153*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETAUDIOONOFF) (void *pInstance, MS_BOOL state); 154*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETAUDIOFREQUENCY) (void *pInstance, HDMITX_AUDIO_FREQUENCY freq); 155*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETVIDEOOUTPUTOVERSCAN_AFD_II) (void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_SCAN_INFO out_scaninfo, MS_U8 out_afd, MS_U8 A0); 156*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETAUDIOCONFIGURATION) (void *pInstance, HDMITX_AUDIO_FREQUENCY freq, HDMITX_AUDIO_CHANNEL_COUNT ch, HDMITX_AUDIO_CODING_TYPE type); 157*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETAUDIOSOURCEFORMAT) (void *pInstance, HDMITX_AUDIO_SOURCE_FORMAT fmt); 158*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_SETAVIINFOEXTCOLORIMETRY) (void *pInstance, HDMITX_AVI_EXTENDED_COLORIMETRY ExtColorimetry, HDMITX_AVI_YCC_QUANT_RANGE YccQuantRange); 159*53ee8cc1Swenshuai.xi typedef MS_U32 (*IOCTL_HDMITX_GETAUDIOCTS) (void *pInstance); 160*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_MUTEAUDIOFIFO) (void *pInstance, MS_BOOL bflag); 161*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_GETHDCPKEY) (void *pInstance, MS_BOOL useinternalkey, MS_U8 *data); 162*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETBKSV) (void *pInstance, MS_U8 *pdata); 163*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETAKSV) (void *pInstance, MS_U8 *pdata); 164*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETHDCPONOFF) (void *pInstance, MS_BOOL state); 165*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETAVMUTE) (void *pInstance, MS_BOOL bflag); 166*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETAVMUTESTATUS) (void *pInstance); 167*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_HDCP_REVOCATIONKEY_LIST) (void *pInstance, MS_U8 *data, MS_U16 size); 168*53ee8cc1Swenshuai.xi typedef HDMITX_REVOCATION_STATE (*IOCTL_HDMITX_HDCP_REVOCATIONKEY_CHECK) (void *pInstance); 169*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_HDCP_ISSRMSIGNATUREVALID) (void *pInstance, MS_U8 *data, MS_U32 size); 170*53ee8cc1Swenshuai.xi typedef HDMITX_HDCP_STATUS (*IOCTL_HDMITX_GETHDCPSTATUS) (void *pInstance); 171*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_HDCP_STARTAUTH) (void *pInstance, MS_BOOL bFlag); 172*53ee8cc1Swenshuai.xi typedef HDMITX_INT_HDCP_STATUS (*IOCTL_HDMITX_GETINTHDCPSTATUS) (void *pInstance); 173*53ee8cc1Swenshuai.xi typedef HDMITX_INT_HDCP_STATUS (*IOCTL_HDMITX_GETHDCP_PRESTATUS) (void *pInstance); 174*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETLIBVER) (void *pInstance, const MSIF_Version **ppVersion); 175*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETINFO) (void *pInstance, HDMI_TX_INFO *pInfo); 176*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETSTATUS) (void *pInstance, HDMI_TX_Status *pStatus); 177*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_SETDBGLEVEL) (MS_U16 u16DbgSwitch); 178*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_UNHDCPRXCONTROL) (void *pInstance, HDMITX_UNHDCPRX_CONTROL state); 179*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_HDCPRXFAILCONTROL) (void *pInstance, HDMITX_HDCPRXFail_CONTROL state); 180*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETHPDGPIOPIN) (void *pInstance, MS_U8 u8pin); 181*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_ANALOGTUNING) (void *pInstance, HDMITX_ANALOG_TUNING *pInfo); 182*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_FORCEHDMIOUTPUTMODE) (void *pInstance, MS_BOOL bflag, HDMITX_OUTPUT_MODE output_mode); 183*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_FORCEHDMIOUTPUTCOLORFORMAT) (void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_COLOR_FORMAT output_color); 184*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_DISABLEREGWRITE) (void *pInstance, MS_BOOL bFlag); 185*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_GETEDIDPHYADR) (void *pInstance, MS_U8 *pdata); 186*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETCECONOFF) (void *pInstance, MS_BOOL bflag); 187*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETCECSTATUS) (void *pInstance); 188*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_EDIDCHECKING) (void *pInstance); 189*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_RXBYPASS_MODE) (void *pInstance, HDMITX_INPUT_FREQ freq, MS_BOOL bflag); 190*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_DISABLE_RXBYPASS) (void *pInstance); 191*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_SETAKSV2R0INTERVAL) (void *pInstance, MS_U32 u32Interval); 192*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_ISRXVALID) (void *pInstance); 193*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETCHIPCAPS) (void *pInstance, EN_HDMITX_CAPS eCapType, MS_U32* pRet, MS_U32 ret_size); 194*53ee8cc1Swenshuai.xi typedef MS_U32 (*IOCTL_HDMITX_SETPOWERSTATE) (void* pInstance, EN_POWER_MODE u16PowerState); 195*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETEDIDDATABLOCK) (void* pInstance, HDMITX_CEA_DB_TAG_CODE enTagCode, HDMITX_CEA_EXT_TAG_CODE enExtTagCode, MS_U8* pu8Data, MS_U32 u32DataLen, MS_U32* pu32RealLen); 196*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GETKSVLIST) (void* pInstance, MS_U8 *pu8Bstatus, MS_U8* pu8KSVList, MS_U16 u16BufLen, MS_U16 *pu16KSVLength); 197*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_HDCP2ACCESSX74OFFSET) (void* pInstance, MS_U8 u8PortIdx, MS_U8 u8OffsetAddr, MS_U8 u8OpCode, MS_U8 *pu8RdBuf, MS_U16 u16RdLen, MS_U8 *pu8WRBuff, MS_U16 u16WrLen); 198*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_HDCP2TxInit) (void* pInstance, MS_U8 u8PortIdx, MS_BOOL bEnable); 199*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_HDCP2TxEnableEncrypt) (void* pInstance, MS_U8 u8PortIdx, MS_BOOL bEnable); 200*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_HDCP2TxFillCipherKey) (void* pInstance, MS_U8 u8PortIdx, MS_U8 *pu8Riv, MS_U8 *pu8KsXORLC128); 201*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_GENERALCTRL) (void* pInstance, MS_U32 u32Cmd, MS_U8* pu8Buf, MS_U32 u32BufSize); 202*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_CMD_COLOR_AND_RANGE_TRANSFORM) (void* pInstance, HDMITX_VIDEO_COLOR_FORMAT incolor, HDMITX_VIDEO_COLOR_FORMAT outcolor, HDMITX_QUANT_RANGE inange, HDMITX_QUANT_RANGE outrange); 203*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_CMD_SSC_ENABLE) (void* pInstance, MS_U8 ubSSCEn); 204*53ee8cc1Swenshuai.xi typedef MS_U8 (*IOCTL_HDMITX_CMD_SET_COLORIMETRY) (void* pInstance, HDMITX_AVI_COLORIMETRY enColorimetry); 205*53ee8cc1Swenshuai.xi typedef MS_U32 (*IOCTL_HDMITX_CMD_GET_FULL_RX_STATUS) (void* pInstance); 206*53ee8cc1Swenshuai.xi typedef HDMITX_TIMING_ERROR (*IOCTL_HDMITX_CMD_TIMING_CAPABILITY_CHECK) (void* pInstance, HDMITX_OUTPUT_MODE eOutputMode, HDMITX_VIDEO_TIMING idx, HDMITX_VIDEO_COLOR_FORMAT incolor_fmt, HDMITX_VIDEO_COLOR_FORMAT outcolor_fmt, HDMITX_VIDEO_COLORDEPTH_VAL color_depth); 207*53ee8cc1Swenshuai.xi typedef MS_U32 (*IOCTL_HDMITX_CMD_GET_TMDS_STATUS) (void* pInstance); 208*53ee8cc1Swenshuai.xi typedef void (*IOCTL_HDMITX_SETVIDEOOUTPUTTIMINGBYCUSTOMER) (void* pInstance, HDMITX_VIDEO_TIMING u8Mode, HDMITX_TIMING_INFO_BY_CUSTOMER stTiminginfo); 209*53ee8cc1Swenshuai.xi 210*53ee8cc1Swenshuai.xi #if defined(VANCLEEF_MCP) || defined(RAPTORS_MCP) 211*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_HDMITX_VANCLEEF_LOADHDCPKEY) (void *pInstance, MS_U8* pu8HdcpKey, MS_U32 u32Size); 212*53ee8cc1Swenshuai.xi #endif 213*53ee8cc1Swenshuai.xi 214*53ee8cc1Swenshuai.xi // OBSOLETE FUNCTION POINTER END 215*53ee8cc1Swenshuai.xi 216*53ee8cc1Swenshuai.xi typedef struct 217*53ee8cc1Swenshuai.xi { 218*53ee8cc1Swenshuai.xi MS_U32 u32DeviceID; 219*53ee8cc1Swenshuai.xi #ifdef UTOPIA_20 220*53ee8cc1Swenshuai.xi IOCTL_HDMITX_INIT fpHDMITX_INIT; 221*53ee8cc1Swenshuai.xi IOCTL_HDMITX_EXIT fpHDMITX_EXIT; 222*53ee8cc1Swenshuai.xi IOCTL_HDMITX_TUNRONOFF fpHDMITX_TUNRONOFF; 223*53ee8cc1Swenshuai.xi IOCTL_HDMITX_ENABLEPACKETGEN fpHDMITX_ENABLEPACKETGEN; 224*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETHDMITXMODE fpHDMITX_SETHDMITXMODE; 225*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETHDMITXMODE_CD fpHDMITX_SETHDMITXMODE_CD; 226*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETTMDSONOFF fpHDMITX_SETTMDSONOFF; 227*53ee8cc1Swenshuai.xi IOCTL_HDMITX_DISABLETMDSCTRL fpHDMITX_DISABLETMDSCTRL; 228*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETRBCHANNELSWAP fpHDMITX_SETRBCHANNELSWAP; 229*53ee8cc1Swenshuai.xi IOCTL_HDMITX_EXHIBIT fpHDMITX_EXHIBIT; 230*53ee8cc1Swenshuai.xi 231*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETRXSTATUS fpHDMITX_GETRXSTATUS; 232*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETRXDCINFOFROMEDID fpHDMITX_GETRXDCINFOFROMEDID; 233*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETRXVIDEOFORMATFROMEDID fpHDMITX_GETRXVIDEOFORMATFROMEDID; 234*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETVICLISTFROMEDID fpHDMITX_GETVICLISTFROMEDID; 235*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETDATABLOCKLENGTHFROMEDID fpHDMITX_GETDATABLOCKLENGTHFROMEDID; 236*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETCOLORFORMATFROMEDID fpHDMITX_GETCOLORFORMATFROMEDID; 237*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETRXAUDIOFORMATFROMEDID fpHDMITX_GETRXAUDIOFORMATFROMEDID; 238*53ee8cc1Swenshuai.xi IOCTL_HDMITX_EDID_HDMISUPPORT fpHDMITX_EDID_HDMISUPPORT; 239*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETRXIDMANUFACTURERNAME fpHDMITX_GETRXIDMANUFACTURERNAME; 240*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETEDIDDATA fpHDMITX_GETEDIDDATA; 241*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETRX3DSTRUCTUREFROMEDID fpHDMITX_GETRX3DSTRUCTUREFROMEDID; 242*53ee8cc1Swenshuai.xi IOCTL_HDMITX_PKT_USER_DEFINE_CLEAR fpHDMITX_PKT_USER_DEFINE_CLEAR; 243*53ee8cc1Swenshuai.xi 244*53ee8cc1Swenshuai.xi IOCTL_HDMITX_PKT_USER_DEFINE fpHDMITX_PKT_USER_DEFINE; 245*53ee8cc1Swenshuai.xi IOCTL_HDMITX_PKT_CONTENT_DEFINE fpHDMITX_PKT_CONTENT_DEFINE; 246*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETVIDEOONOFF fpHDMITX_SETVIDEOONOFF; 247*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETCOLORFORMAT fpHDMITX_SETCOLORFORMAT; 248*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SET_VS_INFOFRAME fpHDMITX_SET_VS_INFOFRAME; 249*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETVIDEOOUTPUTTIMING fpHDMITX_SETVIDEOOUTPUTTIMING; 250*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETVIDEOOUTPUTASEPECTRATIO fpHDMITX_SETVIDEOOUTPUTASEPECTRATIO; 251*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETVIDEOOUTPUTOVERSCAN_AFD fpHDMITX_SETVIDEOOUTPUTOVERSCAN_AFD; 252*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETAUDIOONOFF fpHDMITX_SETAUDIOONOFF; 253*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETAUDIOFREQUENCY fpHDMITX_SETAUDIOFREQUENCY; 254*53ee8cc1Swenshuai.xi 255*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETVIDEOOUTPUTOVERSCAN_AFD_II fpHDMITX_SETVIDEOOUTPUTOVERSCAN_AFD_II; 256*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETAUDIOCONFIGURATION fpHDMITX_SETAUDIOCONFIGURATION; 257*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETAUDIOSOURCEFORMAT fpHDMITX_SETAUDIOSOURCEFORMAT; 258*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETAVIINFOEXTCOLORIMETRY fpHDMITX_SETAVIINFOCOLORIMETRY; 259*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETAUDIOCTS fpHDMITX_GETAUDIOCTS; 260*53ee8cc1Swenshuai.xi IOCTL_HDMITX_MUTEAUDIOFIFO fpHDMITX_MUTEAUDIOFIFO; 261*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETHDCPKEY fpHDMITX_GETHDCPKEY; 262*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETBKSV fpHDMITX_GETBKSV; 263*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETAKSV fpHDMITX_GETAKSV; 264*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETHDCPONOFF fpHDMITX_SETHDCPONOFF; 265*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETAVMUTE fpHDMITX_SETAVMUTE; 266*53ee8cc1Swenshuai.xi 267*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETAVMUTESTATUS fpHDMITX_GETAVMUTESTATUS; 268*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCP_REVOCATIONKEY_LIST fpHDMITX_HDCP_REVOCATIONKEY_LIST; 269*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCP_REVOCATIONKEY_CHECK fpHDMITX_HDCP_REVOCATIONKEY_CHECK; 270*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCP_ISSRMSIGNATUREVALID fpHDMITX_HDCP_ISSRMSIGNATUREVALID; 271*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETHDCPSTATUS fpHDMITX_GETHDCPSTATUS; 272*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCP_STARTAUTH fpHDMITX_HDCP_STARTAUTH; 273*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETINTHDCPSTATUS fpHDMITX_GETINTHDCPSTATUS; 274*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETHDCP_PRESTATUS fpHDMITX_GETHDCP_PRESTATUS; 275*53ee8cc1Swenshuai.xi IOCTL_HDMITX_UNHDCPRXCONTROL fpHDMITX_UNHDCPRXCONTROL; 276*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCPRXFAILCONTROL fpHDMITX_HDCPRXFAILCONTROL; 277*53ee8cc1Swenshuai.xi 278*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETLIBVER fpHDMITX_GETLIBVER; 279*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETINFO fpHDMITX_GETINFO; 280*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETSTATUS fpHDMITX_GETSTATUS; 281*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETDBGLEVEL fpHDMITX_SETDBGLEVEL; 282*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETHPDGPIOPIN fpHDMITX_SETHPDGPIOPIN; 283*53ee8cc1Swenshuai.xi IOCTL_HDMITX_ANALOGTUNING fpHDMITX_ANALOGTUNING; 284*53ee8cc1Swenshuai.xi IOCTL_HDMITX_FORCEHDMIOUTPUTMODE fpHDMITX_FORCEHDMIOUTPUTMODE; 285*53ee8cc1Swenshuai.xi IOCTL_HDMITX_FORCEHDMIOUTPUTCOLORFORMAT fpHDMITX_FORCEHDMIOUTPUTCOLORFORMAT; 286*53ee8cc1Swenshuai.xi IOCTL_HDMITX_DISABLEREGWRITE fpHDMITX_DISABLEREGWRITE; 287*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETEDIDPHYADR fpHDMITX_GETEDIDPHYADR; 288*53ee8cc1Swenshuai.xi 289*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETCECONOFF fpHDMITX_SETCECONOFF; 290*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETCECSTATUS fpHDMITX_GETCECSTATUS; 291*53ee8cc1Swenshuai.xi IOCTL_HDMITX_EDIDCHECKING fpHDMITX_EDIDCHECKING; 292*53ee8cc1Swenshuai.xi IOCTL_HDMITX_RXBYPASS_MODE fpHDMITX_RXBYPASS_MODE; 293*53ee8cc1Swenshuai.xi IOCTL_HDMITX_DISABLE_RXBYPASS fpHDMITX_DISABLE_RXBYPASS; 294*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETAKSV2R0INTERVAL fpHDMITX_SETAKSV2R0INTERVAL; 295*53ee8cc1Swenshuai.xi IOCTL_HDMITX_ISRXVALID fpHDMITX_ISRXVALID; 296*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETCHIPCAPS fpHDMITX_GETCHIPCAPS; 297*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETPOWERSTATE fpHDMITX_SETPOWERSTATE; 298*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETEDIDDATABLOCK fpHDMITX_GETEDIDDATABLOCK; 299*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GETKSVLIST fpHDMITX_GETKSVLIST; 300*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCP2ACCESSX74OFFSET fpHDMITX_HDCP2ACCESSX74OFFSET; 301*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCP2TxInit fpHDMITx_HDCP2TxInit; 302*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCP2TxEnableEncrypt fpHDMITx_HDCP2TxEnableEncrypt; 303*53ee8cc1Swenshuai.xi IOCTL_HDMITX_HDCP2TxFillCipherKey fpHDMITx_HDCP2TxFillCipherKey; 304*53ee8cc1Swenshuai.xi IOCTL_HDMITX_GENERALCTRL fpHDMITx_GeneralCtrl; 305*53ee8cc1Swenshuai.xi IOCTL_HDMITX_CMD_COLOR_AND_RANGE_TRANSFORM fpHDMITx_Cmd_ColorAndRangeTransform; 306*53ee8cc1Swenshuai.xi IOCTL_HDMITX_CMD_SSC_ENABLE fpHDMITx_Cmd_SSCEnable; 307*53ee8cc1Swenshuai.xi IOCTL_HDMITX_CMD_SET_COLORIMETRY fpHDMITx_Cmd_Set_Colorimetry; 308*53ee8cc1Swenshuai.xi IOCTL_HDMITX_CMD_GET_FULL_RX_STATUS fpHDMITx_Cmd_Get_Full_Rx_Status; 309*53ee8cc1Swenshuai.xi IOCTL_HDMITX_CMD_TIMING_CAPABILITY_CHECK fpHDMITx_Cmd_Timing_Capability_Check; 310*53ee8cc1Swenshuai.xi IOCTL_HDMITX_CMD_GET_TMDS_STATUS fpHDMITx_Cmd_Get_TMDS_Status; 311*53ee8cc1Swenshuai.xi IOCTL_HDMITX_SETVIDEOOUTPUTTIMINGBYCUSTOMER fpHDMITX_SETVIDEOOUTPUTTIMINGBYCUSTOMER; 312*53ee8cc1Swenshuai.xi 313*53ee8cc1Swenshuai.xi #if defined(VANCLEEF_MCP) || defined(RAPTORS_MCP) 314*53ee8cc1Swenshuai.xi IOCTL_HDMITX_VANCLEEF_LOADHDCPKEY fpHDMITX_VANCLEEF_LOADHDCPKEY; 315*53ee8cc1Swenshuai.xi #endif 316*53ee8cc1Swenshuai.xi #endif 317*53ee8cc1Swenshuai.xi // OBSOLETE FUNCTION POINTER START 318*53ee8cc1Swenshuai.xi // avoid using these functions pointers!!!! 319*53ee8cc1Swenshuai.xi }HDMITX_INSTANCE_PRIVATE; 320*53ee8cc1Swenshuai.xi 321*53ee8cc1Swenshuai.xi 322*53ee8cc1Swenshuai.xi 323*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_Init_U2(void *pInstance); 324*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_Exit_U2(void *pInstance); 325*53ee8cc1Swenshuai.xi void MApi_HDMITx_TurnOnOff_U2(void *pInstance, MS_BOOL state); 326*53ee8cc1Swenshuai.xi void MApi_HDMITx_EnablePacketGen_U2(void *pInstance, MS_BOOL bflag); 327*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetHDMITxMode_U2(void *pInstance, HDMITX_OUTPUT_MODE mode); 328*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetHDMITxMode_CD_U2(void *pInstance, HDMITX_OUTPUT_MODE mode, HDMITX_VIDEO_COLORDEPTH_VAL val); 329*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetTMDSOnOff_U2(void *pInstance, MS_BOOL state); 330*53ee8cc1Swenshuai.xi void MApi_HDMITx_DisableTMDSCtrl_U2(void *pInstance, MS_BOOL bFlag); 331*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetRBChannelSwap_U2(void *pInstance, MS_BOOL state); 332*53ee8cc1Swenshuai.xi void MApi_HDMITx_Exhibit_U2(void *pInstance); 333*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxStatus_U2(void); 334*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxDCInfoFromEDID_U2(void *pInstance, HDMITX_VIDEO_COLORDEPTH_VAL *val); 335*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxVideoFormatFromEDID_U2(void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize); 336*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetVICListFromEDID_U2(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize); 337*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetDataBlockLengthFromEDID_U2(void *pInstance, MS_U8 *pu8Length, MS_U8 u8TagCode); 338*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxAudioFormatFromEDID_U2(void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize); 339*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_EDID_HDMISupport_U2(void *pInstance, MS_BOOL *HDMI_Support); 340*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxIDManufacturerName_U2(void *pInstance, MS_U8 *pu8Buffer); 341*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetEDIDData_U2(void *pInstance, MS_U8 *pu8Buffer, MS_BOOL BlockIdx); 342*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRx3DStructureFromEDID_U2(void *pInstance, HDMITX_VIDEO_TIMING timing, HDMITX_EDID_3D_STRUCTURE_ALL *p3DStructure); 343*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetColorFormatFromEDID_U2(void* pInstance, HDMITX_VIDEO_TIMING timing, HDMITX_EDID_COLOR_FORMAT *pColorFmt); 344*53ee8cc1Swenshuai.xi void MApi_HDMITx_PKT_User_Define_Clear_U2(void *pInstance); 345*53ee8cc1Swenshuai.xi void MApi_HDMITx_PKT_User_Define_U2(void *pInstance, HDMITX_PACKET_TYPE packet_type, MS_BOOL def_flag, HDMITX_PACKET_PROCESS def_process, MS_U8 def_fcnt); 346*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_PKT_Content_Define_U2(void *pInstance, HDMITX_PACKET_TYPE packet_type, MS_U8 *data, MS_U8 length); 347*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOnOff_U2(void *pInstance, MS_BOOL state); 348*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetColorFormat_U2(void *pInstance, HDMITX_VIDEO_COLOR_FORMAT in_color, HDMITX_VIDEO_COLOR_FORMAT out_color); 349*53ee8cc1Swenshuai.xi void MApi_HDMITx_Set_VS_InfoFrame_U2(void *pInstance, HDMITX_VIDEO_VS_FORMAT vs_format, HDMITX_VIDEO_3D_STRUCTURE vs_3d, HDMITX_VIDEO_4k2k_VIC vs_vic); 350*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputTiming_U2(void *pInstance, HDMITX_VIDEO_TIMING mode); 351*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputAsepctRatio_U2(void *pInstance, HDMITX_VIDEO_ASPECT_RATIO out_ar); 352*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputOverscan_AFD_U2(void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_SCAN_INFO out_scaninfo, MS_U8 out_afd); 353*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAudioOnOff_U2(void *pInstance, MS_BOOL state); 354*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAudioFrequency_U2(void *pInstance, HDMITX_AUDIO_FREQUENCY freq); 355*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputOverscan_AFD_II_U02(void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_SCAN_INFO out_scaninfo, MS_U8 out_afd, MS_U8 A0); 356*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAudioConfiguration_U2(void *pInstance, HDMITX_AUDIO_FREQUENCY freq, HDMITX_AUDIO_CHANNEL_COUNT ch, HDMITX_AUDIO_CODING_TYPE type); 357*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAudioSourceFormat_U2(void *pInstance, HDMITX_AUDIO_SOURCE_FORMAT fmt); 358*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_SetAVIInfoExtColorimetry_U2(void* pInstance, HDMITX_AVI_EXTENDED_COLORIMETRY enExtColorimetry, HDMITX_AVI_YCC_QUANT_RANGE enYccQuantRange); 359*53ee8cc1Swenshuai.xi MS_U32 MApi_HDMITx_GetAudioCTS_U2(void *pInstance); 360*53ee8cc1Swenshuai.xi void MApi_HDMITx_MuteAudioFIFO_U2(void *pInstance, MS_BOOL bflag); 361*53ee8cc1Swenshuai.xi void MApi_HDMITx_GetHdcpKey_U2(void *pInstance, MS_BOOL useinternalkey, MS_U8 *data); 362*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetBksv_U2(void *pInstance, MS_U8 *pdata); 363*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetAksv_U2(void *pInstance, MS_U8 *pdata); 364*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetHDCPOnOff_U2(void *pInstance, MS_BOOL state); 365*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAVMUTE_U2(void *pInstance, MS_BOOL bflag); 366*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetAVMUTEStatus_U2(void *pInstance); 367*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP_RevocationKey_List_U2(void *pInstance, MS_U8 *data, MS_U16 size); 368*53ee8cc1Swenshuai.xi HDMITX_REVOCATION_STATE MApi_HDMITx_HDCP_RevocationKey_Check_U2(void *pInstance); 369*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_HDCP_IsSRMSignatureValid_U2(void *pInstance, MS_U8 *data, MS_U32 size); 370*53ee8cc1Swenshuai.xi HDMITX_HDCP_STATUS MApi_HDMITx_GetHDCPStatus_U2(void *pInstance); 371*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP_StartAuth_U2(void *pInstance, MS_BOOL bFlag); 372*53ee8cc1Swenshuai.xi HDMITX_INT_HDCP_STATUS MApi_HDMITx_GetINTHDCPStatus_U2(void *pInstance); 373*53ee8cc1Swenshuai.xi HDMITX_INT_HDCP_STATUS MApi_HDMITx_GetHDCP_PreStatus_U2(void *pInstance); 374*53ee8cc1Swenshuai.xi void MApi_HDMITx_UnHDCPRxControl_U2(void *pInstance, HDMITX_UNHDCPRX_CONTROL state); 375*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCPRxFailControl_U2(void *pInstance, HDMITX_HDCPRXFail_CONTROL state); 376*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetLibVer_U2(void *pInstance, const MSIF_Version **ppVersion); 377*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetInfo_U2(void *pInstance, HDMI_TX_INFO *pInfo); 378*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetStatus_U2(void *pInstance, HDMI_TX_Status *pStatus); 379*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_SetDbgLevel_U2(MS_U16 u16DbgSwitch); 380*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetHPDGpioPin_U2(void *pInstance, MS_U8 u8pin); 381*53ee8cc1Swenshuai.xi void MApi_HDMITx_AnalogTuning_U2(void *pInstance, HDMITX_ANALOG_TUNING *pInfo); 382*53ee8cc1Swenshuai.xi void MApi_HDMITx_ForceHDMIOutputMode_U2(void *pInstance, MS_BOOL bflag, HDMITX_OUTPUT_MODE output_mode); 383*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_ForceHDMIOutputColorFormat_U2(void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_COLOR_FORMAT output_color); 384*53ee8cc1Swenshuai.xi void MApi_HDMITx_DisableRegWrite_U2(void *pInstance, MS_BOOL bFlag); 385*53ee8cc1Swenshuai.xi void MApi_HDMITx_GetEDIDPhyAdr_U2(void *pInstance, MS_U8 *pdata); 386*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetCECOnOff_U2(void *pInstance, MS_BOOL bflag); 387*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetCECStatus_U2(void *pInstance); 388*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_EdidChecking_U2(void *pInstance); 389*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_RxBypass_Mode_U2(void *pInstance, HDMITX_INPUT_FREQ freq, MS_BOOL bflag); 390*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_Disable_RxBypass_U2(void *pInstance); 391*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_SetAksv2R0Interval_U2(void *pInstance, MS_U32 u32Interval); 392*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_IsHDCPRxValid_U2(void *pInstance); 393*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetChipCaps_U2(void *pInstance, EN_HDMITX_CAPS eCapType, MS_U32* pRet, MS_U32 ret_size); 394*53ee8cc1Swenshuai.xi MS_U32 MApi_HDMITx_SetPowerState_U2(void *pInstance, EN_POWER_MODE u16PowerState); 395*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetEdidDataBlocks_U2(void* pInstance, HDMITX_CEA_DB_TAG_CODE enTagCode, HDMITX_CEA_EXT_TAG_CODE enExtTagCode, MS_U8* pu8Data, MS_U32 u32DataLen, MS_U32* pu32RealLen); 396*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetKSVList_U2(void* pInstance, MS_U8 *pu8Bstatus, MS_U8* pu8KSVList, MS_U16 u16BufLen, MS_U16 *pu16KSVLength); 397*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_HDCP2AccessX74_U2(void* pInstance, MS_U8 u8PortIdx, MS_U8 u8OffsetAddr, MS_U8 u8OpCode, MS_U8 *pu8RdBuf, MS_U16 u16RdLen, MS_U8 *pu8WRBuff, MS_U16 u16WrLen); 398*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP2TxInit_U2(void *pInstance, MS_U8 u8PortIdx, MS_BOOL bEnable); 399*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP2TxEnableEncrypt_U2(void *pInstance, MS_U8 u8PortIdx, MS_BOOL bEnable); 400*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP2TxFillCipherKey_U2(void *pInstance, MS_U8 u8PortIdx, MS_U8 *pu8Riv, MS_U8 *pu8KsXORLC128); 401*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GeneralCtrl_U2(void* pInstance, MS_U32 u32Cmd, MS_U8* pu8Buf, MS_U32 u32BufSize); 402*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_ColorandRange_Transform_U2(void* pInstance, HDMITX_VIDEO_COLOR_FORMAT incolor, HDMITX_VIDEO_COLOR_FORMAT outcolor, HDMITX_QUANT_RANGE inange, HDMITX_QUANT_RANGE outrange); 403*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_SSC_Enable_U2(void* pInstance, MS_U8 ubSSCEn); 404*53ee8cc1Swenshuai.xi MS_U8 MApi_HDMITx_SetAVIInfoColorimetry_U2(void* pInstance, HDMITX_AVI_COLORIMETRY enColorimetry); 405*53ee8cc1Swenshuai.xi MS_U32 MApi_HDMITx_GetFullRxStatus_U2(void* pInstance); 406*53ee8cc1Swenshuai.xi HDMITX_TIMING_ERROR MApi_HDMITx_CheckLegalTiming_U2(void* pInstance, HDMITX_OUTPUT_MODE eOutputMode, HDMITX_VIDEO_TIMING idx, HDMITX_VIDEO_COLOR_FORMAT incolor_fmt, HDMITX_VIDEO_COLOR_FORMAT outcolor_fmt, HDMITX_VIDEO_COLORDEPTH_VAL color_depth); 407*53ee8cc1Swenshuai.xi MS_U32 MApi_HDMITx_GetTMDSStatus_U2(void* pInstance); 408*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputTimingByCustomer_U2(void* pInstance, HDMITX_VIDEO_TIMING u8Mode, HDMITX_TIMING_INFO_BY_CUSTOMER stTiminginfo); 409*53ee8cc1Swenshuai.xi 410*53ee8cc1Swenshuai.xi #if defined(VANCLEEF_MCP) || defined(RAPTORS_MCP) 411*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_Vancleef_LoadHDCPKey_U2(void *pInstance, MS_U8* pu8HdcpKey, MS_U32 u32Size); 412*53ee8cc1Swenshuai.xi #endif 413*53ee8cc1Swenshuai.xi 414*53ee8cc1Swenshuai.xi 415*53ee8cc1Swenshuai.xi 416*53ee8cc1Swenshuai.xi //internal use only 417*53ee8cc1Swenshuai.xi MS_U32 _HDMITX_GET_DEVICE_NUM(void); 418*53ee8cc1Swenshuai.xi 419*53ee8cc1Swenshuai.xi void HDMITXRegisterToUtopia(FUtopiaOpen ModuleType); 420*53ee8cc1Swenshuai.xi MS_U32 HDMITXOpen(void** ppInstance, const void* const pAttribute); 421*53ee8cc1Swenshuai.xi MS_U32 HDMITXClose(void* pInstance); 422*53ee8cc1Swenshuai.xi MS_U32 HDMITXIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs); 423*53ee8cc1Swenshuai.xi 424*53ee8cc1Swenshuai.xi #ifdef CONFIG_UTOPIA_PROC_DBG_SUPPORT 425*53ee8cc1Swenshuai.xi MS_U32 HDMITXMdbIoctl(MS_U32 cmd, const void* const pArgs); 426*53ee8cc1Swenshuai.xi #endif 427*53ee8cc1Swenshuai.xi 428*53ee8cc1Swenshuai.xi #ifdef __cplusplus 429*53ee8cc1Swenshuai.xi } 430*53ee8cc1Swenshuai.xi #endif 431*53ee8cc1Swenshuai.xi 432*53ee8cc1Swenshuai.xi #undef _API_HDMITX_PRIV_H_ 433*53ee8cc1Swenshuai.xi #endif // _API_ACE_PRIV_H_ 434*53ee8cc1Swenshuai.xi 435