Lines Matching refs:asihpi
360 static void snd_card_asihpi_pcm_samplerates(struct snd_card_asihpi *asihpi, in snd_card_asihpi_pcm_samplerates() argument
371 if (asihpi->support_mrx) { in snd_card_asihpi_pcm_samplerates()
379 err = hpi_mixer_get_control(asihpi->h_mixer, in snd_card_asihpi_pcm_samplerates()
383 dev_err(&asihpi->pci->dev, in snd_card_asihpi_pcm_samplerates()
949 struct snd_card_asihpi *asihpi; in snd_card_asihpi_int_task() local
952 asihpi = (struct snd_card_asihpi *)a->snd_card->private_data; in snd_card_asihpi_int_task()
953 if (asihpi->llmode_streampriv) in snd_card_asihpi_int_task()
955 (unsigned long)asihpi->llmode_streampriv); in snd_card_asihpi_int_task()
960 struct snd_card_asihpi *asihpi; in snd_card_asihpi_isr() local
963 asihpi = (struct snd_card_asihpi *)a->snd_card->private_data; in snd_card_asihpi_isr()
964 tasklet_schedule(&asihpi->t); in snd_card_asihpi_isr()
1006 static u64 snd_card_asihpi_playback_formats(struct snd_card_asihpi *asihpi, in snd_card_asihpi_playback_formats() argument
1019 err = hpi_mixer_get_control(asihpi->h_mixer, in snd_card_asihpi_playback_formats()
1029 err = hpi_format_create(&hpi_format, asihpi->out_max_chans, in snd_card_asihpi_playback_formats()
1189 static u64 snd_card_asihpi_capture_formats(struct snd_card_asihpi *asihpi, in snd_card_asihpi_capture_formats() argument
1201 err = hpi_mixer_get_control(asihpi->h_mixer, in snd_card_asihpi_capture_formats()
1212 err = hpi_format_create(&hpi_format, asihpi->in_max_chans, in snd_card_asihpi_capture_formats()
1319 static int snd_card_asihpi_pcm_new(struct snd_card_asihpi *asihpi, int device) in snd_card_asihpi_pcm_new() argument
1326 err = hpi_adapter_get_info(asihpi->hpi->adapter->index, in snd_card_asihpi_pcm_new()
1330 err = snd_pcm_new(asihpi->card, "Asihpi PCM", device, in snd_card_asihpi_pcm_new()
1341 pcm->private_data = asihpi; in snd_card_asihpi_pcm_new()
1348 snd_dma_pci_data(asihpi->pci), in snd_card_asihpi_pcm_new()
1430 struct snd_card_asihpi *asihpi) in ctl_add() argument
1434 err = snd_ctl_add(card, snd_ctl_new1(ctl, asihpi)); in ctl_add()
1438 dev_info(&asihpi->pci->dev, "added %s(%d)\n", ctl->name, ctl->index); in ctl_add()
1587 static int snd_asihpi_volume_add(struct snd_card_asihpi *asihpi, in snd_asihpi_volume_add() argument
1590 struct snd_card *card = asihpi->card; in snd_asihpi_volume_add()
1603 err = ctl_add(card, &snd_control, asihpi); in snd_asihpi_volume_add()
1613 err = ctl_add(card, &snd_control, asihpi); in snd_asihpi_volume_add()
1683 static int snd_asihpi_level_add(struct snd_card_asihpi *asihpi, in snd_asihpi_level_add() argument
1686 struct snd_card *card = asihpi->card; in snd_asihpi_level_add()
1698 return ctl_add(card, &snd_control, asihpi); in snd_asihpi_level_add()
1794 static int snd_asihpi_aesebu_rx_add(struct snd_card_asihpi *asihpi, in snd_asihpi_aesebu_rx_add() argument
1797 struct snd_card *card = asihpi->card; in snd_asihpi_aesebu_rx_add()
1807 if (ctl_add(card, &snd_control, asihpi) < 0) in snd_asihpi_aesebu_rx_add()
1816 return ctl_add(card, &snd_control, asihpi); in snd_asihpi_aesebu_rx_add()
1832 static int snd_asihpi_aesebu_tx_add(struct snd_card_asihpi *asihpi, in snd_asihpi_aesebu_tx_add() argument
1835 struct snd_card *card = asihpi->card; in snd_asihpi_aesebu_tx_add()
1844 return ctl_add(card, &snd_control, asihpi); in snd_asihpi_aesebu_tx_add()
2064 static int snd_asihpi_tuner_add(struct snd_card_asihpi *asihpi, in snd_asihpi_tuner_add() argument
2067 struct snd_card *card = asihpi->card; in snd_asihpi_tuner_add()
2079 if (ctl_add(card, &snd_control, asihpi) < 0) in snd_asihpi_tuner_add()
2088 if (ctl_add(card, &snd_control, asihpi) < 0) in snd_asihpi_tuner_add()
2096 return ctl_add(card, &snd_control, asihpi); in snd_asihpi_tuner_add()
2168 static int snd_asihpi_meter_add(struct snd_card_asihpi *asihpi, in snd_asihpi_meter_add() argument
2171 struct snd_card *card = asihpi->card; in snd_asihpi_meter_add()
2182 return ctl_add(card, &snd_control, asihpi); in snd_asihpi_meter_add()
2282 static int snd_asihpi_mux_add(struct snd_card_asihpi *asihpi, in snd_asihpi_mux_add() argument
2285 struct snd_card *card = asihpi->card; in snd_asihpi_mux_add()
2294 return ctl_add(card, &snd_control, asihpi); in snd_asihpi_mux_add()
2361 static int snd_asihpi_cmode_add(struct snd_card_asihpi *asihpi, in snd_asihpi_cmode_add() argument
2364 struct snd_card *card = asihpi->card; in snd_asihpi_cmode_add()
2373 return ctl_add(card, &snd_control, asihpi); in snd_asihpi_cmode_add()
2394 struct snd_card_asihpi *asihpi = in snd_asihpi_clksrc_info() local
2396 struct clk_cache *clkcache = &asihpi->cc; in snd_asihpi_clksrc_info()
2413 struct snd_card_asihpi *asihpi = in snd_asihpi_clksrc_get() local
2415 struct clk_cache *clkcache = &asihpi->cc; in snd_asihpi_clksrc_get()
2441 struct snd_card_asihpi *asihpi = in snd_asihpi_clksrc_put() local
2443 struct clk_cache *clkcache = &asihpi->cc; in snd_asihpi_clksrc_put()
2535 static int snd_asihpi_sampleclock_add(struct snd_card_asihpi *asihpi, in snd_asihpi_sampleclock_add() argument
2547 if (snd_BUG_ON(!asihpi)) in snd_asihpi_sampleclock_add()
2549 card = asihpi->card; in snd_asihpi_sampleclock_add()
2550 clkcache = &asihpi->cc; in snd_asihpi_sampleclock_add()
2588 if (ctl_add(card, &snd_control, asihpi) < 0) in snd_asihpi_sampleclock_add()
2600 if (ctl_add(card, &snd_control, asihpi) < 0) in snd_asihpi_sampleclock_add()
2610 return ctl_add(card, &snd_control, asihpi); in snd_asihpi_sampleclock_add()
2616 static int snd_card_asihpi_mixer_new(struct snd_card_asihpi *asihpi) in snd_card_asihpi_mixer_new() argument
2624 if (snd_BUG_ON(!asihpi)) in snd_card_asihpi_mixer_new()
2626 card = asihpi->card; in snd_card_asihpi_mixer_new()
2630 hpi_mixer_open(asihpi->hpi->adapter->index, in snd_card_asihpi_mixer_new()
2631 &asihpi->h_mixer); in snd_card_asihpi_mixer_new()
2641 asihpi->h_mixer, in snd_card_asihpi_mixer_new()
2652 dev_info(&asihpi->pci->dev, in snd_card_asihpi_mixer_new()
2681 err = snd_asihpi_volume_add(asihpi, &hpi_ctl); in snd_card_asihpi_mixer_new()
2684 err = snd_asihpi_level_add(asihpi, &hpi_ctl); in snd_card_asihpi_mixer_new()
2687 err = snd_asihpi_mux_add(asihpi, &hpi_ctl); in snd_card_asihpi_mixer_new()
2690 err = snd_asihpi_cmode_add(asihpi, &hpi_ctl); in snd_card_asihpi_mixer_new()
2693 err = snd_asihpi_meter_add(asihpi, &hpi_ctl, subindex); in snd_card_asihpi_mixer_new()
2697 asihpi, &hpi_ctl); in snd_card_asihpi_mixer_new()
2702 err = snd_asihpi_tuner_add(asihpi, &hpi_ctl); in snd_card_asihpi_mixer_new()
2705 err = snd_asihpi_aesebu_tx_add(asihpi, &hpi_ctl); in snd_card_asihpi_mixer_new()
2708 err = snd_asihpi_aesebu_rx_add(asihpi, &hpi_ctl); in snd_card_asihpi_mixer_new()
2717 dev_info(&asihpi->pci->dev, in snd_card_asihpi_mixer_new()
2733 dev_info(&asihpi->pci->dev, "%d mixer controls found\n", idx); in snd_card_asihpi_mixer_new()
2746 struct snd_card_asihpi *asihpi = entry->private_data; in snd_asihpi_proc_read() local
2761 hpi_handle_error(hpi_adapter_get_info(asihpi->hpi->adapter->index, in snd_asihpi_proc_read()
2768 type, asihpi->hpi->adapter->index, in snd_asihpi_proc_read()
2776 err = hpi_mixer_get_control(asihpi->h_mixer, in snd_asihpi_proc_read()
2790 static void snd_asihpi_proc_init(struct snd_card_asihpi *asihpi) in snd_asihpi_proc_init() argument
2794 if (!snd_card_proc_new(asihpi->card, "info", &entry)) in snd_asihpi_proc_init()
2795 snd_info_set_text_ops(entry, asihpi, snd_asihpi_proc_read); in snd_asihpi_proc_init()
2832 static int snd_asihpi_hpi_new(struct snd_card_asihpi *asihpi, int device) in snd_asihpi_hpi_new() argument
2837 err = snd_hwdep_new(asihpi->card, "HPI", device, &hw); in snd_asihpi_hpi_new()
2845 hw->private_data = asihpi; in snd_asihpi_hpi_new()
2858 struct snd_card_asihpi *asihpi; in snd_asihpi_probe() local
2895 asihpi = card->private_data; in snd_asihpi_probe()
2896 asihpi->card = card; in snd_asihpi_probe()
2897 asihpi->pci = pci_dev; in snd_asihpi_probe()
2898 asihpi->hpi = hpi; in snd_asihpi_probe()
2903 NULL, &asihpi->support_grouping); in snd_asihpi_probe()
2905 asihpi->support_grouping = 0; in snd_asihpi_probe()
2909 &asihpi->support_mrx, NULL); in snd_asihpi_probe()
2911 asihpi->support_mrx = 0; in snd_asihpi_probe()
2915 NULL, &asihpi->update_interval_frames); in snd_asihpi_probe()
2917 asihpi->update_interval_frames = 512; in snd_asihpi_probe()
2920 asihpi->pcm_start = snd_card_asihpi_pcm_int_start; in snd_asihpi_probe()
2921 asihpi->pcm_stop = snd_card_asihpi_pcm_int_stop; in snd_asihpi_probe()
2922 tasklet_init(&asihpi->t, snd_card_asihpi_int_task, in snd_asihpi_probe()
2926 asihpi->pcm_start = snd_card_asihpi_pcm_timer_start; in snd_asihpi_probe()
2927 asihpi->pcm_stop = snd_card_asihpi_pcm_timer_stop; in snd_asihpi_probe()
2934 asihpi->can_dma = (!err); in snd_asihpi_probe()
2938 if (!asihpi->can_dma) in snd_asihpi_probe()
2939 asihpi->update_interval_frames *= 2; in snd_asihpi_probe()
2943 &asihpi->in_max_chans, &asihpi->out_max_chans); in snd_asihpi_probe()
2945 asihpi->in_max_chans = 2; in snd_asihpi_probe()
2946 asihpi->out_max_chans = 2; in snd_asihpi_probe()
2949 if (asihpi->out_max_chans > 2) { /* assume LL mode */ in snd_asihpi_probe()
2950 asihpi->out_min_chans = asihpi->out_max_chans; in snd_asihpi_probe()
2951 asihpi->in_min_chans = asihpi->in_max_chans; in snd_asihpi_probe()
2952 asihpi->support_grouping = 0; in snd_asihpi_probe()
2954 asihpi->out_min_chans = 1; in snd_asihpi_probe()
2955 asihpi->in_min_chans = 1; in snd_asihpi_probe()
2959 asihpi->can_dma, in snd_asihpi_probe()
2960 asihpi->support_grouping, in snd_asihpi_probe()
2961 asihpi->support_mrx, in snd_asihpi_probe()
2962 asihpi->update_interval_frames in snd_asihpi_probe()
2965 err = snd_card_asihpi_pcm_new(asihpi, 0); in snd_asihpi_probe()
2970 err = snd_card_asihpi_mixer_new(asihpi); in snd_asihpi_probe()
2976 err = hpi_mixer_get_control(asihpi->h_mixer, in snd_asihpi_probe()
2984 snd_asihpi_proc_init(asihpi); in snd_asihpi_probe()
2988 snd_asihpi_hpi_new(asihpi, 0); in snd_asihpi_probe()
2993 asihpi->hpi->adapter->type); in snd_asihpi_probe()
3012 struct snd_card_asihpi *asihpi = hpi->snd_card->private_data; in snd_asihpi_remove() local
3019 tasklet_kill(&asihpi->t); in snd_asihpi_remove()