diff options
| author | Takashi Iwai <tiwai@suse.de> | 2011-03-18 02:39:08 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2011-03-18 02:39:08 -0400 |
| commit | d351cf4603edb2a5bfa9a48d06c425511c63f2a3 (patch) | |
| tree | b03ea3cfd3ca3974237563cf87328386c3d49ff1 /include | |
| parent | 433e8327caf9f7c0432b2f2f6684a5b79cfe18e9 (diff) | |
| parent | 4a122c10fbfe9020df469f0f669da129c5757671 (diff) | |
Merge branch 'topic/misc' into for-linus
Diffstat (limited to 'include')
| -rw-r--r-- | include/sound/ac97_codec.h | 5 | ||||
| -rw-r--r-- | include/sound/hdspm.h | 179 | ||||
| -rw-r--r-- | include/sound/mixer_oss.h | 3 | ||||
| -rw-r--r-- | include/sound/pcm.h | 91 | ||||
| -rw-r--r-- | include/sound/version.h | 2 |
5 files changed, 192 insertions, 88 deletions
diff --git a/include/sound/ac97_codec.h b/include/sound/ac97_codec.h index b602f475cdbb..f1dcefe4532b 100644 --- a/include/sound/ac97_codec.h +++ b/include/sound/ac97_codec.h | |||
| @@ -96,6 +96,10 @@ | |||
| 96 | #define AC97_FUNC_INFO 0x68 /* Function Information */ | 96 | #define AC97_FUNC_INFO 0x68 /* Function Information */ |
| 97 | #define AC97_SENSE_INFO 0x6a /* Sense Details */ | 97 | #define AC97_SENSE_INFO 0x6a /* Sense Details */ |
| 98 | 98 | ||
| 99 | /* volume controls */ | ||
| 100 | #define AC97_MUTE_MASK_MONO 0x8000 | ||
| 101 | #define AC97_MUTE_MASK_STEREO 0x8080 | ||
| 102 | |||
| 99 | /* slot allocation */ | 103 | /* slot allocation */ |
| 100 | #define AC97_SLOT_TAG 0 | 104 | #define AC97_SLOT_TAG 0 |
| 101 | #define AC97_SLOT_CMD_ADDR 1 | 105 | #define AC97_SLOT_CMD_ADDR 1 |
| @@ -138,6 +142,7 @@ | |||
| 138 | #define AC97_BC_18BIT_ADC 0x0100 /* 18-bit ADC resolution */ | 142 | #define AC97_BC_18BIT_ADC 0x0100 /* 18-bit ADC resolution */ |
| 139 | #define AC97_BC_20BIT_ADC 0x0200 /* 20-bit ADC resolution */ | 143 | #define AC97_BC_20BIT_ADC 0x0200 /* 20-bit ADC resolution */ |
| 140 | #define AC97_BC_ADC_MASK 0x0300 | 144 | #define AC97_BC_ADC_MASK 0x0300 |
| 145 | #define AC97_BC_3D_TECH_ID_MASK 0x7c00 /* Per-vendor ID of 3D enhancement */ | ||
| 141 | 146 | ||
| 142 | /* general purpose */ | 147 | /* general purpose */ |
| 143 | #define AC97_GP_DRSS_MASK 0x0c00 /* double rate slot select */ | 148 | #define AC97_GP_DRSS_MASK 0x0c00 /* double rate slot select */ |
diff --git a/include/sound/hdspm.h b/include/sound/hdspm.h index 81990b2bcc98..1774ff5ff632 100644 --- a/include/sound/hdspm.h +++ b/include/sound/hdspm.h | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | /* | 3 | /* |
| 4 | * Copyright (C) 2003 Winfried Ritsch (IEM) | 4 | * Copyright (C) 2003 Winfried Ritsch (IEM) |
| 5 | * based on hdsp.h from Thomas Charbonnel (thomas@undata.org) | 5 | * based on hdsp.h from Thomas Charbonnel (thomas@undata.org) |
| 6 | * | 6 | * |
| 7 | * | 7 | * |
| 8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
| 9 | * it under the terms of the GNU General Public License as published by | 9 | * it under the terms of the GNU General Public License as published by |
| 10 | * the Free Software Foundation; either version 2 of the License, or | 10 | * the Free Software Foundation; either version 2 of the License, or |
| @@ -23,50 +23,41 @@ | |||
| 23 | /* Maximum channels is 64 even on 56Mode you have 64playbacks to matrix */ | 23 | /* Maximum channels is 64 even on 56Mode you have 64playbacks to matrix */ |
| 24 | #define HDSPM_MAX_CHANNELS 64 | 24 | #define HDSPM_MAX_CHANNELS 64 |
| 25 | 25 | ||
| 26 | /* -------------------- IOCTL Peak/RMS Meters -------------------- */ | 26 | enum hdspm_io_type { |
| 27 | 27 | MADI, | |
| 28 | /* peam rms level structure like we get from hardware | 28 | MADIface, |
| 29 | 29 | AIO, | |
| 30 | maybe in future we can memory map it so I just copy it | 30 | AES32, |
| 31 | to user on ioctl call now an dont change anything | 31 | RayDAT |
| 32 | rms are made out of low and high values | 32 | }; |
| 33 | where (long) ????_rms = (????_rms_l >> 8) + ((????_rms_h & 0xFFFFFF00)<<24) | ||
| 34 | (i asume so from the code) | ||
| 35 | */ | ||
| 36 | |||
| 37 | struct hdspm_peak_rms { | ||
| 38 | |||
| 39 | unsigned int level_offset[1024]; | ||
| 40 | 33 | ||
| 41 | unsigned int input_peak[64]; | 34 | enum hdspm_speed { |
| 42 | unsigned int playback_peak[64]; | 35 | ss, |
| 43 | unsigned int output_peak[64]; | 36 | ds, |
| 44 | unsigned int xxx_peak[64]; /* not used */ | 37 | qs |
| 38 | }; | ||
| 45 | 39 | ||
| 46 | unsigned int reserved[256]; /* not used */ | 40 | /* -------------------- IOCTL Peak/RMS Meters -------------------- */ |
| 47 | 41 | ||
| 48 | unsigned int input_rms_l[64]; | 42 | struct hdspm_peak_rms { |
| 49 | unsigned int playback_rms_l[64]; | 43 | uint32_t input_peaks[64]; |
| 50 | unsigned int output_rms_l[64]; | 44 | uint32_t playback_peaks[64]; |
| 51 | unsigned int xxx_rms_l[64]; /* not used */ | 45 | uint32_t output_peaks[64]; |
| 52 | 46 | ||
| 53 | unsigned int input_rms_h[64]; | 47 | uint64_t input_rms[64]; |
| 54 | unsigned int playback_rms_h[64]; | 48 | uint64_t playback_rms[64]; |
| 55 | unsigned int output_rms_h[64]; | 49 | uint64_t output_rms[64]; |
| 56 | unsigned int xxx_rms_h[64]; /* not used */ | ||
| 57 | }; | ||
| 58 | 50 | ||
| 59 | struct hdspm_peak_rms_ioctl { | 51 | uint8_t speed; /* enum {ss, ds, qs} */ |
| 60 | struct hdspm_peak_rms *peak; | 52 | int status2; |
| 61 | }; | 53 | }; |
| 62 | 54 | ||
| 63 | /* use indirect access due to the limit of ioctl bit size */ | ||
| 64 | #define SNDRV_HDSPM_IOCTL_GET_PEAK_RMS \ | 55 | #define SNDRV_HDSPM_IOCTL_GET_PEAK_RMS \ |
| 65 | _IOR('H', 0x40, struct hdspm_peak_rms_ioctl) | 56 | _IOR('H', 0x42, struct hdspm_peak_rms) |
| 66 | 57 | ||
| 67 | /* ------------ CONFIG block IOCTL ---------------------- */ | 58 | /* ------------ CONFIG block IOCTL ---------------------- */ |
| 68 | 59 | ||
| 69 | struct hdspm_config_info { | 60 | struct hdspm_config { |
| 70 | unsigned char pref_sync_ref; | 61 | unsigned char pref_sync_ref; |
| 71 | unsigned char wordclock_sync_check; | 62 | unsigned char wordclock_sync_check; |
| 72 | unsigned char madi_sync_check; | 63 | unsigned char madi_sync_check; |
| @@ -80,18 +71,121 @@ struct hdspm_config_info { | |||
| 80 | unsigned int analog_out; | 71 | unsigned int analog_out; |
| 81 | }; | 72 | }; |
| 82 | 73 | ||
| 83 | #define SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO \ | 74 | #define SNDRV_HDSPM_IOCTL_GET_CONFIG \ |
| 84 | _IOR('H', 0x41, struct hdspm_config_info) | 75 | _IOR('H', 0x41, struct hdspm_config) |
| 76 | |||
| 77 | /** | ||
| 78 | * If there's a TCO (TimeCode Option) board installed, | ||
| 79 | * there are further options and status data available. | ||
| 80 | * The hdspm_ltc structure contains the current SMPTE | ||
| 81 | * timecode and some status information and can be | ||
| 82 | * obtained via SNDRV_HDSPM_IOCTL_GET_LTC or in the | ||
| 83 | * hdspm_status struct. | ||
| 84 | **/ | ||
| 85 | |||
| 86 | enum hdspm_ltc_format { | ||
| 87 | format_invalid, | ||
| 88 | fps_24, | ||
| 89 | fps_25, | ||
| 90 | fps_2997, | ||
| 91 | fps_30 | ||
| 92 | }; | ||
| 93 | |||
| 94 | enum hdspm_ltc_frame { | ||
| 95 | frame_invalid, | ||
| 96 | drop_frame, | ||
| 97 | full_frame | ||
| 98 | }; | ||
| 99 | |||
| 100 | enum hdspm_ltc_input_format { | ||
| 101 | ntsc, | ||
| 102 | pal, | ||
| 103 | no_video | ||
| 104 | }; | ||
| 105 | |||
| 106 | struct hdspm_ltc { | ||
| 107 | unsigned int ltc; | ||
| 85 | 108 | ||
| 109 | enum hdspm_ltc_format format; | ||
| 110 | enum hdspm_ltc_frame frame; | ||
| 111 | enum hdspm_ltc_input_format input_format; | ||
| 112 | }; | ||
| 113 | |||
| 114 | #define SNDRV_HDSPM_IOCTL_GET_LTC _IOR('H', 0x46, struct hdspm_mixer_ioctl) | ||
| 115 | |||
| 116 | /** | ||
| 117 | * The status data reflects the device's current state | ||
| 118 | * as determined by the card's configuration and | ||
| 119 | * connection status. | ||
| 120 | **/ | ||
| 121 | |||
| 122 | enum hdspm_sync { | ||
| 123 | hdspm_sync_no_lock = 0, | ||
| 124 | hdspm_sync_lock = 1, | ||
| 125 | hdspm_sync_sync = 2 | ||
| 126 | }; | ||
| 86 | 127 | ||
| 87 | /* get Soundcard Version */ | 128 | enum hdspm_madi_input { |
| 129 | hdspm_input_optical = 0, | ||
| 130 | hdspm_input_coax = 1 | ||
| 131 | }; | ||
| 132 | |||
| 133 | enum hdspm_madi_channel_format { | ||
| 134 | hdspm_format_ch_64 = 0, | ||
| 135 | hdspm_format_ch_56 = 1 | ||
| 136 | }; | ||
| 137 | |||
| 138 | enum hdspm_madi_frame_format { | ||
| 139 | hdspm_frame_48 = 0, | ||
| 140 | hdspm_frame_96 = 1 | ||
| 141 | }; | ||
| 142 | |||
| 143 | enum hdspm_syncsource { | ||
| 144 | syncsource_wc = 0, | ||
| 145 | syncsource_madi = 1, | ||
| 146 | syncsource_tco = 2, | ||
| 147 | syncsource_sync = 3, | ||
| 148 | syncsource_none = 4 | ||
| 149 | }; | ||
| 150 | |||
| 151 | struct hdspm_status { | ||
| 152 | uint8_t card_type; /* enum hdspm_io_type */ | ||
| 153 | enum hdspm_syncsource autosync_source; | ||
| 154 | |||
| 155 | uint64_t card_clock; | ||
| 156 | uint32_t master_period; | ||
| 157 | |||
| 158 | union { | ||
| 159 | struct { | ||
| 160 | uint8_t sync_wc; /* enum hdspm_sync */ | ||
| 161 | uint8_t sync_madi; /* enum hdspm_sync */ | ||
| 162 | uint8_t sync_tco; /* enum hdspm_sync */ | ||
| 163 | uint8_t sync_in; /* enum hdspm_sync */ | ||
| 164 | uint8_t madi_input; /* enum hdspm_madi_input */ | ||
| 165 | uint8_t channel_format; /* enum hdspm_madi_channel_format */ | ||
| 166 | uint8_t frame_format; /* enum hdspm_madi_frame_format */ | ||
| 167 | } madi; | ||
| 168 | } card_specific; | ||
| 169 | }; | ||
| 170 | |||
| 171 | #define SNDRV_HDSPM_IOCTL_GET_STATUS \ | ||
| 172 | _IOR('H', 0x47, struct hdspm_status) | ||
| 173 | |||
| 174 | /** | ||
| 175 | * Get information about the card and its add-ons. | ||
| 176 | **/ | ||
| 177 | |||
| 178 | #define HDSPM_ADDON_TCO 1 | ||
| 88 | 179 | ||
| 89 | struct hdspm_version { | 180 | struct hdspm_version { |
| 181 | uint8_t card_type; /* enum hdspm_io_type */ | ||
| 182 | char cardname[20]; | ||
| 183 | unsigned int serial; | ||
| 90 | unsigned short firmware_rev; | 184 | unsigned short firmware_rev; |
| 185 | int addons; | ||
| 91 | }; | 186 | }; |
| 92 | 187 | ||
| 93 | #define SNDRV_HDSPM_IOCTL_GET_VERSION _IOR('H', 0x43, struct hdspm_version) | 188 | #define SNDRV_HDSPM_IOCTL_GET_VERSION _IOR('H', 0x48, struct hdspm_version) |
| 94 | |||
| 95 | 189 | ||
| 96 | /* ------------- get Matrix Mixer IOCTL --------------- */ | 190 | /* ------------- get Matrix Mixer IOCTL --------------- */ |
| 97 | 191 | ||
| @@ -103,7 +197,7 @@ struct hdspm_version { | |||
| 103 | /* equivalent to hardware definition, maybe for future feature of mmap of | 197 | /* equivalent to hardware definition, maybe for future feature of mmap of |
| 104 | * them | 198 | * them |
| 105 | */ | 199 | */ |
| 106 | /* each of 64 outputs has 64 infader and 64 outfader: | 200 | /* each of 64 outputs has 64 infader and 64 outfader: |
| 107 | Ins to Outs mixer[out].in[in], Outstreams to Outs mixer[out].pb[pb] */ | 201 | Ins to Outs mixer[out].in[in], Outstreams to Outs mixer[out].pb[pb] */ |
| 108 | 202 | ||
| 109 | #define HDSPM_MIXER_CHANNELS HDSPM_MAX_CHANNELS | 203 | #define HDSPM_MIXER_CHANNELS HDSPM_MAX_CHANNELS |
| @@ -131,4 +225,5 @@ typedef struct hdspm_version hdspm_version_t; | |||
| 131 | typedef struct hdspm_channelfader snd_hdspm_channelfader_t; | 225 | typedef struct hdspm_channelfader snd_hdspm_channelfader_t; |
| 132 | typedef struct hdspm_mixer hdspm_mixer_t; | 226 | typedef struct hdspm_mixer hdspm_mixer_t; |
| 133 | 227 | ||
| 134 | #endif /* __SOUND_HDSPM_H */ | 228 | |
| 229 | #endif | ||
diff --git a/include/sound/mixer_oss.h b/include/sound/mixer_oss.h index 51fbcb4a277a..13cb0b430a1b 100644 --- a/include/sound/mixer_oss.h +++ b/include/sound/mixer_oss.h | |||
| @@ -73,6 +73,9 @@ struct snd_mixer_oss_file { | |||
| 73 | struct snd_mixer_oss *mixer; | 73 | struct snd_mixer_oss *mixer; |
| 74 | }; | 74 | }; |
| 75 | 75 | ||
| 76 | int snd_mixer_oss_ioctl_card(struct snd_card *card, | ||
| 77 | unsigned int cmd, unsigned long arg); | ||
| 78 | |||
| 76 | #endif /* CONFIG_SND_MIXER_OSS */ | 79 | #endif /* CONFIG_SND_MIXER_OSS */ |
| 77 | 80 | ||
| 78 | #endif /* __SOUND_MIXER_OSS_H */ | 81 | #endif /* __SOUND_MIXER_OSS_H */ |
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index e731f8d71934..430a9cc045e2 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h | |||
| @@ -136,48 +136,49 @@ struct snd_pcm_ops { | |||
| 136 | SNDRV_PCM_RATE_88200|SNDRV_PCM_RATE_96000) | 136 | SNDRV_PCM_RATE_88200|SNDRV_PCM_RATE_96000) |
| 137 | #define SNDRV_PCM_RATE_8000_192000 (SNDRV_PCM_RATE_8000_96000|SNDRV_PCM_RATE_176400|\ | 137 | #define SNDRV_PCM_RATE_8000_192000 (SNDRV_PCM_RATE_8000_96000|SNDRV_PCM_RATE_176400|\ |
| 138 | SNDRV_PCM_RATE_192000) | 138 | SNDRV_PCM_RATE_192000) |
| 139 | #define SNDRV_PCM_FMTBIT_S8 (1ULL << SNDRV_PCM_FORMAT_S8) | 139 | #define _SNDRV_PCM_FMTBIT(fmt) (1ULL << (__force int)SNDRV_PCM_FORMAT_##fmt) |
| 140 | #define SNDRV_PCM_FMTBIT_U8 (1ULL << SNDRV_PCM_FORMAT_U8) | 140 | #define SNDRV_PCM_FMTBIT_S8 _SNDRV_PCM_FMTBIT(S8) |
| 141 | #define SNDRV_PCM_FMTBIT_S16_LE (1ULL << SNDRV_PCM_FORMAT_S16_LE) | 141 | #define SNDRV_PCM_FMTBIT_U8 _SNDRV_PCM_FMTBIT(U8) |
| 142 | #define SNDRV_PCM_FMTBIT_S16_BE (1ULL << SNDRV_PCM_FORMAT_S16_BE) | 142 | #define SNDRV_PCM_FMTBIT_S16_LE _SNDRV_PCM_FMTBIT(S16_LE) |
| 143 | #define SNDRV_PCM_FMTBIT_U16_LE (1ULL << SNDRV_PCM_FORMAT_U16_LE) | 143 | #define SNDRV_PCM_FMTBIT_S16_BE _SNDRV_PCM_FMTBIT(S16_BE) |
| 144 | #define SNDRV_PCM_FMTBIT_U16_BE (1ULL << SNDRV_PCM_FORMAT_U16_BE) | 144 | #define SNDRV_PCM_FMTBIT_U16_LE _SNDRV_PCM_FMTBIT(U16_LE) |
| 145 | #define SNDRV_PCM_FMTBIT_S24_LE (1ULL << SNDRV_PCM_FORMAT_S24_LE) | 145 | #define SNDRV_PCM_FMTBIT_U16_BE _SNDRV_PCM_FMTBIT(U16_BE) |
| 146 | #define SNDRV_PCM_FMTBIT_S24_BE (1ULL << SNDRV_PCM_FORMAT_S24_BE) | 146 | #define SNDRV_PCM_FMTBIT_S24_LE _SNDRV_PCM_FMTBIT(S24_LE) |
| 147 | #define SNDRV_PCM_FMTBIT_U24_LE (1ULL << SNDRV_PCM_FORMAT_U24_LE) | 147 | #define SNDRV_PCM_FMTBIT_S24_BE _SNDRV_PCM_FMTBIT(S24_BE) |
| 148 | #define SNDRV_PCM_FMTBIT_U24_BE (1ULL << SNDRV_PCM_FORMAT_U24_BE) | 148 | #define SNDRV_PCM_FMTBIT_U24_LE _SNDRV_PCM_FMTBIT(U24_LE) |
| 149 | #define SNDRV_PCM_FMTBIT_S32_LE (1ULL << SNDRV_PCM_FORMAT_S32_LE) | 149 | #define SNDRV_PCM_FMTBIT_U24_BE _SNDRV_PCM_FMTBIT(U24_BE) |
| 150 | #define SNDRV_PCM_FMTBIT_S32_BE (1ULL << SNDRV_PCM_FORMAT_S32_BE) | 150 | #define SNDRV_PCM_FMTBIT_S32_LE _SNDRV_PCM_FMTBIT(S32_LE) |
| 151 | #define SNDRV_PCM_FMTBIT_U32_LE (1ULL << SNDRV_PCM_FORMAT_U32_LE) | 151 | #define SNDRV_PCM_FMTBIT_S32_BE _SNDRV_PCM_FMTBIT(S32_BE) |
| 152 | #define SNDRV_PCM_FMTBIT_U32_BE (1ULL << SNDRV_PCM_FORMAT_U32_BE) | 152 | #define SNDRV_PCM_FMTBIT_U32_LE _SNDRV_PCM_FMTBIT(U32_LE) |
| 153 | #define SNDRV_PCM_FMTBIT_FLOAT_LE (1ULL << SNDRV_PCM_FORMAT_FLOAT_LE) | 153 | #define SNDRV_PCM_FMTBIT_U32_BE _SNDRV_PCM_FMTBIT(U32_BE) |
| 154 | #define SNDRV_PCM_FMTBIT_FLOAT_BE (1ULL << SNDRV_PCM_FORMAT_FLOAT_BE) | 154 | #define SNDRV_PCM_FMTBIT_FLOAT_LE _SNDRV_PCM_FMTBIT(FLOAT_LE) |
| 155 | #define SNDRV_PCM_FMTBIT_FLOAT64_LE (1ULL << SNDRV_PCM_FORMAT_FLOAT64_LE) | 155 | #define SNDRV_PCM_FMTBIT_FLOAT_BE _SNDRV_PCM_FMTBIT(FLOAT_BE) |
| 156 | #define SNDRV_PCM_FMTBIT_FLOAT64_BE (1ULL << SNDRV_PCM_FORMAT_FLOAT64_BE) | 156 | #define SNDRV_PCM_FMTBIT_FLOAT64_LE _SNDRV_PCM_FMTBIT(FLOAT64_LE) |
| 157 | #define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE (1ULL << SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE) | 157 | #define SNDRV_PCM_FMTBIT_FLOAT64_BE _SNDRV_PCM_FMTBIT(FLOAT64_BE) |
| 158 | #define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_BE (1ULL << SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE) | 158 | #define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE _SNDRV_PCM_FMTBIT(IEC958_SUBFRAME_LE) |
| 159 | #define SNDRV_PCM_FMTBIT_MU_LAW (1ULL << SNDRV_PCM_FORMAT_MU_LAW) | 159 | #define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_BE _SNDRV_PCM_FMTBIT(IEC958_SUBFRAME_BE) |
| 160 | #define SNDRV_PCM_FMTBIT_A_LAW (1ULL << SNDRV_PCM_FORMAT_A_LAW) | 160 | #define SNDRV_PCM_FMTBIT_MU_LAW _SNDRV_PCM_FMTBIT(MU_LAW) |
| 161 | #define SNDRV_PCM_FMTBIT_IMA_ADPCM (1ULL << SNDRV_PCM_FORMAT_IMA_ADPCM) | 161 | #define SNDRV_PCM_FMTBIT_A_LAW _SNDRV_PCM_FMTBIT(A_LAW) |
| 162 | #define SNDRV_PCM_FMTBIT_MPEG (1ULL << SNDRV_PCM_FORMAT_MPEG) | 162 | #define SNDRV_PCM_FMTBIT_IMA_ADPCM _SNDRV_PCM_FMTBIT(IMA_ADPCM) |
| 163 | #define SNDRV_PCM_FMTBIT_GSM (1ULL << SNDRV_PCM_FORMAT_GSM) | 163 | #define SNDRV_PCM_FMTBIT_MPEG _SNDRV_PCM_FMTBIT(MPEG) |
| 164 | #define SNDRV_PCM_FMTBIT_SPECIAL (1ULL << SNDRV_PCM_FORMAT_SPECIAL) | 164 | #define SNDRV_PCM_FMTBIT_GSM _SNDRV_PCM_FMTBIT(GSM) |
| 165 | #define SNDRV_PCM_FMTBIT_S24_3LE (1ULL << SNDRV_PCM_FORMAT_S24_3LE) | 165 | #define SNDRV_PCM_FMTBIT_SPECIAL _SNDRV_PCM_FMTBIT(SPECIAL) |
| 166 | #define SNDRV_PCM_FMTBIT_U24_3LE (1ULL << SNDRV_PCM_FORMAT_U24_3LE) | 166 | #define SNDRV_PCM_FMTBIT_S24_3LE _SNDRV_PCM_FMTBIT(S24_3LE) |
| 167 | #define SNDRV_PCM_FMTBIT_S24_3BE (1ULL << SNDRV_PCM_FORMAT_S24_3BE) | 167 | #define SNDRV_PCM_FMTBIT_U24_3LE _SNDRV_PCM_FMTBIT(U24_3LE) |
| 168 | #define SNDRV_PCM_FMTBIT_U24_3BE (1ULL << SNDRV_PCM_FORMAT_U24_3BE) | 168 | #define SNDRV_PCM_FMTBIT_S24_3BE _SNDRV_PCM_FMTBIT(S24_3BE) |
| 169 | #define SNDRV_PCM_FMTBIT_S20_3LE (1ULL << SNDRV_PCM_FORMAT_S20_3LE) | 169 | #define SNDRV_PCM_FMTBIT_U24_3BE _SNDRV_PCM_FMTBIT(U24_3BE) |
| 170 | #define SNDRV_PCM_FMTBIT_U20_3LE (1ULL << SNDRV_PCM_FORMAT_U20_3LE) | 170 | #define SNDRV_PCM_FMTBIT_S20_3LE _SNDRV_PCM_FMTBIT(S20_3LE) |
| 171 | #define SNDRV_PCM_FMTBIT_S20_3BE (1ULL << SNDRV_PCM_FORMAT_S20_3BE) | 171 | #define SNDRV_PCM_FMTBIT_U20_3LE _SNDRV_PCM_FMTBIT(U20_3LE) |
| 172 | #define SNDRV_PCM_FMTBIT_U20_3BE (1ULL << SNDRV_PCM_FORMAT_U20_3BE) | 172 | #define SNDRV_PCM_FMTBIT_S20_3BE _SNDRV_PCM_FMTBIT(S20_3BE) |
| 173 | #define SNDRV_PCM_FMTBIT_S18_3LE (1ULL << SNDRV_PCM_FORMAT_S18_3LE) | 173 | #define SNDRV_PCM_FMTBIT_U20_3BE _SNDRV_PCM_FMTBIT(U20_3BE) |
| 174 | #define SNDRV_PCM_FMTBIT_U18_3LE (1ULL << SNDRV_PCM_FORMAT_U18_3LE) | 174 | #define SNDRV_PCM_FMTBIT_S18_3LE _SNDRV_PCM_FMTBIT(S18_3LE) |
| 175 | #define SNDRV_PCM_FMTBIT_S18_3BE (1ULL << SNDRV_PCM_FORMAT_S18_3BE) | 175 | #define SNDRV_PCM_FMTBIT_U18_3LE _SNDRV_PCM_FMTBIT(U18_3LE) |
| 176 | #define SNDRV_PCM_FMTBIT_U18_3BE (1ULL << SNDRV_PCM_FORMAT_U18_3BE) | 176 | #define SNDRV_PCM_FMTBIT_S18_3BE _SNDRV_PCM_FMTBIT(S18_3BE) |
| 177 | #define SNDRV_PCM_FMTBIT_G723_24 (1ULL << SNDRV_PCM_FORMAT_G723_24) | 177 | #define SNDRV_PCM_FMTBIT_U18_3BE _SNDRV_PCM_FMTBIT(U18_3BE) |
| 178 | #define SNDRV_PCM_FMTBIT_G723_24_1B (1ULL << SNDRV_PCM_FORMAT_G723_24_1B) | 178 | #define SNDRV_PCM_FMTBIT_G723_24 _SNDRV_PCM_FMTBIT(G723_24) |
| 179 | #define SNDRV_PCM_FMTBIT_G723_40 (1ULL << SNDRV_PCM_FORMAT_G723_40) | 179 | #define SNDRV_PCM_FMTBIT_G723_24_1B _SNDRV_PCM_FMTBIT(G723_24_1B) |
| 180 | #define SNDRV_PCM_FMTBIT_G723_40_1B (1ULL << SNDRV_PCM_FORMAT_G723_40_1B) | 180 | #define SNDRV_PCM_FMTBIT_G723_40 _SNDRV_PCM_FMTBIT(G723_40) |
| 181 | #define SNDRV_PCM_FMTBIT_G723_40_1B _SNDRV_PCM_FMTBIT(G723_40_1B) | ||
| 181 | 182 | ||
| 182 | #ifdef SNDRV_LITTLE_ENDIAN | 183 | #ifdef SNDRV_LITTLE_ENDIAN |
| 183 | #define SNDRV_PCM_FMTBIT_S16 SNDRV_PCM_FMTBIT_S16_LE | 184 | #define SNDRV_PCM_FMTBIT_S16 SNDRV_PCM_FMTBIT_S16_LE |
| @@ -490,7 +491,7 @@ int snd_pcm_info_user(struct snd_pcm_substream *substream, | |||
| 490 | int snd_pcm_status(struct snd_pcm_substream *substream, | 491 | int snd_pcm_status(struct snd_pcm_substream *substream, |
| 491 | struct snd_pcm_status *status); | 492 | struct snd_pcm_status *status); |
| 492 | int snd_pcm_start(struct snd_pcm_substream *substream); | 493 | int snd_pcm_start(struct snd_pcm_substream *substream); |
| 493 | int snd_pcm_stop(struct snd_pcm_substream *substream, int status); | 494 | int snd_pcm_stop(struct snd_pcm_substream *substream, snd_pcm_state_t status); |
| 494 | int snd_pcm_drain_done(struct snd_pcm_substream *substream); | 495 | int snd_pcm_drain_done(struct snd_pcm_substream *substream); |
| 495 | #ifdef CONFIG_PM | 496 | #ifdef CONFIG_PM |
| 496 | int snd_pcm_suspend(struct snd_pcm_substream *substream); | 497 | int snd_pcm_suspend(struct snd_pcm_substream *substream); |
| @@ -748,8 +749,8 @@ static inline const struct snd_interval *hw_param_interval_c(const struct snd_pc | |||
| 748 | return ¶ms->intervals[var - SNDRV_PCM_HW_PARAM_FIRST_INTERVAL]; | 749 | return ¶ms->intervals[var - SNDRV_PCM_HW_PARAM_FIRST_INTERVAL]; |
| 749 | } | 750 | } |
| 750 | 751 | ||
| 751 | #define params_access(p) snd_mask_min(hw_param_mask((p), SNDRV_PCM_HW_PARAM_ACCESS)) | 752 | #define params_access(p) ((__force snd_pcm_access_t)snd_mask_min(hw_param_mask((p), SNDRV_PCM_HW_PARAM_ACCESS))) |
| 752 | #define params_format(p) snd_mask_min(hw_param_mask((p), SNDRV_PCM_HW_PARAM_FORMAT)) | 753 | #define params_format(p) ((__force snd_pcm_format_t)snd_mask_min(hw_param_mask((p), SNDRV_PCM_HW_PARAM_FORMAT))) |
| 753 | #define params_subformat(p) snd_mask_min(hw_param_mask((p), SNDRV_PCM_HW_PARAM_SUBFORMAT)) | 754 | #define params_subformat(p) snd_mask_min(hw_param_mask((p), SNDRV_PCM_HW_PARAM_SUBFORMAT)) |
| 754 | #define params_channels(p) hw_param_interval((p), SNDRV_PCM_HW_PARAM_CHANNELS)->min | 755 | #define params_channels(p) hw_param_interval((p), SNDRV_PCM_HW_PARAM_CHANNELS)->min |
| 755 | #define params_rate(p) hw_param_interval((p), SNDRV_PCM_HW_PARAM_RATE)->min | 756 | #define params_rate(p) hw_param_interval((p), SNDRV_PCM_HW_PARAM_RATE)->min |
diff --git a/include/sound/version.h b/include/sound/version.h index bf69a5b7e65f..8fc5321e1ecc 100644 --- a/include/sound/version.h +++ b/include/sound/version.h | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | /* include/version.h */ | 1 | /* include/version.h */ |
| 2 | #define CONFIG_SND_VERSION "1.0.23" | 2 | #define CONFIG_SND_VERSION "1.0.24" |
| 3 | #define CONFIG_SND_DATE "" | 3 | #define CONFIG_SND_DATE "" |
