Lines Matching defs:admaif
23 #define CH_TX_REG(reg, id) CH_REG(admaif->soc_data->tx_base, reg, id)
25 #define CH_RX_REG(reg, id) CH_REG(admaif->soc_data->rx_base, reg, id)
82 struct tegra_admaif *admaif = dev_get_drvdata(dev);
84 unsigned int num_ch = admaif->soc_data->num_ch;
85 unsigned int rx_base = admaif->soc_data->rx_base;
86 unsigned int tx_base = admaif->soc_data->tx_base;
87 unsigned int global_base = admaif->soc_data->global_base;
88 unsigned int reg_max = admaif->soc_data->regmap_conf->max_register;
116 struct tegra_admaif *admaif = dev_get_drvdata(dev);
118 unsigned int num_ch = admaif->soc_data->num_ch;
119 unsigned int rx_base = admaif->soc_data->rx_base;
120 unsigned int tx_base = admaif->soc_data->tx_base;
121 unsigned int global_base = admaif->soc_data->global_base;
122 unsigned int reg_max = admaif->soc_data->regmap_conf->max_register;
160 struct tegra_admaif *admaif = dev_get_drvdata(dev);
162 unsigned int num_ch = admaif->soc_data->num_ch;
163 unsigned int rx_base = admaif->soc_data->rx_base;
164 unsigned int tx_base = admaif->soc_data->tx_base;
165 unsigned int global_base = admaif->soc_data->global_base;
166 unsigned int reg_max = admaif->soc_data->regmap_conf->max_register;
224 struct tegra_admaif *admaif = dev_get_drvdata(dev);
226 regcache_cache_only(admaif->regmap, true);
227 regcache_mark_dirty(admaif->regmap);
234 struct tegra_admaif *admaif = dev_get_drvdata(dev);
236 regcache_cache_only(admaif->regmap, false);
237 regcache_sync(admaif->regmap);
270 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai);
310 cif_conf.mono_conv = admaif->mono_to_stereo[path][dai->id];
311 cif_conf.stereo_conv = admaif->stereo_to_mono[path][dai->id];
313 tegra_admaif_set_pack_mode(admaif->regmap, reg, valid_bit);
315 tegra_set_cif(admaif->regmap, reg, &cif_conf);
322 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai);
340 regmap_update_bits(admaif->regmap, reg, mask, val);
347 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai);
374 regmap_update_bits(admaif->regmap, enable_reg, mask, ~enable);
377 err = regmap_read_poll_timeout_atomic(admaif->regmap, status_reg, val,
384 regmap_update_bits(admaif->regmap, reset_reg, SW_RESET_MASK, SW_RESET);
387 err = regmap_read_poll_timeout_atomic(admaif->regmap, reset_reg, val,
426 struct tegra_admaif *admaif = snd_soc_component_get_drvdata(cmpnt);
430 admaif->mono_to_stereo[ADMAIF_TX_PATH][ec->reg];
439 struct tegra_admaif *admaif = snd_soc_component_get_drvdata(cmpnt);
443 if (value == admaif->mono_to_stereo[ADMAIF_TX_PATH][ec->reg])
446 admaif->mono_to_stereo[ADMAIF_TX_PATH][ec->reg] = value;
455 struct tegra_admaif *admaif = snd_soc_component_get_drvdata(cmpnt);
459 admaif->mono_to_stereo[ADMAIF_RX_PATH][ec->reg];
468 struct tegra_admaif *admaif = snd_soc_component_get_drvdata(cmpnt);
472 if (value == admaif->mono_to_stereo[ADMAIF_RX_PATH][ec->reg])
475 admaif->mono_to_stereo[ADMAIF_RX_PATH][ec->reg] = value;
484 struct tegra_admaif *admaif = snd_soc_component_get_drvdata(cmpnt);
488 admaif->stereo_to_mono[ADMAIF_TX_PATH][ec->reg];
497 struct tegra_admaif *admaif = snd_soc_component_get_drvdata(cmpnt);
501 if (value == admaif->stereo_to_mono[ADMAIF_TX_PATH][ec->reg])
504 admaif->stereo_to_mono[ADMAIF_TX_PATH][ec->reg] = value;
513 struct tegra_admaif *admaif = snd_soc_component_get_drvdata(cmpnt);
517 admaif->stereo_to_mono[ADMAIF_RX_PATH][ec->reg];
526 struct tegra_admaif *admaif = snd_soc_component_get_drvdata(cmpnt);
530 if (value == admaif->stereo_to_mono[ADMAIF_RX_PATH][ec->reg])
533 admaif->stereo_to_mono[ADMAIF_RX_PATH][ec->reg] = value;
540 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai);
542 snd_soc_dai_init_dma_data(dai, &admaif->playback_dma_data[dai->id],
543 &admaif->capture_dma_data[dai->id]);
732 { .compatible = "nvidia,tegra210-admaif", .data = &soc_data_tegra210 },
733 { .compatible = "nvidia,tegra186-admaif", .data = &soc_data_tegra186 },
740 struct tegra_admaif *admaif;
745 admaif = devm_kzalloc(&pdev->dev, sizeof(*admaif), GFP_KERNEL);
746 if (!admaif)
749 admaif->soc_data = of_device_get_match_data(&pdev->dev);
751 dev_set_drvdata(&pdev->dev, admaif);
753 admaif->capture_dma_data =
755 admaif->soc_data->num_ch,
758 if (!admaif->capture_dma_data)
761 admaif->playback_dma_data =
763 admaif->soc_data->num_ch,
766 if (!admaif->playback_dma_data)
770 admaif->mono_to_stereo[i] =
771 devm_kcalloc(&pdev->dev, admaif->soc_data->num_ch,
773 if (!admaif->mono_to_stereo[i])
776 admaif->stereo_to_mono[i] =
777 devm_kcalloc(&pdev->dev, admaif->soc_data->num_ch,
779 if (!admaif->stereo_to_mono[i])
787 admaif->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
788 admaif->soc_data->regmap_conf);
789 if (IS_ERR(admaif->regmap)) {
791 return PTR_ERR(admaif->regmap);
794 regcache_cache_only(admaif->regmap, true);
796 regmap_update_bits(admaif->regmap, admaif->soc_data->global_base +
799 for (i = 0; i < admaif->soc_data->num_ch; i++) {
800 admaif->playback_dma_data[i].addr = res->start +
803 admaif->capture_dma_data[i].addr = res->start +
806 admaif->playback_dma_data[i].addr_width = 32;
810 &admaif->playback_dma_data[i].chan_name) < 0) {
817 admaif->capture_dma_data[i].addr_width = 32;
822 &admaif->capture_dma_data[i].chan_name) < 0) {
831 admaif->soc_data->cmpnt,
832 admaif->soc_data->dais,
833 admaif->soc_data->num_ch);
861 .name = "tegra210-admaif",