Lines Matching refs:wcreg
199 u32 wcreg; /* cached write control register value */ member
237 #define RME32_ISWORKING(rme32) ((rme32)->wcreg & RME32_WCR_START)
401 writel(rme32->wcreg | RME32_WCR_PD, in snd_rme32_reset_dac()
403 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_reset_dac()
410 rate = ((rme32->wcreg >> RME32_WCR_BITPOS_FREQ_0) & 1) + in snd_rme32_playback_getrate()
411 (((rme32->wcreg >> RME32_WCR_BITPOS_FREQ_1) & 1) << 1); in snd_rme32_playback_getrate()
425 return (rme32->wcreg & RME32_WCR_DS_BM) ? rate << 1 : rate; in snd_rme32_playback_getrate()
494 ds = rme32->wcreg & RME32_WCR_DS_BM; in snd_rme32_playback_setrate()
497 rme32->wcreg &= ~RME32_WCR_DS_BM; in snd_rme32_playback_setrate()
498 rme32->wcreg = (rme32->wcreg | RME32_WCR_FREQ_0) & in snd_rme32_playback_setrate()
502 rme32->wcreg &= ~RME32_WCR_DS_BM; in snd_rme32_playback_setrate()
503 rme32->wcreg = (rme32->wcreg | RME32_WCR_FREQ_1) & in snd_rme32_playback_setrate()
507 rme32->wcreg &= ~RME32_WCR_DS_BM; in snd_rme32_playback_setrate()
508 rme32->wcreg = (rme32->wcreg | RME32_WCR_FREQ_0) | in snd_rme32_playback_setrate()
514 rme32->wcreg |= RME32_WCR_DS_BM; in snd_rme32_playback_setrate()
515 rme32->wcreg = (rme32->wcreg | RME32_WCR_FREQ_0) & in snd_rme32_playback_setrate()
521 rme32->wcreg |= RME32_WCR_DS_BM; in snd_rme32_playback_setrate()
522 rme32->wcreg = (rme32->wcreg | RME32_WCR_FREQ_1) & in snd_rme32_playback_setrate()
528 rme32->wcreg |= RME32_WCR_DS_BM; in snd_rme32_playback_setrate()
529 rme32->wcreg = (rme32->wcreg | RME32_WCR_FREQ_0) | in snd_rme32_playback_setrate()
535 if ((!ds && rme32->wcreg & RME32_WCR_DS_BM) || in snd_rme32_playback_setrate()
536 (ds && !(rme32->wcreg & RME32_WCR_DS_BM))) in snd_rme32_playback_setrate()
541 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_playback_setrate()
551 rme32->wcreg = (rme32->wcreg & ~RME32_WCR_FREQ_0) & in snd_rme32_setclockmode()
556 rme32->wcreg = (rme32->wcreg | RME32_WCR_FREQ_0) & in snd_rme32_setclockmode()
561 rme32->wcreg = (rme32->wcreg & ~RME32_WCR_FREQ_0) | in snd_rme32_setclockmode()
566 rme32->wcreg = (rme32->wcreg | RME32_WCR_FREQ_0) | in snd_rme32_setclockmode()
572 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_setclockmode()
578 return ((rme32->wcreg >> RME32_WCR_BITPOS_FREQ_0) & 1) + in snd_rme32_getclockmode()
579 (((rme32->wcreg >> RME32_WCR_BITPOS_FREQ_1) & 1) << 1); in snd_rme32_getclockmode()
586 rme32->wcreg = (rme32->wcreg & ~RME32_WCR_INP_0) & in snd_rme32_setinputtype()
590 rme32->wcreg = (rme32->wcreg | RME32_WCR_INP_0) & in snd_rme32_setinputtype()
594 rme32->wcreg = (rme32->wcreg & ~RME32_WCR_INP_0) | in snd_rme32_setinputtype()
598 rme32->wcreg = (rme32->wcreg | RME32_WCR_INP_0) | in snd_rme32_setinputtype()
604 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_setinputtype()
610 return ((rme32->wcreg >> RME32_WCR_BITPOS_INP_0) & 1) + in snd_rme32_getinputtype()
611 (((rme32->wcreg >> RME32_WCR_BITPOS_INP_1) & 1) << 1); in snd_rme32_getinputtype()
626 frlog += (rme32->wcreg & RME32_WCR_MODE24) ? 2 : 1; in snd_rme32_setframelog()
629 frlog += (rme32->wcreg & RME32_WCR_MODE24) ? 2 : 1; in snd_rme32_setframelog()
638 rme32->wcreg &= ~RME32_WCR_MODE24; in snd_rme32_setformat()
641 rme32->wcreg |= RME32_WCR_MODE24; in snd_rme32_setformat()
646 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_setformat()
695 if ((rme32->wcreg & RME32_WCR_ADAT) == 0) { in snd_rme32_playback_hw_params()
696 rme32->wcreg &= ~(RME32_WCR_PRO | RME32_WCR_EMP); in snd_rme32_playback_hw_params()
697 rme32->wcreg |= rme32->wcreg_spdif_stream; in snd_rme32_playback_hw_params()
698 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_playback_hw_params()
726 rme32->wcreg |= RME32_WCR_AUTOSYNC; in snd_rme32_capture_hw_params()
727 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_capture_hw_params()
749 rme32->wcreg &= ~RME32_WCR_AUTOSYNC; in snd_rme32_capture_hw_params()
750 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_capture_hw_params()
781 rme32->wcreg |= RME32_WCR_START; in snd_rme32_pcm_start()
782 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_pcm_start()
795 rme32->wcreg &= ~RME32_WCR_START; in snd_rme32_pcm_stop()
796 if (rme32->wcreg & RME32_WCR_SEL) in snd_rme32_pcm_stop()
797 rme32->wcreg |= RME32_WCR_MUTE; in snd_rme32_pcm_stop()
798 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_pcm_stop()
856 rme32->wcreg &= ~RME32_WCR_ADAT; in snd_rme32_playback_spdif_open()
857 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_playback_spdif_open()
938 rme32->wcreg |= RME32_WCR_ADAT; in snd_rme32_playback_adat_open()
939 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_playback_adat_open()
1001 spdif = (rme32->wcreg & RME32_WCR_ADAT) == 0; in snd_rme32_playback_close()
1035 if (rme32->wcreg & RME32_WCR_SEL) in snd_rme32_playback_prepare()
1036 rme32->wcreg &= ~RME32_WCR_MUTE; in snd_rme32_playback_prepare()
1037 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_playback_prepare()
1438 rme32->wcreg = RME32_WCR_SEL | /* normal playback */ in snd_rme32_create()
1441 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_create()
1483 if (rme32->wcreg & RME32_WCR_MODE24) { in snd_rme32_proc_read()
1488 if (rme32->wcreg & RME32_WCR_MONO) { in snd_rme32_proc_read()
1522 if (rme32->wcreg & RME32_WCR_SEL) { in snd_rme32_proc_read()
1527 if (rme32->wcreg & RME32_WCR_MUTE) { in snd_rme32_proc_read()
1535 ((!(rme32->wcreg & RME32_WCR_FREQ_0)) in snd_rme32_proc_read()
1536 && (!(rme32->wcreg & RME32_WCR_FREQ_1)))) { in snd_rme32_proc_read()
1545 if (rme32->wcreg & RME32_WCR_PRO) { in snd_rme32_proc_read()
1550 if (rme32->wcreg & RME32_WCR_EMP) { in snd_rme32_proc_read()
1579 rme32->wcreg & RME32_WCR_SEL ? 0 : 1; in snd_rme32_get_loopback_control()
1593 val = (rme32->wcreg & ~RME32_WCR_SEL) | val; in snd_rme32_put_loopback_control()
1594 change = val != rme32->wcreg; in snd_rme32_put_loopback_control()
1599 rme32->wcreg = val; in snd_rme32_put_loopback_control()
1809 rme32->wcreg &= ~(RME32_WCR_PRO | RME32_WCR_EMP); in snd_rme32_control_spdif_stream_put()
1810 rme32->wcreg |= val; in snd_rme32_control_spdif_stream_put()
1811 writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); in snd_rme32_control_spdif_stream_put()