drv_mp_interface.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. #ifndef __DRV_MP_INTERFACE_H__
  2. #define __DRV_MP_INTERFACE_H__
  3. #include "drv_types.h"
  4. /**
  5. * AP uses following definitions to create ioctl data
  6. */
  7. typedef struct __MP_PARAMETER
  8. {
  9. UINT8 bDbgLog;
  10. UINT32 mp_cmdbuf_size;
  11. UINT32 mp_pcmbuf_size;
  12. UINT32 mp_decbuf_size;
  13. UINT32 mp_ad_cmdbuf_size;
  14. union
  15. {
  16. UINT32 mp_enc_inbuf_size;
  17. UINT32 mp_extlibbuf_size;
  18. };
  19. union
  20. {
  21. UINT32 mp_enc_outbuf_size;
  22. UINT32 mp_extlibbuf_kbase;
  23. };
  24. UINT32 mp_extra_pcmbuf_size;
  25. /* Kernel space addresses */
  26. UINT32 mp_cmdbuf_kbase;
  27. UINT32 mp_pcmbuf_kbase;
  28. UINT32 mp_decbuf_kbase;
  29. UINT32 mp_ad_cmdbuf_kbase;
  30. UINT32 mp_extra_pcmbuf_kbase;
  31. union{
  32. UINT32 reserved;
  33. struct
  34. {
  35. UINT32 mp_use_MultiPcmBuf_flag:1;
  36. UINT32 reset:31;
  37. };
  38. };
  39. } MP_PARAMETER, *pMP_PARAMETER;
  40. /**
  41. * Mute Control Structure used in IOCTL
  42. */
  43. typedef enum
  44. {
  45. POWERON,
  46. POWEROFF,
  47. AUDIO_SOURCE_CHANGE,
  48. ATV_AUDIO_SET_CHANNEL,
  49. ATV_MTS,
  50. DTV_SET_CHANNEL,
  51. DTV_MTS,
  52. AUDIO_RC_HOTKEY_MUTE_UNMUTE,
  53. AUDIO_OUTPUT_SPEAKER_SELECT,
  54. AUDIO_INTERNAL_SPEAKER_ON_OFF,
  55. AUDIO_EXTERNAL_SPEAKER_ON_OFF,
  56. VOLUME_ADJUST,
  57. BLANCE_ADJUST,
  58. SRS_ON_OFF,
  59. SIS_AUDIO_EFFECT_ON_OFF,
  60. EQ_SETTING,
  61. HDMI_AUDIO_INPUT,
  62. VCHIP_ON_OFF,
  63. SIF_AVC,
  64. HEADPHONE_STATUS
  65. } MP_AUDIO_ACT;
  66. typedef enum
  67. {
  68. MC_OK,
  69. MC_MUTED,
  70. MC_UMUTED,
  71. MC_TRYAGAIN,
  72. MC_ERROR
  73. } MP_AUDIOCONTROL_STATUS;
  74. typedef struct __MP_AUDIOCONTROL_CTL
  75. {
  76. MP_AUDIO_ACT action;
  77. MP_AUDIOCONTROL_STATUS status;
  78. } MP_AUDIOCONTROL_CTL, *pMP_AUDIOCONTROL_CTL;
  79. typedef struct __DDCMDQ
  80. {
  81. UINT8 bytes[32];
  82. } DDCMDQ;
  83. #define MP_DEV_NAME "/dev/audiomp"
  84. #define MP_MAGIC 'j'
  85. enum
  86. {
  87. MPIOC_IDX_GET_MPSTATUS,
  88. MPIOC_IDX_AUDIOCONTROL,
  89. MPIOC_IDX_SET_DDP_SETTING,
  90. MPIOC_IDX_GET_PRE_DDP_SETTING,
  91. MPIOC_IDX_GET_DEC_STATUS,
  92. MPIOC_IDX_READ_CMDQ_STATUS,
  93. MPIOC_IDX_CAN_CONSUME_DATA,
  94. MPIOC_IDX_IS_AUDIO_UNDERRUN,
  95. MPIOC_IDX_GET_PARAMETER,
  96. MPIOC_IDX_GET_TIMESTAMP,
  97. MPIOC_IDX_SET_DELTA,
  98. MPIOC_IDX_SET_PCM_DESP_NUM,
  99. MPIOC_IDX_MAPPING_PCMBLK_ADDR,
  100. MPIOC_IDX_FROCE_EXIT,
  101. MPIOC_IDX_DROP_DATA_BY_VPTS,
  102. MPIOC_IDX_SET_AD_AUDIO,
  103. MPIOC_IDX_GET_BUFFER_CAPACITY,
  104. MPIOC_IDX_GET_CODEC_FREATURE,
  105. MPIOC_IDX_IS_MIRACAST,
  106. #ifdef CONFIG_RUNAV_FINETUNE_SKIPREPEAT
  107. MPIOC_IDX_ENABLE_VPTS_AS_STC_BASE,
  108. #endif
  109. MPIOC_IDX_SET_LINK_AUTO_FLUSH,
  110. MPIOC_IDX_MAX,
  111. };
  112. #define MPDRV_GET_MPSTATUS _IOWR(MP_MAGIC,MPIOC_IDX_GET_MPSTATUS,MP_STATUS)
  113. #define MPDRV_AUDIOCONTROL _IOWR(MP_MAGIC,MPIOC_IDX_AUDIOCONTROL,MP_AUDIOCONTROL_CTL)
  114. #define MPDRV_SETDDPINFO _IOW(MP_MAGIC,MPIOC_IDX_SET_DDP_SETTING,DDCMDQ)
  115. #define MPDRV_GETDDPINFO _IOR(MP_MAGIC,MPIOC_IDX_GET_PRE_DDP_SETTING,DDCMDQ)
  116. #define MPDRV_READ_CMDQ_STATUS _IOR(MP_MAGIC,MPIOC_IDX_READ_CMDQ_STATUS,INT32)
  117. #define MPDRV_CAN_CONSUME_DATA _IOWR(MP_MAGIC,MPIOC_IDX_CAN_CONSUME_DATA,UINT32)
  118. #define MPDRV_IS_AUDIO_UNDERRUN _IOR(MP_MAGIC,MPIOC_IDX_IS_AUDIO_UNDERRUN,UINT32)
  119. #define MPDRV_GET_PARAMETER _IOR(MP_MAGIC,MPIOC_IDX_GET_PARAMETER,MP_PARAMETER)
  120. #define MPDRV_GET_TIMESTAMP _IOR(MP_MAGIC,MPIOC_IDX_GET_TIMESTAMP,UINT32)
  121. #define MPDRV_SET_DELTA _IOW(MP_MAGIC,MPIOC_IDX_SET_DELTA,UINT32)
  122. #define MPDRV_SET_PCM_DESP_NUM _IOW(MP_MAGIC,MPIOC_IDX_SET_PCM_DESP_NUM,UINT32)
  123. #define MPDRV_MAPPING_PCMBLK_ADDR _IOW(MP_MAGIC,MPIOC_IDX_MAPPING_PCMBLK_ADDR,UINT32)
  124. #define MPDRV_FORCE_EXIT _IOW(MP_MAGIC,MPIOC_IDX_FROCE_EXIT,UINT32)
  125. #define MPDRV_DROP_DATA_BY_VPTS _IOW(MP_MAGIC,MPIOC_IDX_DROP_DATA_BY_VPTS,UINT32)
  126. #define MPDRV_SET_AD_AUDIO _IOW(MP_MAGIC,MPIOC_IDX_SET_AD_AUDIO,unsigned char)
  127. #define MPDRV_GET_BUFFER_CAPACITY _IOWR(MP_MAGIC,MPIOC_IDX_GET_BUFFER_CAPACITY,UINT32)
  128. #define MPDRV_GET_CODEC_FREATURE _IOR(MP_MAGIC,MPIOC_IDX_GET_CODEC_FREATURE,UINT32)
  129. #define MPDRV_IS_MIRACAST _IOW(MP_MAGIC,MPIOC_IDX_IS_MIRACAST,UINT32)
  130. #ifdef CONFIG_RUNAV_FINETUNE_SKIPREPEAT
  131. #define MPDRV_ENABLE_VPTS_AS_STC_BASE _IOW(MP_MAGIC,MPIOC_IDX_ENABLE_VPTS_AS_STC_BASE,UINT32)
  132. #endif
  133. #define MPDRV_SET_LINK_AUTO_FLUSH _IOW(MP_MAGIC,MPIOC_IDX_SET_LINK_AUTO_FLUSH,unsigned int)
  134. /**
  135. * MP DRIVER INTERFACE
  136. **/
  137. #endif /* __DRV_MP_INTERFACE_H__*/