Lines Matching refs:diga
1593 static unsigned int encode_spdif_bits(struct snd_aes_iec958 *diga)
1597 val = diga->status[0] & 0x03; /* professional, non-audio */
1600 if ((diga->status[0] & IEC958_AES0_PRO_EMPHASIS) ==
1603 rbits = (diga->status[4] >> 3) & 0x0f;
1612 switch (diga->status[0] & IEC958_AES0_PRO_FS) {
1625 val |= diga->status[1] & 0x04; /* copyright */
1626 if ((diga->status[0] & IEC958_AES0_CON_EMPHASIS) ==
1629 val |= (unsigned int)(diga->status[1] & 0x3f) << 4; /* category */
1630 val |= (unsigned int)(diga->status[3] & IEC958_AES3_CON_FS) << 12; /* fs */
1635 static void decode_spdif_bits(struct snd_aes_iec958 *diga, unsigned int val)
1637 memset(diga->status, 0, sizeof(diga->status));
1638 diga->status[0] = val & 0x03; /* professional, non-audio */
1642 diga->status[0] |= IEC958_AES0_PRO_EMPHASIS_5015;
1647 diga->status[0] |= IEC958_AES0_PRO_FS_32000;
1650 diga->status[0] |= IEC958_AES0_PRO_FS_48000;
1655 diga->status[0] |= val & (1U << 2); /* copyright */
1657 diga->status[0] |= IEC958_AES0_CON_EMPHASIS_5015;
1658 diga->status[1] |= (val >> 4) & 0x3f; /* category */
1659 diga->status[3] |= (val >> 12) & 0x07; /* fs */