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,
906 struct snd_card_asihpi *asihpi;
909 asihpi = (struct snd_card_asihpi *)a->snd_card->private_data;
910 if (asihpi->llmode_streampriv)
912 &asihpi->llmode_streampriv->timer);
945 static u64 snd_card_asihpi_playback_formats(struct snd_card_asihpi *asihpi,
958 err = hpi_mixer_get_control(asihpi->h_mixer,
968 err = hpi_format_create(&hpi_format, asihpi->out_max_chans,
1120 static u64 snd_card_asihpi_capture_formats(struct snd_card_asihpi *asihpi,
1132 err = hpi_mixer_get_control(asihpi->h_mixer,
1143 err = hpi_format_create(&hpi_format, asihpi->in_max_chans,
1248 static int snd_card_asihpi_pcm_new(struct snd_card_asihpi *asihpi, int device)
1255 err = hpi_adapter_get_info(asihpi->hpi->adapter->index,
1259 err = snd_pcm_new(asihpi->card, "Asihpi PCM", device,
1270 pcm->private_data = asihpi;
1277 &asihpi->pci->dev,
1359 struct snd_card_asihpi *asihpi)
1363 err = snd_ctl_add(card, snd_ctl_new1(ctl, asihpi));
1367 dev_info(&asihpi->pci->dev, "added %s(%d)\n", ctl->name, ctl->index);
1478 /* change = asihpi->mixer_volume[addr][0] != left ||
1479 asihpi->mixer_volume[addr][1] != right;
1513 static int snd_asihpi_volume_add(struct snd_card_asihpi *asihpi,
1516 struct snd_card *card = asihpi->card;
1529 err = ctl_add(card, &snd_control, asihpi);
1539 err = ctl_add(card, &snd_control, asihpi);
1599 /* change = asihpi->mixer_level[addr][0] != left ||
1600 asihpi->mixer_level[addr][1] != right;
1609 static int snd_asihpi_level_add(struct snd_card_asihpi *asihpi,
1612 struct snd_card *card = asihpi->card;
1624 return ctl_add(card, &snd_control, asihpi);
1720 static int snd_asihpi_aesebu_rx_add(struct snd_card_asihpi *asihpi,
1723 struct snd_card *card = asihpi->card;
1733 if (ctl_add(card, &snd_control, asihpi) < 0)
1742 return ctl_add(card, &snd_control, asihpi);
1758 static int snd_asihpi_aesebu_tx_add(struct snd_card_asihpi *asihpi,
1761 struct snd_card *card = asihpi->card;
1770 return ctl_add(card, &snd_control, asihpi);
1806 struct snd_card_asihpi *asihpi = snd_kcontrol_chip(kcontrol);
1821 struct snd_card_asihpi *asihpi = snd_kcontrol_chip(kcontrol);
1873 struct snd_card_asihpi *asihpi = snd_kcontrol_chip(kcontrol);
1898 struct snd_card_asihpi *asihpi = snd_kcontrol_chip(kcontrol);
1990 static int snd_asihpi_tuner_add(struct snd_card_asihpi *asihpi,
1993 struct snd_card *card = asihpi->card;
2005 if (ctl_add(card, &snd_control, asihpi) < 0)
2014 if (ctl_add(card, &snd_control, asihpi) < 0)
2022 return ctl_add(card, &snd_control, asihpi);
2094 static int snd_asihpi_meter_add(struct snd_card_asihpi *asihpi,
2097 struct snd_card *card = asihpi->card;
2108 return ctl_add(card, &snd_control, asihpi);
2206 static int snd_asihpi_mux_add(struct snd_card_asihpi *asihpi,
2209 struct snd_card *card = asihpi->card;
2218 return ctl_add(card, &snd_control, asihpi);
2285 static int snd_asihpi_cmode_add(struct snd_card_asihpi *asihpi,
2288 struct snd_card *card = asihpi->card;
2297 return ctl_add(card, &snd_control, asihpi);
2318 struct snd_card_asihpi *asihpi =
2320 struct clk_cache *clkcache = &asihpi->cc;
2337 struct snd_card_asihpi *asihpi =
2339 struct clk_cache *clkcache = &asihpi->cc;
2365 struct snd_card_asihpi *asihpi =
2367 struct clk_cache *clkcache = &asihpi->cc;
2423 /* change = asihpi->mixer_clkrate[addr][0] != left ||
2424 asihpi->mixer_clkrate[addr][1] != right;
2459 static int snd_asihpi_sampleclock_add(struct snd_card_asihpi *asihpi,
2471 if (snd_BUG_ON(!asihpi))
2473 card = asihpi->card;
2474 clkcache = &asihpi->cc;
2512 if (ctl_add(card, &snd_control, asihpi) < 0)
2524 if (ctl_add(card, &snd_control, asihpi) < 0)
2534 return ctl_add(card, &snd_control, asihpi);
2540 static int snd_card_asihpi_mixer_new(struct snd_card_asihpi *asihpi)
2548 if (snd_BUG_ON(!asihpi))
2550 card = asihpi->card;
2554 hpi_mixer_open(asihpi->hpi->adapter->index,
2555 &asihpi->h_mixer);
2565 asihpi->h_mixer,
2576 dev_info(&asihpi->pci->dev,
2605 err = snd_asihpi_volume_add(asihpi, &hpi_ctl);
2608 err = snd_asihpi_level_add(asihpi, &hpi_ctl);
2611 err = snd_asihpi_mux_add(asihpi, &hpi_ctl);
2614 err = snd_asihpi_cmode_add(asihpi, &hpi_ctl);
2617 err = snd_asihpi_meter_add(asihpi, &hpi_ctl, subindex);
2621 asihpi, &hpi_ctl);
2626 err = snd_asihpi_tuner_add(asihpi, &hpi_ctl);
2629 err = snd_asihpi_aesebu_tx_add(asihpi, &hpi_ctl);
2632 err = snd_asihpi_aesebu_rx_add(asihpi, &hpi_ctl);
2641 dev_info(&asihpi->pci->dev,
2657 dev_info(&asihpi->pci->dev, "%d mixer controls found\n", idx);
2670 struct snd_card_asihpi *asihpi = entry->private_data;
2685 hpi_handle_error(hpi_adapter_get_info(asihpi->hpi->adapter->index,
2692 type, asihpi->hpi->adapter->index,
2700 err = hpi_mixer_get_control(asihpi->h_mixer,
2714 static void snd_asihpi_proc_init(struct snd_card_asihpi *asihpi)
2716 snd_card_ro_proc_new(asihpi->card, "info", asihpi,
2752 also /proc/asound/hwdep will contain '#-00: asihpi (HPI) for each card'
2754 static int snd_asihpi_hpi_new(struct snd_card_asihpi *asihpi, int device)
2759 err = snd_hwdep_new(asihpi->card, "HPI", device, &hw);
2762 strcpy(hw->name, "asihpi (HPI)");
2767 hw->private_data = asihpi;
2780 struct snd_card_asihpi *asihpi;
2817 asihpi = card->private_data;
2818 asihpi->card = card;
2819 asihpi->pci = pci_dev;
2820 asihpi->hpi = hpi;
2825 NULL, &asihpi->support_grouping);
2827 asihpi->support_grouping = 0;
2831 &asihpi->support_mrx, NULL);
2833 asihpi->support_mrx = 0;
2837 NULL, &asihpi->update_interval_frames);
2839 asihpi->update_interval_frames = 512;
2842 asihpi->pcm_start = snd_card_asihpi_pcm_int_start;
2843 asihpi->pcm_stop = snd_card_asihpi_pcm_int_stop;
2846 asihpi->pcm_start = snd_card_asihpi_pcm_timer_start;
2847 asihpi->pcm_stop = snd_card_asihpi_pcm_timer_stop;
2854 asihpi->can_dma = (!err);
2858 if (!asihpi->can_dma)
2859 asihpi->update_interval_frames *= 2;
2863 &asihpi->in_max_chans, &asihpi->out_max_chans);
2865 asihpi->in_max_chans = 2;
2866 asihpi->out_max_chans = 2;
2869 if (asihpi->out_max_chans > 2) { /* assume LL mode */
2870 asihpi->out_min_chans = asihpi->out_max_chans;
2871 asihpi->in_min_chans = asihpi->in_max_chans;
2872 asihpi->support_grouping = 0;
2874 asihpi->out_min_chans = 1;
2875 asihpi->in_min_chans = 1;
2879 asihpi->can_dma,
2880 asihpi->support_grouping,
2881 asihpi->support_mrx,
2882 asihpi->update_interval_frames
2885 err = snd_card_asihpi_pcm_new(asihpi, 0);
2890 err = snd_card_asihpi_mixer_new(asihpi);
2896 err = hpi_mixer_get_control(asihpi->h_mixer,
2904 snd_asihpi_proc_init(asihpi);
2908 snd_asihpi_hpi_new(asihpi, 0);
2913 asihpi->hpi->adapter->type);