Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _UAPI_MSM_AUDIO_MVS_H
     20 #define _UAPI_MSM_AUDIO_MVS_H
     21 #include <linux/msm_audio.h>
     22 #define AUDIO_GET_MVS_CONFIG _IOW(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM + 0), unsigned)
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define AUDIO_SET_MVS_CONFIG _IOR(AUDIO_IOCTL_MAGIC, (AUDIO_MAX_COMMON_IOCTL_NUM + 1), unsigned)
     25 #define MVS_MODE_IS733 0x1
     26 #define MVS_MODE_IS127 0x2
     27 #define MVS_MODE_4GV_NB 0x3
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define MVS_MODE_4GV_WB 0x4
     30 #define MVS_MODE_AMR 0x5
     31 #define MVS_MODE_EFR 0x6
     32 #define MVS_MODE_FR 0x7
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define MVS_MODE_HR 0x8
     35 #define MVS_MODE_LINEAR_PCM 0x9
     36 #define MVS_MODE_G711 0xA
     37 #define MVS_MODE_PCM 0xC
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define MVS_MODE_AMR_WB 0xD
     40 #define MVS_MODE_G729A 0xE
     41 #define MVS_MODE_G711A 0xF
     42 #define MVS_MODE_G722 0x10
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define MVS_MODE_PCM_WB 0x12
     45 enum msm_audio_amr_mode {
     46   MVS_AMR_MODE_0475,
     47   MVS_AMR_MODE_0515,
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49   MVS_AMR_MODE_0590,
     50   MVS_AMR_MODE_0670,
     51   MVS_AMR_MODE_0740,
     52   MVS_AMR_MODE_0795,
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54   MVS_AMR_MODE_1020,
     55   MVS_AMR_MODE_1220,
     56   MVS_AMR_MODE_0660,
     57   MVS_AMR_MODE_0885,
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59   MVS_AMR_MODE_1265,
     60   MVS_AMR_MODE_1425,
     61   MVS_AMR_MODE_1585,
     62   MVS_AMR_MODE_1825,
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64   MVS_AMR_MODE_1985,
     65   MVS_AMR_MODE_2305,
     66   MVS_AMR_MODE_2385,
     67   MVS_AMR_MODE_UNDEF
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 };
     70 enum msm_audio_voc_rate {
     71   MVS_VOC_0_RATE,
     72   MVS_VOC_8_RATE,
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74   MVS_VOC_4_RATE,
     75   MVS_VOC_2_RATE,
     76   MVS_VOC_1_RATE,
     77   MVS_VOC_ERASURE,
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79   MVS_VOC_RATE_MAX,
     80   MVS_VOC_RATE_UNDEF = MVS_VOC_RATE_MAX
     81 };
     82 enum msm_audio_amr_frame_type {
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84   MVS_AMR_SPEECH_GOOD,
     85   MVS_AMR_SPEECH_DEGRADED,
     86   MVS_AMR_ONSET,
     87   MVS_AMR_SPEECH_BAD,
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89   MVS_AMR_SID_FIRST,
     90   MVS_AMR_SID_UPDATE,
     91   MVS_AMR_SID_BAD,
     92   MVS_AMR_NO_DATA,
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94   MVS_AMR_SPEECH_LOST
     95 };
     96 enum msm_audio_g711a_mode {
     97   MVS_G711A_MODE_MULAW,
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99   MVS_G711A_MODE_ALAW
    100 };
    101 enum msm_audio_g711_mode {
    102   MVS_G711_MODE_MULAW,
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104   MVS_G711_MODE_ALAW
    105 };
    106 enum mvs_g722_mode_type {
    107   MVS_G722_MODE_01,
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109   MVS_G722_MODE_02,
    110   MVS_G722_MODE_03,
    111   MVS_G722_MODE_MAX,
    112   MVS_G722_MODE_UNDEF
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 };
    115 enum msm_audio_g711a_frame_type {
    116   MVS_G711A_SPEECH_GOOD,
    117   MVS_G711A_SID,
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119   MVS_G711A_NO_DATA,
    120   MVS_G711A_ERASURE
    121 };
    122 enum msm_audio_g729a_frame_type {
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124   MVS_G729A_NO_DATA,
    125   MVS_G729A_SPEECH_GOOD,
    126   MVS_G729A_SID,
    127   MVS_G729A_ERASURE
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 };
    130 struct min_max_rate {
    131   uint32_t min_rate;
    132   uint32_t max_rate;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 };
    135 struct msm_audio_mvs_config {
    136   uint32_t mvs_mode;
    137   uint32_t rate_type;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139   struct min_max_rate min_max_rate;
    140   uint32_t dtx_mode;
    141 };
    142 #define MVS_MAX_VOC_PKT_SIZE 640
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 struct gsm_header {
    145   uint8_t bfi;
    146   uint8_t sid;
    147   uint8_t taf;
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149   uint8_t ufi;
    150 };
    151 struct q6_msm_audio_mvs_frame {
    152   union {
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154     uint32_t frame_type;
    155     uint32_t packet_rate;
    156     struct gsm_header gsm_frame_type;
    157   } header;
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159   uint32_t len;
    160   uint8_t voc_pkt[MVS_MAX_VOC_PKT_SIZE];
    161 };
    162 struct msm_audio_mvs_frame {
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164   uint32_t frame_type;
    165   uint32_t len;
    166   uint8_t voc_pkt[MVS_MAX_VOC_PKT_SIZE];
    167 };
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define Q5V2_MVS_MAX_VOC_PKT_SIZE 320
    170 struct q5v2_msm_audio_mvs_frame {
    171   uint32_t frame_type;
    172   uint32_t len;
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174   uint8_t voc_pkt[Q5V2_MVS_MAX_VOC_PKT_SIZE];
    175 };
    176 #endif
    177 
    178