Lines Matching refs:loopback

95 struct loopback {  struct
104 struct loopback *loopback; member
155 return &dpcm->loopback->setup[dpcm->substream->number][device]; in get_setup()
228 card = cable->streams[SNDRV_PCM_STREAM_PLAYBACK]->loopback->card; in loopback_check_format()
250 snd_ctl_notify(dpcm->loopback->card, in loopback_active_notify()
366 mutex_lock(&dpcm->loopback->cable_lock); in loopback_prepare()
372 mutex_unlock(&dpcm->loopback->cable_lock); in loopback_prepare()
606 mutex_lock(&dpcm->loopback->cable_lock); in loopback_hw_free()
608 mutex_unlock(&dpcm->loopback->cable_lock); in loopback_hw_free()
664 struct loopback *loopback = substream->private_data; in loopback_open() local
670 mutex_lock(&loopback->cable_lock); in loopback_open()
676 dpcm->loopback = loopback; in loopback_open()
681 cable = loopback->cables[substream->number][dev]; in loopback_open()
691 loopback->cables[substream->number][dev] = cable; in loopback_open()
727 mutex_unlock(&loopback->cable_lock); in loopback_open()
733 struct loopback *loopback = substream->private_data; in loopback_close() local
739 mutex_lock(&loopback->cable_lock); in loopback_close()
740 cable = loopback->cables[substream->number][dev]; in loopback_close()
746 loopback->cables[substream->number][dev] = NULL; in loopback_close()
749 mutex_unlock(&loopback->cable_lock); in loopback_close()
779 static int loopback_pcm_new(struct loopback *loopback, in loopback_pcm_new() argument
785 err = snd_pcm_new(loopback->card, "Loopback PCM", device, in loopback_pcm_new()
792 pcm->private_data = loopback; in loopback_pcm_new()
796 loopback->pcm[device] = pcm; in loopback_pcm_new()
814 struct loopback *loopback = snd_kcontrol_chip(kcontrol); in loopback_rate_shift_get() local
817 loopback->setup[kcontrol->id.subdevice] in loopback_rate_shift_get()
825 struct loopback *loopback = snd_kcontrol_chip(kcontrol); in loopback_rate_shift_put() local
834 mutex_lock(&loopback->cable_lock); in loopback_rate_shift_put()
835 if (val != loopback->setup[kcontrol->id.subdevice] in loopback_rate_shift_put()
837 loopback->setup[kcontrol->id.subdevice] in loopback_rate_shift_put()
841 mutex_unlock(&loopback->cable_lock); in loopback_rate_shift_put()
848 struct loopback *loopback = snd_kcontrol_chip(kcontrol); in loopback_notify_get() local
851 loopback->setup[kcontrol->id.subdevice] in loopback_notify_get()
859 struct loopback *loopback = snd_kcontrol_chip(kcontrol); in loopback_notify_put() local
864 if (val != loopback->setup[kcontrol->id.subdevice] in loopback_notify_put()
866 loopback->setup[kcontrol->id.subdevice] in loopback_notify_put()
876 struct loopback *loopback = snd_kcontrol_chip(kcontrol); in loopback_active_get() local
877 struct loopback_cable *cable = loopback->cables in loopback_active_get()
902 struct loopback *loopback = snd_kcontrol_chip(kcontrol); in loopback_format_get() local
905 loopback->setup[kcontrol->id.subdevice] in loopback_format_get()
924 struct loopback *loopback = snd_kcontrol_chip(kcontrol); in loopback_rate_get() local
927 loopback->setup[kcontrol->id.subdevice] in loopback_rate_get()
946 struct loopback *loopback = snd_kcontrol_chip(kcontrol); in loopback_channels_get() local
949 loopback->setup[kcontrol->id.subdevice] in loopback_channels_get()
1003 static int loopback_mixer_new(struct loopback *loopback, int notify) in loopback_mixer_new() argument
1005 struct snd_card *card = loopback->card; in loopback_mixer_new()
1013 pcm = loopback->pcm[dev]; in loopback_mixer_new()
1017 setup = &loopback->setup[substr][dev]; in loopback_mixer_new()
1026 loopback); in loopback_mixer_new()
1084 struct loopback *loopback, in print_substream_info() argument
1088 struct loopback_cable *cable = loopback->cables[sub][num]; in print_substream_info()
1105 struct loopback *loopback = entry->private_data; in print_cable_info() local
1108 mutex_lock(&loopback->cable_lock); in print_cable_info()
1112 print_substream_info(buffer, loopback, sub, num); in print_cable_info()
1113 mutex_unlock(&loopback->cable_lock); in print_cable_info()
1116 static int loopback_proc_new(struct loopback *loopback, int cidx) in loopback_proc_new() argument
1123 err = snd_card_proc_new(loopback->card, name, &entry); in loopback_proc_new()
1127 snd_info_set_text_ops(entry, loopback, print_cable_info); in loopback_proc_new()
1133 #define loopback_proc_new(loopback, cidx) do { } while (0) argument
1140 struct loopback *loopback; in loopback_probe() local
1145 sizeof(struct loopback), &card); in loopback_probe()
1148 loopback = card->private_data; in loopback_probe()
1155 loopback->card = card; in loopback_probe()
1156 mutex_init(&loopback->cable_lock); in loopback_probe()
1158 err = loopback_pcm_new(loopback, 0, pcm_substreams[dev]); in loopback_probe()
1161 err = loopback_pcm_new(loopback, 1, pcm_substreams[dev]); in loopback_probe()
1164 err = loopback_mixer_new(loopback, pcm_notify[dev] ? 1 : 0); in loopback_probe()
1167 loopback_proc_new(loopback, 0); in loopback_probe()
1168 loopback_proc_new(loopback, 1); in loopback_probe()
1192 struct loopback *loopback = card->private_data; in loopback_suspend() local
1196 snd_pcm_suspend_all(loopback->pcm[0]); in loopback_suspend()
1197 snd_pcm_suspend_all(loopback->pcm[1]); in loopback_suspend()