Lines Matching defs:diga
1566 static unsigned int encode_spdif_bits(struct snd_aes_iec958 *diga)
1570 val = diga->status[0] & 0x03; /* professional, non-audio */
1573 if ((diga->status[0] & IEC958_AES0_PRO_EMPHASIS) ==
1576 rbits = (diga->status[4] >> 3) & 0x0f;
1585 switch (diga->status[0] & IEC958_AES0_PRO_FS) {
1598 val |= diga->status[1] & 0x04; /* copyright */
1599 if ((diga->status[0] & IEC958_AES0_CON_EMPHASIS) ==
1602 val |= (unsigned int)(diga->status[1] & 0x3f) << 4; /* category */
1603 val |= (unsigned int)(diga->status[3] & IEC958_AES3_CON_FS) << 12; /* fs */
1608 static void decode_spdif_bits(struct snd_aes_iec958 *diga, unsigned int val)
1610 memset(diga->status, 0, sizeof(diga->status));
1611 diga->status[0] = val & 0x03; /* professional, non-audio */
1615 diga->status[0] |= IEC958_AES0_PRO_EMPHASIS_5015;
1620 diga->status[0] |= IEC958_AES0_PRO_FS_32000;
1623 diga->status[0] |= IEC958_AES0_PRO_FS_48000;
1628 diga->status[0] |= val & (1U << 2); /* copyright */
1630 diga->status[0] |= IEC958_AES0_CON_EMPHASIS_5015;
1631 diga->status[1] |= (val >> 4) & 0x3f; /* category */
1632 diga->status[3] |= (val >> 12) & 0x07; /* fs */