Lines Matching refs:diga
1569 static unsigned int encode_spdif_bits(struct snd_aes_iec958 *diga)
1573 val = diga->status[0] & 0x03; /* professional, non-audio */
1576 if ((diga->status[0] & IEC958_AES0_PRO_EMPHASIS) ==
1579 rbits = (diga->status[4] >> 3) & 0x0f;
1588 switch (diga->status[0] & IEC958_AES0_PRO_FS) {
1601 val |= diga->status[1] & 0x04; /* copyright */
1602 if ((diga->status[0] & IEC958_AES0_CON_EMPHASIS) ==
1605 val |= (unsigned int)(diga->status[1] & 0x3f) << 4; /* category */
1606 val |= (unsigned int)(diga->status[3] & IEC958_AES3_CON_FS) << 12; /* fs */
1611 static void decode_spdif_bits(struct snd_aes_iec958 *diga, unsigned int val)
1613 memset(diga->status, 0, sizeof(diga->status));
1614 diga->status[0] = val & 0x03; /* professional, non-audio */
1618 diga->status[0] |= IEC958_AES0_PRO_EMPHASIS_5015;
1623 diga->status[0] |= IEC958_AES0_PRO_FS_32000;
1626 diga->status[0] |= IEC958_AES0_PRO_FS_48000;
1631 diga->status[0] |= val & (1U << 2); /* copyright */
1633 diga->status[0] |= IEC958_AES0_CON_EMPHASIS_5015;
1634 diga->status[1] |= (val >> 4) & 0x3f; /* category */
1635 diga->status[3] |= (val >> 12) & 0x07; /* fs */