Lines Matching refs:iec958
162 /* update iec958 status values
165 static int update_iec958_status(snd_aes_iec958_t *iec958, int *parms)
170 iec958->status[0] |= IEC958_AES0_PROFESSIONAL;
172 iec958->status[0] &= ~IEC958_AES0_PROFESSIONAL;
177 iec958->status[0] |= IEC958_AES0_NONAUDIO;
179 iec958->status[0] &= ~IEC958_AES0_NONAUDIO;
183 if (iec958->status[0] & IEC958_AES0_PROFESSIONAL) {
184 iec958->status[0] &= ~IEC958_AES0_PRO_FS;
187 iec958->status[0] |= IEC958_AES0_PRO_FS_44100;
190 iec958->status[0] |= IEC958_AES0_PRO_FS_48000;
193 iec958->status[0] |= IEC958_AES0_PRO_FS_32000;
197 iec958->status[3] &= ~IEC958_AES3_CON_FS;
200 iec958->status[3] |= IEC958_AES3_CON_FS_22050;
203 iec958->status[3] |= IEC958_AES3_CON_FS_24000;
206 iec958->status[3] |= IEC958_AES3_CON_FS_32000;
209 iec958->status[3] |= IEC958_AES3_CON_FS_44100;
212 iec958->status[3] |= IEC958_AES3_CON_FS_48000;
215 iec958->status[3] |= IEC958_AES3_CON_FS_88200;;
218 iec958->status[3] |= IEC958_AES3_CON_FS_96000;
221 iec958->status[3] |= IEC958_AES3_CON_FS_176400;
224 iec958->status[3] |= IEC958_AES3_CON_FS_192000;
227 iec958->status[3] |= IEC958_AES3_CON_FS_768000;
230 iec958->status[3] |= IEC958_AES3_CON_FS_NOTID;
237 if (! (iec958->status[0] & IEC958_AES0_PROFESSIONAL)) {
239 iec958->status[0] |= IEC958_AES0_CON_NOT_COPYRIGHT;
241 iec958->status[0] &= ~IEC958_AES0_CON_NOT_COPYRIGHT;
246 if (! (iec958->status[0] & IEC958_AES0_PROFESSIONAL)) {
248 iec958->status[1] |= IEC958_AES1_CON_ORIGINAL;
250 iec958->status[1] &= ~IEC958_AES1_CON_ORIGINAL;
255 if (iec958->status[0] & IEC958_AES0_PROFESSIONAL) {
256 iec958->status[0] &= ~IEC958_AES0_PRO_EMPHASIS;
259 iec958->status[0] |= IEC958_AES0_PRO_EMPHASIS_NONE;
262 iec958->status[0] |= IEC958_AES0_PRO_EMPHASIS_5015;
265 iec958->status[0] |= IEC958_AES0_PRO_EMPHASIS_CCITT;
270 iec958->status[0] |= IEC958_AES0_CON_EMPHASIS_5015;
272 iec958->status[0] &= ~IEC958_AES0_CON_EMPHASIS_5015;
277 if (iec958->status[0] & IEC958_AES0_PROFESSIONAL) {
279 iec958->status[0] |= IEC958_AES0_PRO_FREQ_UNLOCKED;
281 iec958->status[0] &= ~IEC958_AES0_PRO_FREQ_UNLOCKED;
286 if (iec958->status[0] & IEC958_AES0_PROFESSIONAL) {
287 iec958->status[2] &= ~IEC958_AES2_PRO_SBITS;
288 iec958->status[2] |= parms[IDX_SBITS] & 7;
293 if (iec958->status[0] & IEC958_AES0_PROFESSIONAL) {
294 iec958->status[2] &= ~IEC958_AES2_PRO_WORDLEN;
295 iec958->status[2] |= (parms[IDX_WORD] & 7) << 3;
300 if (! (iec958->status[0] & IEC958_AES0_PROFESSIONAL)) {
301 iec958->status[1] &= ~IEC958_AES1_CON_CATEGORY;
302 iec958->status[1] |= parms[IDX_CAT] & 0x7f;
320 snd_aes_iec958_t iec958;
401 snd_ctl_elem_value_get_iec958(cval, &iec958);
411 if (update_iec958_status(&iec958, parms)) {
413 snd_ctl_elem_value_set_iec958(cval, &iec958);
422 snd_ctl_elem_value_get_iec958(cval, &iec958);
427 iec958.status[0], iec958.status[1], iec958.status[2], iec958.status[3]);
429 dump_iec958(&iec958);