Lines Matching refs:dummy
562 struct snd_dummy *dummy = snd_pcm_substream_chip(substream); in dummy_pcm_open() local
563 struct dummy_model *model = dummy->model; in dummy_pcm_open()
579 runtime->hw = dummy->pcm_hw; in dummy_pcm_open()
690 static int snd_card_dummy_pcm(struct snd_dummy *dummy, int device, in snd_card_dummy_pcm() argument
697 err = snd_pcm_new(dummy->card, "Dummy PCM", device, in snd_card_dummy_pcm()
701 dummy->pcm = pcm; in snd_card_dummy_pcm()
708 pcm->private_data = dummy; in snd_card_dummy_pcm()
746 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_volume_get() local
749 spin_lock_irq(&dummy->mixer_lock); in snd_dummy_volume_get()
750 ucontrol->value.integer.value[0] = dummy->mixer_volume[addr][0]; in snd_dummy_volume_get()
751 ucontrol->value.integer.value[1] = dummy->mixer_volume[addr][1]; in snd_dummy_volume_get()
752 spin_unlock_irq(&dummy->mixer_lock); in snd_dummy_volume_get()
759 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_volume_put() local
773 spin_lock_irq(&dummy->mixer_lock); in snd_dummy_volume_put()
774 change = dummy->mixer_volume[addr][0] != left || in snd_dummy_volume_put()
775 dummy->mixer_volume[addr][1] != right; in snd_dummy_volume_put()
776 dummy->mixer_volume[addr][0] = left; in snd_dummy_volume_put()
777 dummy->mixer_volume[addr][1] = right; in snd_dummy_volume_put()
778 spin_unlock_irq(&dummy->mixer_lock); in snd_dummy_volume_put()
795 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_capsrc_get() local
798 spin_lock_irq(&dummy->mixer_lock); in snd_dummy_capsrc_get()
799 ucontrol->value.integer.value[0] = dummy->capture_source[addr][0]; in snd_dummy_capsrc_get()
800 ucontrol->value.integer.value[1] = dummy->capture_source[addr][1]; in snd_dummy_capsrc_get()
801 spin_unlock_irq(&dummy->mixer_lock); in snd_dummy_capsrc_get()
807 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_capsrc_put() local
813 spin_lock_irq(&dummy->mixer_lock); in snd_dummy_capsrc_put()
814 change = dummy->capture_source[addr][0] != left && in snd_dummy_capsrc_put()
815 dummy->capture_source[addr][1] != right; in snd_dummy_capsrc_put()
816 dummy->capture_source[addr][0] = left; in snd_dummy_capsrc_put()
817 dummy->capture_source[addr][1] = right; in snd_dummy_capsrc_put()
818 spin_unlock_irq(&dummy->mixer_lock); in snd_dummy_capsrc_put()
833 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_iobox_get() local
835 value->value.enumerated.item[0] = dummy->iobox; in snd_dummy_iobox_get()
842 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_iobox_put() local
848 changed = value->value.enumerated.item[0] != dummy->iobox; in snd_dummy_iobox_put()
850 dummy->iobox = value->value.enumerated.item[0]; in snd_dummy_iobox_put()
852 if (dummy->iobox) { in snd_dummy_iobox_put()
853 dummy->cd_volume_ctl->vd[0].access &= in snd_dummy_iobox_put()
855 dummy->cd_switch_ctl->vd[0].access &= in snd_dummy_iobox_put()
858 dummy->cd_volume_ctl->vd[0].access |= in snd_dummy_iobox_put()
860 dummy->cd_switch_ctl->vd[0].access |= in snd_dummy_iobox_put()
864 snd_ctl_notify(dummy->card, SNDRV_CTL_EVENT_MASK_INFO, in snd_dummy_iobox_put()
865 &dummy->cd_volume_ctl->id); in snd_dummy_iobox_put()
866 snd_ctl_notify(dummy->card, SNDRV_CTL_EVENT_MASK_INFO, in snd_dummy_iobox_put()
867 &dummy->cd_switch_ctl->id); in snd_dummy_iobox_put()
893 static int snd_card_dummy_new_mixer(struct snd_dummy *dummy) in snd_card_dummy_new_mixer() argument
895 struct snd_card *card = dummy->card; in snd_card_dummy_new_mixer()
900 spin_lock_init(&dummy->mixer_lock); in snd_card_dummy_new_mixer()
902 dummy->iobox = 1; in snd_card_dummy_new_mixer()
905 kcontrol = snd_ctl_new1(&snd_dummy_controls[idx], dummy); in snd_card_dummy_new_mixer()
910 dummy->cd_volume_ctl = kcontrol; in snd_card_dummy_new_mixer()
912 dummy->cd_switch_ctl = kcontrol; in snd_card_dummy_new_mixer()
922 static void print_formats(struct snd_dummy *dummy, in print_formats() argument
928 if (dummy->pcm_hw.formats & (1ULL << i)) in print_formats()
933 static void print_rates(struct snd_dummy *dummy, in print_rates() argument
942 if (dummy->pcm_hw.rates & SNDRV_PCM_RATE_CONTINUOUS) in print_rates()
944 if (dummy->pcm_hw.rates & SNDRV_PCM_RATE_KNOT) in print_rates()
947 if (dummy->pcm_hw.rates & (1 << i)) in print_rates()
951 #define get_dummy_int_ptr(dummy, ofs) \ argument
952 (unsigned int *)((char *)&((dummy)->pcm_hw) + (ofs))
953 #define get_dummy_ll_ptr(dummy, ofs) \ argument
954 (unsigned long long *)((char *)&((dummy)->pcm_hw) + (ofs))
985 struct snd_dummy *dummy = entry->private_data; in dummy_proc_read() local
992 *get_dummy_int_ptr(dummy, fields[i].offset)); in dummy_proc_read()
995 *get_dummy_ll_ptr(dummy, fields[i].offset)); in dummy_proc_read()
997 print_formats(dummy, buffer); in dummy_proc_read()
999 print_rates(dummy, buffer); in dummy_proc_read()
1007 struct snd_dummy *dummy = entry->private_data; in dummy_proc_write() local
1027 *get_dummy_int_ptr(dummy, fields[i].offset) = val; in dummy_proc_write()
1029 *get_dummy_ll_ptr(dummy, fields[i].offset) = val; in dummy_proc_write()
1051 struct snd_dummy *dummy; in snd_dummy_probe() local
1060 dummy = card->private_data; in snd_dummy_probe()
1061 dummy->card = card; in snd_dummy_probe()
1067 m = dummy->model = *mdl; in snd_dummy_probe()
1076 err = snd_card_dummy_pcm(dummy, idx, pcm_substreams[dev]); in snd_dummy_probe()
1081 dummy->pcm_hw = dummy_pcm_hardware; in snd_dummy_probe()
1084 dummy->pcm_hw.formats = m->formats; in snd_dummy_probe()
1086 dummy->pcm_hw.buffer_bytes_max = m->buffer_bytes_max; in snd_dummy_probe()
1088 dummy->pcm_hw.period_bytes_min = m->period_bytes_min; in snd_dummy_probe()
1090 dummy->pcm_hw.period_bytes_max = m->period_bytes_max; in snd_dummy_probe()
1092 dummy->pcm_hw.periods_min = m->periods_min; in snd_dummy_probe()
1094 dummy->pcm_hw.periods_max = m->periods_max; in snd_dummy_probe()
1096 dummy->pcm_hw.rates = m->rates; in snd_dummy_probe()
1098 dummy->pcm_hw.rate_min = m->rate_min; in snd_dummy_probe()
1100 dummy->pcm_hw.rate_max = m->rate_max; in snd_dummy_probe()
1102 dummy->pcm_hw.channels_min = m->channels_min; in snd_dummy_probe()
1104 dummy->pcm_hw.channels_max = m->channels_max; in snd_dummy_probe()
1107 err = snd_card_dummy_new_mixer(dummy); in snd_dummy_probe()
1114 dummy_proc_init(dummy); in snd_dummy_probe()
1136 struct snd_dummy *dummy = card->private_data; in snd_dummy_suspend() local
1139 snd_pcm_suspend_all(dummy->pcm); in snd_dummy_suspend()