| /linux/sound/soc/tegra/ |
| H A D | tegra210_ahub.c | 101 DAI(ADMAIF1), 102 DAI(ADMAIF2), 103 DAI(ADMAIF3), 104 DAI(ADMAIF4), 105 DAI(ADMAIF5), 106 DAI(ADMAIF6), 107 DAI(ADMAIF7), 108 DAI(ADMAIF8), 109 DAI(ADMAIF9), 110 DAI(ADMAIF10), [all …]
|
| H A D | tegra210_admaif.c | 320 struct snd_soc_dai *dai) in tegra_admaif_prepare() 322 return tegra_isomgr_adma_setbw(substream, dai, true); in tegra_admaif_shutdown() 326 struct snd_soc_dai *dai) in tegra_admaif_shutdown() 328 tegra_isomgr_adma_setbw(substream, dai, false); in tegra_admaif_hw_params() 333 struct snd_soc_dai *dai) in tegra_admaif_hw_params() 335 struct device *dev = dai->dev; in tegra_admaif_hw_params() 336 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai); in tegra_admaif_hw_params() 375 reg = CH_TX_REG(TEGRA_ADMAIF_CH_ACIF_TX_CTRL, dai->id); in tegra_admaif_hw_params() 378 reg = CH_RX_REG(TEGRA_ADMAIF_CH_ACIF_RX_CTRL, dai->id); in tegra_admaif_hw_params() 381 cif_conf.mono_conv = admaif->mono_to_stereo[path][dai in tegra_admaif_hw_params() 317 tegra_admaif_prepare(struct snd_pcm_substream * substream,struct snd_soc_dai * dai) tegra_admaif_prepare() argument 323 tegra_admaif_shutdown(struct snd_pcm_substream * substream,struct snd_soc_dai * dai) tegra_admaif_shutdown() argument 330 tegra_admaif_hw_params(struct snd_pcm_substream * substream,struct snd_pcm_hw_params * params,struct snd_soc_dai * dai) tegra_admaif_hw_params() argument 391 tegra_admaif_start(struct snd_soc_dai * dai,int direction) tegra_admaif_start() argument 416 tegra_admaif_stop(struct snd_soc_dai * dai,int direction) tegra_admaif_stop() argument 471 tegra_admaif_trigger(struct snd_pcm_substream * substream,int cmd,struct snd_soc_dai * dai) tegra_admaif_trigger() argument 609 tegra_admaif_dai_probe(struct snd_soc_dai * dai) tegra_admaif_dai_probe() argument 627 #define DAI( global() macro [all...] |
| /linux/sound/soc/qcom/qdsp6/ |
| H A D | q6apm-lpass-dais.c | 27 static int q6dma_set_channel_map(struct snd_soc_dai *dai, in q6dma_set_channel_map() argument 34 struct q6apm_lpass_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6dma_set_channel_map() 35 struct audioreach_module_config *cfg = &dai_data->module_config[dai->id]; in q6dma_set_channel_map() 38 switch (dai->id) { in q6dma_set_channel_map() 52 dev_err(dai->dev, "tx slot not found\n"); in q6dma_set_channel_map() 57 dev_err(dai->dev, "invalid tx num %d\n", in q6dma_set_channel_map() 77 dev_err(dai->dev, "rx slot not found\n"); in q6dma_set_channel_map() 81 dev_err(dai->dev, "invalid rx num %d\n", in q6dma_set_channel_map() 90 dev_err(dai->dev, "%s: invalid dai id 0x%x\n", in q6dma_set_channel_map() 91 __func__, dai->id); in q6dma_set_channel_map() [all …]
|
| H A D | q6afe-dai.c | 39 struct snd_soc_dai *dai) in q6slim_hw_params() argument 42 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_hw_params() 43 struct q6afe_slim_cfg *slim = &dai_data->port_config[dai->id].slim; in q6slim_hw_params() 69 struct snd_soc_dai *dai) in q6hdmi_hw_params() argument 71 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6hdmi_hw_params() 73 struct q6afe_hdmi_cfg *hdmi = &dai_data->port_config[dai->id].hdmi; in q6hdmi_hw_params() 97 struct snd_soc_dai *dai) in q6afe_usb_hw_params() argument 99 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6afe_usb_hw_params() 102 struct q6afe_usb_cfg *usb = &dai_data->port_config[dai->id].usb_audio; in q6afe_usb_hw_params() 120 dev_err(dai->dev, "%s: invalid format %d\n", in q6afe_usb_hw_params() [all …]
|
| /linux/Documentation/devicetree/bindings/sound/ |
| H A D | fsl,qmc-audio.yaml | 15 It provides several DAIs. For each DAI, the DAI is working in interleaved mode 16 if only one QMC channel is used by the DAI or it is working in non-interleaved 17 mode if several QMC channels are used by the DAI. 20 - $ref: dai-common.yaml# 30 '#sound-dai-cells': 34 '^dai@([0-9]|[1-5][0-9]|6[0-3])$': 36 A DAI managed by this controller 45 The DAI number 56 and the QMC channel pair to use for this DAI. 57 If only one phandle/number pair is provided, this DAI works in [all …]
|
| H A D | amlogic,axg-sound-card.yaml | 37 "^dai-link-[0-9]+$": 41 Container for dai-link level properties and the CODEC sub-nodes. 45 dai-format: 49 dai-tdm-slot-num: 56 dai-tdm-slot-width: 68 sound-dai: 70 description: phandle of the CPU DAI 73 "^dai-tdm-slot-(t|r)x-mask-[0-3]$": 87 dai-link representing backend links should have at least one subnode. 88 One subnode for each codec of the dai-link. dai-link representing [all …]
|
| H A D | qcom,sm8250.yaml | 71 ".*-dai-link$": 73 Each subnode represents a dai link. Subnodes of each dai links would be 80 description: Indicates dai-link name and PCM stream name. 85 description: Holds subnode which indicates cpu dai. 90 sound-dai: 94 description: Holds subnode which indicates platform dai. 99 sound-dai: 103 description: Holds subnode which indicates codec dai. 108 sound-dai: 137 mm1-dai-link { [all …]
|
| H A D | google,sc7280-herobrine.yaml | 30 "^dai-link@[0-9a-f]$": 32 Each subnode represents a dai link. Subnodes of each dai links would be 39 description: Indicates dai-link name and PCM stream name. 45 description: dai link address. 48 description: Holds subnode which indicates cpu dai. 51 sound-dai: true 54 - sound-dai 59 description: Holds subnode which indicates codec dai. 62 sound-dai: true 65 - sound-dai [all …]
|
| H A D | mt8192-mt6359-rt1015-rt5682.yaml | 66 sound-dai: 69 - sound-dai 77 sound-dai: 83 - sound-dai 86 ".*-dai-link$": 91 Container for dai-link level properties and CODEC sub-nodes. 95 description: Indicates dai-link name and PCM stream name 110 description: Holds subnode which indicates codec dai. 114 sound-dai: 118 - sound-dai [all …]
|
| H A D | amlogic,gx-sound-card.yaml | 38 "^dai-link-[0-9]+$": 42 dai-link child nodes: 43 Container for dai-link level properties and the CODEC sub-nodes. 47 dai-format: 57 sound-dai: 59 description: phandle of the CPU DAI 67 dai-link representing backend links should have at least one subnode. 68 One subnode for each codec of the dai-link. dai-link representing 72 sound-dai: 74 description: phandle of the codec DAI [all …]
|
| H A D | mt8186-mt6366-da7219-max98357.yaml | 57 sound-dai: 60 - sound-dai 67 sound-dai: 74 - sound-dai 80 mediatek,dai-link: 83 A list of the desired dai-links in the sound card. Each entry is a 87 ".*-dai-link$": 91 Container for dai-link level properties and CODEC sub-nodes. 95 description: Indicates dai-link name and PCM stream name 104 description: Holds subnode which indicates codec dai. [all …]
|
| H A D | mt8186-mt6366-rt1019-rt5682s.yaml | 69 sound-dai: 72 - sound-dai 79 sound-dai: 86 - sound-dai 92 mediatek,dai-link: 95 A list of the desired dai-links in the sound card. Each entry is a 99 ".*-dai-link$": 103 Container for dai-link level properties and CODEC sub-nodes. 107 description: Indicates dai-link name and PCM stream name 111 description: Holds subnode which indicates codec dai. [all …]
|
| H A D | qcom,apq8016-sbc-sndcard.yaml | 56 ".*-dai-link$": 58 Each subnode represents a dai link. Subnodes of each dai links would be 65 description: Indicates dai-link name and PCM stream name. 70 description: Holds subnode which indicates cpu dai. 75 sound-dai: 79 description: Holds subnode which indicates platform dai. 84 sound-dai: 88 description: Holds subnode which indicates codec dai. 93 sound-dai: 128 quaternary-dai-link { [all …]
|
| H A D | mt8195-mt6359.yaml | 77 mediatek,dai-link: 80 A list of the desired dai-links in the sound card. Each entry is a 84 ".*-dai-link$": 88 Container for dai-link level properties and CODEC sub-nodes. 92 description: Indicates dai-link name and PCM stream name 104 description: Holds subnode which indicates codec dai. 108 sound-dai: 112 - sound-dai 114 dai-format: 120 description: Indicates dai-link clock master. [all …]
|
| H A D | google,sc7180-trogdor.yaml | 36 "^dai-link(@[0-9])?$": 38 Each subnode represents a dai link. Subnodes of each dai links would be 45 description: Indicates dai-link name and PCM stream name. 51 description: dai link address. 54 description: Holds subnode which indicates cpu dai. 59 sound-dai: 63 description: Holds subnode which indicates codec dai. 68 sound-dai: 102 dai-link@0 { 106 sound-dai = <&lpass_cpu 0>; [all …]
|
| /linux/sound/soc/ux500/ |
| H A D | ux500_msp_dai.c | 20 #include <sound/soc-dai.h> 27 static int setup_pcm_multichan(struct snd_soc_dai *dai, in setup_pcm_multichan() argument 30 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_multichan() 51 dev_dbg(dai->dev, in setup_pcm_multichan() 60 static int setup_frameper(struct snd_soc_dai *dai, unsigned int rate, in setup_frameper() argument 63 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_frameper() 89 dev_err(dai->dev, in setup_frameper() 108 dev_err(dai->dev, in setup_frameper() 117 dev_dbg(dai->dev, "%s: Clocks per frame: %u\n", in setup_frameper() 124 static int setup_pcm_framing(struct snd_soc_dai *dai, unsigned int rate, in setup_pcm_framing() argument [all …]
|
| /linux/sound/soc/intel/avs/ |
| H A D | pcm.c | 45 avs_dai_find_path_template(struct snd_soc_dai *dai, bool is_fe, int direction) in avs_dai_find_path_template() argument 47 struct snd_soc_dapm_widget *dw = snd_soc_dai_get_widget(dai, direction); in avs_dai_find_path_template() 77 struct snd_soc_dai *dai = snd_soc_rtd_to_cpu(rtd, 0); in avs_period_elapsed() local 78 struct avs_dma_data *data = snd_soc_dai_get_dma_data(dai, substream); in avs_period_elapsed() 84 static int avs_hw_constraints_init(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) in avs_hw_constraints_init() argument 95 data = snd_soc_dai_get_dma_data(dai, substream); in avs_hw_constraints_init() 119 static int avs_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) in avs_dai_startup() argument 122 struct avs_dev *adev = to_avs_dev(dai->component->dev); in avs_dai_startup() 126 template = avs_dai_find_path_template(dai, !rtd->dai_link->no_pcm, substream->stream); in avs_dai_startup() 128 dev_err(dai->dev, "no %s path for dai %s, invalid tplg?\n", in avs_dai_startup() [all …]
|
| /linux/arch/arm64/boot/dts/qcom/ |
| H A D | msm8916-modem-qdsp6.dtsi | 6 * but boards can define additional codecs by adding additional backend DAI links. 49 dai@16 { 53 dai@20 { 60 dai@0 { 64 dai@1 { 68 dai@2 { 72 dai@3 { 75 is-compress-dai; 89 frontend0-dai-link { 93 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; [all …]
|
| /linux/sound/soc/mediatek/mt8365/ |
| H A D | mt8365-dai-dmic.c | 3 * MediaTek 8365 ALSA SoC Audio DAI DMIC Control 50 /* DAI Drivers */ 70 struct snd_soc_dai *dai) in mt8365_dai_enable_dmic() argument 90 struct snd_soc_dai *dai) in mt8365_dai_disable_dmic() argument 113 struct snd_soc_dai *dai) in mt8365_dai_configure_dmic() argument 121 unsigned int rate = dai->symmetric_rate; in mt8365_dai_configure_dmic() 122 int reg = get_chan_reg(dai->symmetric_channels); in mt8365_dai_configure_dmic() 127 dmic_data->dmic_channel = dai->symmetric_channels; in mt8365_dai_configure_dmic() 163 struct snd_soc_dai *dai) in mt8365_dai_dmic_startup() argument 165 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mt8365_dai_dmic_startup() [all …]
|
| /linux/sound/soc/meson/ |
| H A D | aiu-fifo.c | 11 #include <sound/soc-dai.h> 36 struct snd_soc_dai *dai = aiu_fifo_dai(substream); in aiu_fifo_pointer() local 37 struct aiu_fifo *fifo = snd_soc_dai_dma_data_get_playback(dai); in aiu_fifo_pointer() 46 static void aiu_fifo_enable(struct snd_soc_dai *dai, bool enable) in aiu_fifo_enable() argument 48 struct snd_soc_component *component = dai->component; in aiu_fifo_enable() 49 struct aiu_fifo *fifo = snd_soc_dai_dma_data_get_playback(dai); in aiu_fifo_enable() 59 struct snd_soc_dai *dai) in aiu_fifo_trigger() argument 65 aiu_fifo_enable(dai, true); in aiu_fifo_trigger() 70 aiu_fifo_enable(dai, false); in aiu_fifo_trigger() 80 struct snd_soc_dai *dai) in aiu_fifo_prepare() argument [all …]
|
| H A D | meson-codec-glue.c | 9 #include <sound/soc-dai.h> 39 static void meson_codec_glue_input_set_data(struct snd_soc_dai *dai, in meson_codec_glue_input_set_data() argument 42 snd_soc_dai_dma_data_set_playback(dai, data); in meson_codec_glue_input_set_data() 46 meson_codec_glue_input_get_data(struct snd_soc_dai *dai) in meson_codec_glue_input_get_data() argument 48 return snd_soc_dai_dma_data_get_playback(dai); in meson_codec_glue_input_get_data() 57 struct snd_soc_dai *dai; in meson_codec_glue_output_get_input_data() local 62 dai = in->priv; in meson_codec_glue_output_get_input_data() 64 return meson_codec_glue_input_get_data(dai); in meson_codec_glue_output_get_input_data() 69 struct snd_soc_dai *dai) in meson_codec_glue_input_hw_params() argument 72 meson_codec_glue_input_get_data(dai); in meson_codec_glue_input_hw_params() [all …]
|
| /linux/sound/soc/mediatek/common/ |
| H A D | mtk-afe-platform-driver.c | 18 struct mtk_base_afe_dai *dai; in mtk_afe_combine_sub_dai() local 21 /* calcualte total dai driver size */ in mtk_afe_combine_sub_dai() 22 list_for_each_entry(dai, &afe->sub_dais, list) { in mtk_afe_combine_sub_dai() 23 num_dai_drivers += dai->num_dai_drivers; in mtk_afe_combine_sub_dai() 26 dev_info(afe->dev, "%s(), num of dai %zd\n", __func__, num_dai_drivers); in mtk_afe_combine_sub_dai() 37 list_for_each_entry(dai, &afe->sub_dais, list) { in mtk_afe_combine_sub_dai() 38 /* dai driver */ in mtk_afe_combine_sub_dai() 40 dai->dai_drivers, in mtk_afe_combine_sub_dai() 41 dai->num_dai_drivers * in mtk_afe_combine_sub_dai() 43 dai_idx += dai in mtk_afe_combine_sub_dai() 52 struct mtk_base_afe_dai *dai; mtk_afe_add_sub_dai_control() local [all...] |
| /linux/sound/pci/ctxfi/ |
| H A D | ctdaio.c | 56 * For DAO, it is the input mapper index. And, for DAI, in daio_master() 251 static int dai_set_srt_srcl(struct dai *dai, struct rsc *src) in dai_set_srt_srcl() argument 254 dai->hw->dai_srt_set_srcm(dai->ctrl_blk, src->ops->index(src)); in dai_set_srt_srcl() 258 static int dai_set_srt_srcr(struct dai *dai, struct rsc *src) in dai_set_srt_srcr() argument 261 dai->hw->dai_srt_set_srco(dai->ctrl_blk, src->ops->index(src)); in dai_set_srt_srcr() 265 static int dai_set_srt_msr(struct dai *dai, unsigned int msr) in dai_set_srt_msr() argument 272 dai->hw->dai_srt_set_rsr(dai->ctrl_blk, rsr); in dai_set_srt_msr() 276 static int dai_set_enb_src(struct dai *dai, unsigned int enb) in dai_set_enb_src() argument 278 dai->hw->dai_srt_set_ec(dai->ctrl_blk, enb); in dai_set_enb_src() 282 static int dai_set_enb_srt(struct dai *dai, unsigned int enb) in dai_set_enb_srt() argument [all …]
|
| /linux/sound/soc/fsl/ |
| H A D | imx-audmix.c | 27 struct snd_soc_dai_link *dai; member 62 /* set DAI configuration */ in imx_audmix_fe_hw_params() 65 dev_err(dev, "failed to set cpu dai fmt: %d\n", ret); in imx_audmix_fe_hw_params() 82 dev_err(dev, "failed to set cpu dai tdm slot: %d\n", ret); in imx_audmix_fe_hw_params() 102 /* set AUDMIX DAI configuration */ in imx_audmix_be_hw_params() 105 dev_err(dev, "failed to set AUDMIX DAI fmt: %d\n", ret); in imx_audmix_be_hw_params() 171 priv->dai = devm_kcalloc(&pdev->dev, priv->num_dai, in imx_audmix_probe() 173 if (!priv->dai) in imx_audmix_probe() 221 dev_info(pdev->dev.parent, "DAI FE name:%s\n", dai_name); in imx_audmix_probe() 230 priv->dai[i].cpus = in imx_audmix_probe() [all …]
|
| /linux/sound/soc/mediatek/mt8186/ |
| H A D | mt8186-dai-hw-gain.c | 3 // MediaTek ALSA SoC Audio DAI HW Gain Control 15 /* dai component */ 124 /* dai ops */ 127 struct snd_soc_dai *dai) in mtk_dai_gain_hw_params() argument 129 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai); in mtk_dai_gain_hw_params() 131 unsigned int rate_reg = mt8186_rate_transform(afe->dev, rate, dai->id); in mtk_dai_gain_hw_params() 134 __func__, dai->id, substream->stream, rate); in mtk_dai_gain_hw_params() 138 dai->id == MT8186_DAI_HW_GAIN_1 ? in mtk_dai_gain_hw_params() 145 dai->id == MT8186_DAI_HW_GAIN_1 ? in mtk_dai_gain_hw_params() 148 (dai->id == MT8186_DAI_HW_GAIN_1 ? 0x40 : 0x0) << in mtk_dai_gain_hw_params() [all …]
|