Lines Matching defs:asihpi

339 static void snd_card_asihpi_pcm_samplerates(struct snd_card_asihpi *asihpi,
350 if (asihpi->support_mrx) {
358 err = hpi_mixer_get_control(asihpi->h_mixer,
362 dev_err(&asihpi->pci->dev,
908 struct snd_card_asihpi *asihpi;
911 asihpi = (struct snd_card_asihpi *)a->snd_card->private_data;
912 if (asihpi->llmode_streampriv)
914 &asihpi->llmode_streampriv->timer);
947 static u64 snd_card_asihpi_playback_formats(struct snd_card_asihpi *asihpi,
960 err = hpi_mixer_get_control(asihpi->h_mixer,
970 err = hpi_format_create(&hpi_format, asihpi->out_max_chans,
1122 static u64 snd_card_asihpi_capture_formats(struct snd_card_asihpi *asihpi,
1134 err = hpi_mixer_get_control(asihpi->h_mixer,
1145 err = hpi_format_create(&hpi_format, asihpi->in_max_chans,
1250 static int snd_card_asihpi_pcm_new(struct snd_card_asihpi *asihpi, int device)
1257 err = hpi_adapter_get_info(asihpi->hpi->adapter->index,
1261 err = snd_pcm_new(asihpi->card, "Asihpi PCM", device,
1272 pcm->private_data = asihpi;
1279 &asihpi->pci->dev,
1361 struct snd_card_asihpi *asihpi)
1365 err = snd_ctl_add(card, snd_ctl_new1(ctl, asihpi));
1369 dev_info(&asihpi->pci->dev, "added %s(%d)\n", ctl->name, ctl->index);
1480 /* change = asihpi->mixer_volume[addr][0] != left ||
1481 asihpi->mixer_volume[addr][1] != right;
1515 static int snd_asihpi_volume_add(struct snd_card_asihpi *asihpi,
1518 struct snd_card *card = asihpi->card;
1531 err = ctl_add(card, &snd_control, asihpi);
1541 err = ctl_add(card, &snd_control, asihpi);
1601 /* change = asihpi->mixer_level[addr][0] != left ||
1602 asihpi->mixer_level[addr][1] != right;
1611 static int snd_asihpi_level_add(struct snd_card_asihpi *asihpi,
1614 struct snd_card *card = asihpi->card;
1626 return ctl_add(card, &snd_control, asihpi);
1722 static int snd_asihpi_aesebu_rx_add(struct snd_card_asihpi *asihpi,
1725 struct snd_card *card = asihpi->card;
1735 if (ctl_add(card, &snd_control, asihpi) < 0)
1744 return ctl_add(card, &snd_control, asihpi);
1760 static int snd_asihpi_aesebu_tx_add(struct snd_card_asihpi *asihpi,
1763 struct snd_card *card = asihpi->card;
1772 return ctl_add(card, &snd_control, asihpi);
1808 struct snd_card_asihpi *asihpi = snd_kcontrol_chip(kcontrol);
1823 struct snd_card_asihpi *asihpi = snd_kcontrol_chip(kcontrol);
1875 struct snd_card_asihpi *asihpi = snd_kcontrol_chip(kcontrol);
1900 struct snd_card_asihpi *asihpi = snd_kcontrol_chip(kcontrol);
1992 static int snd_asihpi_tuner_add(struct snd_card_asihpi *asihpi,
1995 struct snd_card *card = asihpi->card;
2007 if (ctl_add(card, &snd_control, asihpi) < 0)
2016 if (ctl_add(card, &snd_control, asihpi) < 0)
2024 return ctl_add(card, &snd_control, asihpi);
2096 static int snd_asihpi_meter_add(struct snd_card_asihpi *asihpi,
2099 struct snd_card *card = asihpi->card;
2110 return ctl_add(card, &snd_control, asihpi);
2208 static int snd_asihpi_mux_add(struct snd_card_asihpi *asihpi,
2211 struct snd_card *card = asihpi->card;
2220 return ctl_add(card, &snd_control, asihpi);
2287 static int snd_asihpi_cmode_add(struct snd_card_asihpi *asihpi,
2290 struct snd_card *card = asihpi->card;
2299 return ctl_add(card, &snd_control, asihpi);
2320 struct snd_card_asihpi *asihpi =
2322 struct clk_cache *clkcache = &asihpi->cc;
2339 struct snd_card_asihpi *asihpi =
2341 struct clk_cache *clkcache = &asihpi->cc;
2367 struct snd_card_asihpi *asihpi =
2369 struct clk_cache *clkcache = &asihpi->cc;
2425 /* change = asihpi->mixer_clkrate[addr][0] != left ||
2426 asihpi->mixer_clkrate[addr][1] != right;
2461 static int snd_asihpi_sampleclock_add(struct snd_card_asihpi *asihpi,
2473 if (snd_BUG_ON(!asihpi))
2475 card = asihpi->card;
2476 clkcache = &asihpi->cc;
2514 if (ctl_add(card, &snd_control, asihpi) < 0)
2526 if (ctl_add(card, &snd_control, asihpi) < 0)
2536 return ctl_add(card, &snd_control, asihpi);
2542 static int snd_card_asihpi_mixer_new(struct snd_card_asihpi *asihpi)
2550 if (snd_BUG_ON(!asihpi))
2552 card = asihpi->card;
2556 hpi_mixer_open(asihpi->hpi->adapter->index,
2557 &asihpi->h_mixer);
2567 asihpi->h_mixer,
2578 dev_info(&asihpi->pci->dev,
2607 err = snd_asihpi_volume_add(asihpi, &hpi_ctl);
2610 err = snd_asihpi_level_add(asihpi, &hpi_ctl);
2613 err = snd_asihpi_mux_add(asihpi, &hpi_ctl);
2616 err = snd_asihpi_cmode_add(asihpi, &hpi_ctl);
2619 err = snd_asihpi_meter_add(asihpi, &hpi_ctl, subindex);
2623 asihpi, &hpi_ctl);
2628 err = snd_asihpi_tuner_add(asihpi, &hpi_ctl);
2631 err = snd_asihpi_aesebu_tx_add(asihpi, &hpi_ctl);
2634 err = snd_asihpi_aesebu_rx_add(asihpi, &hpi_ctl);
2643 dev_info(&asihpi->pci->dev,
2659 dev_info(&asihpi->pci->dev, "%d mixer controls found\n", idx);
2672 struct snd_card_asihpi *asihpi = entry->private_data;
2687 hpi_handle_error(hpi_adapter_get_info(asihpi->hpi->adapter->index,
2694 type, asihpi->hpi->adapter->index,
2702 err = hpi_mixer_get_control(asihpi->h_mixer,
2716 static void snd_asihpi_proc_init(struct snd_card_asihpi *asihpi)
2718 snd_card_ro_proc_new(asihpi->card, "info", asihpi,
2754 also /proc/asound/hwdep will contain '#-00: asihpi (HPI) for each card'
2756 static int snd_asihpi_hpi_new(struct snd_card_asihpi *asihpi, int device)
2761 err = snd_hwdep_new(asihpi->card, "HPI", device, &hw);
2764 strcpy(hw->name, "asihpi (HPI)");
2769 hw->private_data = asihpi;
2782 struct snd_card_asihpi *asihpi;
2819 asihpi = card->private_data;
2820 asihpi->card = card;
2821 asihpi->pci = pci_dev;
2822 asihpi->hpi = hpi;
2827 NULL, &asihpi->support_grouping);
2829 asihpi->support_grouping = 0;
2833 &asihpi->support_mrx, NULL);
2835 asihpi->support_mrx = 0;
2839 NULL, &asihpi->update_interval_frames);
2841 asihpi->update_interval_frames = 512;
2844 asihpi->pcm_start = snd_card_asihpi_pcm_int_start;
2845 asihpi->pcm_stop = snd_card_asihpi_pcm_int_stop;
2848 asihpi->pcm_start = snd_card_asihpi_pcm_timer_start;
2849 asihpi->pcm_stop = snd_card_asihpi_pcm_timer_stop;
2856 asihpi->can_dma = (!err);
2860 if (!asihpi->can_dma)
2861 asihpi->update_interval_frames *= 2;
2865 &asihpi->in_max_chans, &asihpi->out_max_chans);
2867 asihpi->in_max_chans = 2;
2868 asihpi->out_max_chans = 2;
2871 if (asihpi->out_max_chans > 2) { /* assume LL mode */
2872 asihpi->out_min_chans = asihpi->out_max_chans;
2873 asihpi->in_min_chans = asihpi->in_max_chans;
2874 asihpi->support_grouping = 0;
2876 asihpi->out_min_chans = 1;
2877 asihpi->in_min_chans = 1;
2881 asihpi->can_dma,
2882 asihpi->support_grouping,
2883 asihpi->support_mrx,
2884 asihpi->update_interval_frames
2887 err = snd_card_asihpi_pcm_new(asihpi, 0);
2892 err = snd_card_asihpi_mixer_new(asihpi);
2898 err = hpi_mixer_get_control(asihpi->h_mixer,
2906 snd_asihpi_proc_init(asihpi);
2910 snd_asihpi_hpi_new(asihpi, 0);
2915 asihpi->hpi->adapter->type);