#ifndef __DRV_MP_INTERFACE_H__ #define __DRV_MP_INTERFACE_H__ #include "drv_types.h" /** * AP uses following definitions to create ioctl data */ typedef struct __MP_PARAMETER { UINT8 bDbgLog; UINT32 mp_cmdbuf_size; UINT32 mp_pcmbuf_size; UINT32 mp_decbuf_size; UINT32 mp_ad_cmdbuf_size; union { UINT32 mp_enc_inbuf_size; UINT32 mp_extlibbuf_size; }; union { UINT32 mp_enc_outbuf_size; UINT32 mp_extlibbuf_kbase; }; UINT32 mp_extra_pcmbuf_size; /* Kernel space addresses */ UINT32 mp_cmdbuf_kbase; UINT32 mp_pcmbuf_kbase; UINT32 mp_decbuf_kbase; UINT32 mp_ad_cmdbuf_kbase; UINT32 mp_extra_pcmbuf_kbase; union{ UINT32 reserved; struct { UINT32 mp_use_MultiPcmBuf_flag:1; UINT32 reset:31; }; }; } MP_PARAMETER, *pMP_PARAMETER; /** * Mute Control Structure used in IOCTL */ typedef enum { POWERON, POWEROFF, AUDIO_SOURCE_CHANGE, ATV_AUDIO_SET_CHANNEL, ATV_MTS, DTV_SET_CHANNEL, DTV_MTS, AUDIO_RC_HOTKEY_MUTE_UNMUTE, AUDIO_OUTPUT_SPEAKER_SELECT, AUDIO_INTERNAL_SPEAKER_ON_OFF, AUDIO_EXTERNAL_SPEAKER_ON_OFF, VOLUME_ADJUST, BLANCE_ADJUST, SRS_ON_OFF, SIS_AUDIO_EFFECT_ON_OFF, EQ_SETTING, HDMI_AUDIO_INPUT, VCHIP_ON_OFF, SIF_AVC, HEADPHONE_STATUS } MP_AUDIO_ACT; typedef enum { MC_OK, MC_MUTED, MC_UMUTED, MC_TRYAGAIN, MC_ERROR } MP_AUDIOCONTROL_STATUS; typedef struct __MP_AUDIOCONTROL_CTL { MP_AUDIO_ACT action; MP_AUDIOCONTROL_STATUS status; } MP_AUDIOCONTROL_CTL, *pMP_AUDIOCONTROL_CTL; typedef struct __DDCMDQ { UINT8 bytes[32]; } DDCMDQ; #define MP_DEV_NAME "/dev/audiomp" #define MP_MAGIC 'j' enum { MPIOC_IDX_GET_MPSTATUS, MPIOC_IDX_AUDIOCONTROL, MPIOC_IDX_SET_DDP_SETTING, MPIOC_IDX_GET_PRE_DDP_SETTING, MPIOC_IDX_GET_DEC_STATUS, MPIOC_IDX_READ_CMDQ_STATUS, MPIOC_IDX_CAN_CONSUME_DATA, MPIOC_IDX_IS_AUDIO_UNDERRUN, MPIOC_IDX_GET_PARAMETER, MPIOC_IDX_GET_TIMESTAMP, MPIOC_IDX_SET_DELTA, MPIOC_IDX_SET_PCM_DESP_NUM, MPIOC_IDX_MAPPING_PCMBLK_ADDR, MPIOC_IDX_FROCE_EXIT, MPIOC_IDX_DROP_DATA_BY_VPTS, MPIOC_IDX_SET_AD_AUDIO, MPIOC_IDX_GET_BUFFER_CAPACITY, MPIOC_IDX_GET_CODEC_FREATURE, MPIOC_IDX_IS_MIRACAST, #ifdef CONFIG_RUNAV_FINETUNE_SKIPREPEAT MPIOC_IDX_ENABLE_VPTS_AS_STC_BASE, #endif MPIOC_IDX_SET_LINK_AUTO_FLUSH, MPIOC_IDX_MAX, }; #define MPDRV_GET_MPSTATUS _IOWR(MP_MAGIC,MPIOC_IDX_GET_MPSTATUS,MP_STATUS) #define MPDRV_AUDIOCONTROL _IOWR(MP_MAGIC,MPIOC_IDX_AUDIOCONTROL,MP_AUDIOCONTROL_CTL) #define MPDRV_SETDDPINFO _IOW(MP_MAGIC,MPIOC_IDX_SET_DDP_SETTING,DDCMDQ) #define MPDRV_GETDDPINFO _IOR(MP_MAGIC,MPIOC_IDX_GET_PRE_DDP_SETTING,DDCMDQ) #define MPDRV_READ_CMDQ_STATUS _IOR(MP_MAGIC,MPIOC_IDX_READ_CMDQ_STATUS,INT32) #define MPDRV_CAN_CONSUME_DATA _IOWR(MP_MAGIC,MPIOC_IDX_CAN_CONSUME_DATA,UINT32) #define MPDRV_IS_AUDIO_UNDERRUN _IOR(MP_MAGIC,MPIOC_IDX_IS_AUDIO_UNDERRUN,UINT32) #define MPDRV_GET_PARAMETER _IOR(MP_MAGIC,MPIOC_IDX_GET_PARAMETER,MP_PARAMETER) #define MPDRV_GET_TIMESTAMP _IOR(MP_MAGIC,MPIOC_IDX_GET_TIMESTAMP,UINT32) #define MPDRV_SET_DELTA _IOW(MP_MAGIC,MPIOC_IDX_SET_DELTA,UINT32) #define MPDRV_SET_PCM_DESP_NUM _IOW(MP_MAGIC,MPIOC_IDX_SET_PCM_DESP_NUM,UINT32) #define MPDRV_MAPPING_PCMBLK_ADDR _IOW(MP_MAGIC,MPIOC_IDX_MAPPING_PCMBLK_ADDR,UINT32) #define MPDRV_FORCE_EXIT _IOW(MP_MAGIC,MPIOC_IDX_FROCE_EXIT,UINT32) #define MPDRV_DROP_DATA_BY_VPTS _IOW(MP_MAGIC,MPIOC_IDX_DROP_DATA_BY_VPTS,UINT32) #define MPDRV_SET_AD_AUDIO _IOW(MP_MAGIC,MPIOC_IDX_SET_AD_AUDIO,unsigned char) #define MPDRV_GET_BUFFER_CAPACITY _IOWR(MP_MAGIC,MPIOC_IDX_GET_BUFFER_CAPACITY,UINT32) #define MPDRV_GET_CODEC_FREATURE _IOR(MP_MAGIC,MPIOC_IDX_GET_CODEC_FREATURE,UINT32) #define MPDRV_IS_MIRACAST _IOW(MP_MAGIC,MPIOC_IDX_IS_MIRACAST,UINT32) #ifdef CONFIG_RUNAV_FINETUNE_SKIPREPEAT #define MPDRV_ENABLE_VPTS_AS_STC_BASE _IOW(MP_MAGIC,MPIOC_IDX_ENABLE_VPTS_AS_STC_BASE,UINT32) #endif #define MPDRV_SET_LINK_AUTO_FLUSH _IOW(MP_MAGIC,MPIOC_IDX_SET_LINK_AUTO_FLUSH,unsigned int) /** * MP DRIVER INTERFACE **/ #endif /* __DRV_MP_INTERFACE_H__*/