• Home
  • Raw
  • Download

Lines Matching full:dummy

2  *  Dummy soundcard
40 MODULE_DESCRIPTION("Dummy soundcard (/dev/null)");
42 MODULE_SUPPORTED_DEVICE("{{ALSA,Dummy soundcard}}");
74 MODULE_PARM_DESC(index, "Index value for dummy soundcard.");
76 MODULE_PARM_DESC(id, "ID string for dummy soundcard.");
78 MODULE_PARM_DESC(enable, "Enable this dummy soundcard.");
82 MODULE_PARM_DESC(pcm_devs, "PCM devices # (0-4) for dummy driver.");
84 MODULE_PARM_DESC(pcm_substreams, "PCM substreams # (1-128) for dummy driver.");
86 //MODULE_PARM_DESC(midi_devs, "MIDI devices # (0-2) for dummy driver.");
559 struct snd_dummy *dummy = snd_pcm_substream_chip(substream); in dummy_pcm_open() local
560 struct dummy_model *model = dummy->model; in dummy_pcm_open()
576 runtime->hw = dummy->pcm_hw; in dummy_pcm_open()
609 * dummy buffer handling
695 static int snd_card_dummy_pcm(struct snd_dummy *dummy, int device, in snd_card_dummy_pcm() argument
702 err = snd_pcm_new(dummy->card, "Dummy PCM", device, in snd_card_dummy_pcm()
706 dummy->pcm = pcm; in snd_card_dummy_pcm()
713 pcm->private_data = dummy; in snd_card_dummy_pcm()
715 strcpy(pcm->name, "Dummy PCM"); in snd_card_dummy_pcm()
751 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_volume_get() local
754 spin_lock_irq(&dummy->mixer_lock); in snd_dummy_volume_get()
755 ucontrol->value.integer.value[0] = dummy->mixer_volume[addr][0]; in snd_dummy_volume_get()
756 ucontrol->value.integer.value[1] = dummy->mixer_volume[addr][1]; in snd_dummy_volume_get()
757 spin_unlock_irq(&dummy->mixer_lock); in snd_dummy_volume_get()
764 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_volume_put() local
778 spin_lock_irq(&dummy->mixer_lock); in snd_dummy_volume_put()
779 change = dummy->mixer_volume[addr][0] != left || in snd_dummy_volume_put()
780 dummy->mixer_volume[addr][1] != right; in snd_dummy_volume_put()
781 dummy->mixer_volume[addr][0] = left; in snd_dummy_volume_put()
782 dummy->mixer_volume[addr][1] = right; in snd_dummy_volume_put()
783 spin_unlock_irq(&dummy->mixer_lock); in snd_dummy_volume_put()
800 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_capsrc_get() local
803 spin_lock_irq(&dummy->mixer_lock); in snd_dummy_capsrc_get()
804 ucontrol->value.integer.value[0] = dummy->capture_source[addr][0]; in snd_dummy_capsrc_get()
805 ucontrol->value.integer.value[1] = dummy->capture_source[addr][1]; in snd_dummy_capsrc_get()
806 spin_unlock_irq(&dummy->mixer_lock); in snd_dummy_capsrc_get()
812 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_capsrc_put() local
818 spin_lock_irq(&dummy->mixer_lock); in snd_dummy_capsrc_put()
819 change = dummy->capture_source[addr][0] != left && in snd_dummy_capsrc_put()
820 dummy->capture_source[addr][1] != right; in snd_dummy_capsrc_put()
821 dummy->capture_source[addr][0] = left; in snd_dummy_capsrc_put()
822 dummy->capture_source[addr][1] = right; in snd_dummy_capsrc_put()
823 spin_unlock_irq(&dummy->mixer_lock); in snd_dummy_capsrc_put()
838 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_iobox_get() local
840 value->value.enumerated.item[0] = dummy->iobox; in snd_dummy_iobox_get()
847 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol); in snd_dummy_iobox_put() local
853 changed = value->value.enumerated.item[0] != dummy->iobox; in snd_dummy_iobox_put()
855 dummy->iobox = value->value.enumerated.item[0]; in snd_dummy_iobox_put()
857 if (dummy->iobox) { 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()
863 dummy->cd_volume_ctl->vd[0].access |= in snd_dummy_iobox_put()
865 dummy->cd_switch_ctl->vd[0].access |= in snd_dummy_iobox_put()
869 snd_ctl_notify(dummy->card, SNDRV_CTL_EVENT_MASK_INFO, in snd_dummy_iobox_put()
870 &dummy->cd_volume_ctl->id); in snd_dummy_iobox_put()
871 snd_ctl_notify(dummy->card, SNDRV_CTL_EVENT_MASK_INFO, in snd_dummy_iobox_put()
872 &dummy->cd_switch_ctl->id); in snd_dummy_iobox_put()
898 static int snd_card_dummy_new_mixer(struct snd_dummy *dummy) in snd_card_dummy_new_mixer() argument
900 struct snd_card *card = dummy->card; in snd_card_dummy_new_mixer()
905 spin_lock_init(&dummy->mixer_lock); in snd_card_dummy_new_mixer()
906 strcpy(card->mixername, "Dummy Mixer"); in snd_card_dummy_new_mixer()
907 dummy->iobox = 1; in snd_card_dummy_new_mixer()
910 kcontrol = snd_ctl_new1(&snd_dummy_controls[idx], dummy); in snd_card_dummy_new_mixer()
915 dummy->cd_volume_ctl = kcontrol; in snd_card_dummy_new_mixer()
917 dummy->cd_switch_ctl = kcontrol; in snd_card_dummy_new_mixer()
927 static void print_formats(struct snd_dummy *dummy, in print_formats() argument
933 if (dummy->pcm_hw.formats & (1ULL << i)) in print_formats()
938 static void print_rates(struct snd_dummy *dummy, in print_rates() argument
947 if (dummy->pcm_hw.rates & SNDRV_PCM_RATE_CONTINUOUS) in print_rates()
949 if (dummy->pcm_hw.rates & SNDRV_PCM_RATE_KNOT) in print_rates()
952 if (dummy->pcm_hw.rates & (1 << i)) in print_rates()
956 #define get_dummy_int_ptr(dummy, ofs) \ argument
957 (unsigned int *)((char *)&((dummy)->pcm_hw) + (ofs))
958 #define get_dummy_ll_ptr(dummy, ofs) \ argument
959 (unsigned long long *)((char *)&((dummy)->pcm_hw) + (ofs))
990 struct snd_dummy *dummy = entry->private_data; in dummy_proc_read() local
997 *get_dummy_int_ptr(dummy, fields[i].offset)); in dummy_proc_read()
1000 *get_dummy_ll_ptr(dummy, fields[i].offset)); in dummy_proc_read()
1002 print_formats(dummy, buffer); in dummy_proc_read()
1004 print_rates(dummy, buffer); in dummy_proc_read()
1012 struct snd_dummy *dummy = entry->private_data; in dummy_proc_write() local
1032 *get_dummy_int_ptr(dummy, fields[i].offset) = val; in dummy_proc_write()
1034 *get_dummy_ll_ptr(dummy, fields[i].offset) = val; in dummy_proc_write()
1056 struct snd_dummy *dummy; in snd_dummy_probe() local
1065 dummy = card->private_data; in snd_dummy_probe()
1066 dummy->card = card; in snd_dummy_probe()
1070 "snd-dummy: Using model '%s' for card %i\n", in snd_dummy_probe()
1072 m = dummy->model = *mdl; in snd_dummy_probe()
1081 err = snd_card_dummy_pcm(dummy, idx, pcm_substreams[dev]); in snd_dummy_probe()
1086 dummy->pcm_hw = dummy_pcm_hardware; in snd_dummy_probe()
1089 dummy->pcm_hw.formats = m->formats; in snd_dummy_probe()
1091 dummy->pcm_hw.buffer_bytes_max = m->buffer_bytes_max; in snd_dummy_probe()
1093 dummy->pcm_hw.period_bytes_min = m->period_bytes_min; in snd_dummy_probe()
1095 dummy->pcm_hw.period_bytes_max = m->period_bytes_max; in snd_dummy_probe()
1097 dummy->pcm_hw.periods_min = m->periods_min; in snd_dummy_probe()
1099 dummy->pcm_hw.periods_max = m->periods_max; in snd_dummy_probe()
1101 dummy->pcm_hw.rates = m->rates; in snd_dummy_probe()
1103 dummy->pcm_hw.rate_min = m->rate_min; in snd_dummy_probe()
1105 dummy->pcm_hw.rate_max = m->rate_max; in snd_dummy_probe()
1107 dummy->pcm_hw.channels_min = m->channels_min; in snd_dummy_probe()
1109 dummy->pcm_hw.channels_max = m->channels_max; in snd_dummy_probe()
1112 err = snd_card_dummy_new_mixer(dummy); in snd_dummy_probe()
1115 strcpy(card->driver, "Dummy"); in snd_dummy_probe()
1116 strcpy(card->shortname, "Dummy"); in snd_dummy_probe()
1117 sprintf(card->longname, "Dummy %i", dev + 1); in snd_dummy_probe()
1119 dummy_proc_init(dummy); in snd_dummy_probe()
1141 struct snd_dummy *dummy = card->private_data; in snd_dummy_suspend() local
1144 snd_pcm_suspend_all(dummy->pcm); in snd_dummy_suspend()
1215 printk(KERN_ERR "Dummy soundcard not found or device busy\n"); in alsa_card_dummy_init()