| /kernel/linux/linux-5.10/sound/soc/ |
| D | soc-dai.c | 3 // soc-dai.c 10 #include <sound/soc-dai.h> 13 #define soc_dai_ret(dai, ret) _soc_dai_ret(dai, __func__, ret) argument 14 static inline int _soc_dai_ret(struct snd_soc_dai *dai, in _soc_dai_ret() argument 27 dev_err(dai->dev, in _soc_dai_ret() 29 func, dai->name, ret); in _soc_dai_ret() 39 #define soc_dai_mark_push(dai, substream, tgt) ((dai)->mark_##tgt = substream) argument 40 #define soc_dai_mark_pop(dai, substream, tgt) ((dai)->mark_##tgt = NULL) argument 41 #define soc_dai_mark_match(dai, substream, tgt) ((dai)->mark_##tgt == substream) argument 44 * snd_soc_dai_set_sysclk - configure DAI system or master clock. [all …]
|
| /kernel/linux/linux-6.6/sound/soc/ |
| D | soc-dai.c | 3 // soc-dai.c 10 #include <sound/soc-dai.h> 13 #define soc_dai_ret(dai, ret) _soc_dai_ret(dai, __func__, ret) argument 14 static inline int _soc_dai_ret(struct snd_soc_dai *dai, in _soc_dai_ret() argument 27 dev_err(dai->dev, in _soc_dai_ret() 29 func, dai->name, ret); in _soc_dai_ret() 39 #define soc_dai_mark_push(dai, substream, tgt) ((dai)->mark_##tgt = substream) argument 40 #define soc_dai_mark_pop(dai, substream, tgt) ((dai)->mark_##tgt = NULL) argument 41 #define soc_dai_mark_match(dai, substream, tgt) ((dai)->mark_##tgt == substream) argument 44 * snd_soc_dai_set_sysclk - configure DAI system or master clock. [all …]
|
| /kernel/linux/linux-6.6/include/sound/ |
| D | soc-dai.h | 3 * linux/sound/soc-dai.h -- ALSA SoC Layer 7 * Digital Audio Interface (DAI) API. 22 * DAI hardware audio formats. 56 * DAI Clock gating. 58 * DAI bit clocks can be gated (disabled) when the DAI is not 76 * DAI hardware signal polarity. 78 * Specifies whether the DAI can also support inverted clocks for the specified 110 * DAI hardware clock providers/consumers 171 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, 174 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, [all …]
|
| /kernel/linux/linux-5.10/include/sound/ |
| D | soc-dai.h | 3 * linux/sound/soc-dai.h -- ALSA SoC Layer 7 * Digital Audio Interface (DAI) API. 22 * DAI hardware audio formats. 40 * DAI Clock gating. 42 * DAI bit clocks can be gated (disabled) when the DAI is not 49 * DAI hardware signal polarity. 51 * Specifies whether the DAI can also support inverted clocks for the specified 75 * DAI hardware clock masters. 114 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, 117 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/ |
| D | amlogic,axg-sound-card.txt | 16 - dai-link: Container for dai-link level properties and the CODEC 20 Required dai-link properties: 22 - sound-dai: phandle and port of the CPU DAI. 24 Required TDM Backend dai-link properties: 25 - dai-format : CPU/CODEC common audio format 27 Optional TDM Backend dai-link properties: 28 - dai-tdm-slot-rx-mask-{0,1,2,3}: Receive direction slot masks 29 - dai-tdm-slot-tx-mask-{0,1,2,3}: Transmit direction slot masks 34 - dai-tdm-slot-num : Please refer to tdm-slot.txt. 37 - dai-tdm-slot-width : Please refer to tdm-slot.txt. default to 32 if omitted. [all …]
|
| D | amlogic,gx-sound-card.yaml | 41 "^dai-link-[0-9]+$": 44 dai-link child nodes: 45 Container for dai-link level properties and the CODEC sub-nodes. 49 dai-format: 59 sound-dai: 61 description: phandle of the CPU DAI 68 dai-link representing backend links should have at least one subnode. 69 One subnode for each codec of the dai-link. dai-link representing 73 sound-dai: 75 description: phandle of the codec DAI [all …]
|
| /kernel/linux/linux-6.6/sound/soc/qcom/qdsp6/ |
| D | q6apm-lpass-dais.c | 26 static int q6dma_set_channel_map(struct snd_soc_dai *dai, in q6dma_set_channel_map() argument 31 struct q6apm_lpass_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6dma_set_channel_map() 32 struct audioreach_module_config *cfg = &dai_data->module_config[dai->id]; in q6dma_set_channel_map() 35 switch (dai->id) { in q6dma_set_channel_map() 49 dev_err(dai->dev, "tx slot not found\n"); in q6dma_set_channel_map() 54 dev_err(dai->dev, "invalid tx num %d\n", in q6dma_set_channel_map() 73 dev_err(dai->dev, "rx slot not found\n"); in q6dma_set_channel_map() 77 dev_err(dai->dev, "invalid rx num %d\n", in q6dma_set_channel_map() 85 dev_err(dai->dev, "%s: invalid dai id 0x%x\n", in q6dma_set_channel_map() 86 __func__, dai->id); in q6dma_set_channel_map() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/tegra/ |
| 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 …]
|
| /kernel/linux/linux-5.10/sound/soc/meson/ |
| D | axg-tdm-interface.c | 11 #include <sound/soc-dai.h> 35 int axg_tdm_set_tdm_slots(struct snd_soc_dai *dai, u32 *tx_mask, in axg_tdm_set_tdm_slots() argument 39 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); in axg_tdm_set_tdm_slots() 41 dai->playback_dma_data; in axg_tdm_set_tdm_slots() 43 dai->capture_dma_data; in axg_tdm_set_tdm_slots() 52 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots() 76 dev_err(dai->dev, "unsupported slot width: %d\n", slot_width); in axg_tdm_set_tdm_slots() 82 /* Amend the dai driver and let dpcm merge do its job */ in axg_tdm_set_tdm_slots() 85 dai->driver->playback.channels_max = tx_slots; in axg_tdm_set_tdm_slots() 86 dai->driver->playback.formats = fmt; in axg_tdm_set_tdm_slots() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/sound/ |
| D | amlogic,axg-sound-card.yaml | 30 "^dai-link-[0-9]+$": 34 Container for dai-link level properties and the CODEC sub-nodes. 38 dai-format: 42 dai-tdm-slot-num: 49 dai-tdm-slot-width: 61 sound-dai: 63 description: phandle of the CPU DAI 66 "^dai-tdm-slot-(t|r)x-mask-[0-3]$": 80 dai-link representing backend links should have at least one subnode. 81 One subnode for each codec of the dai-link. dai-link representing [all …]
|
| D | qcom,sm8250.yaml | 64 ".*-dai-link$": 66 Each subnode represents a dai link. Subnodes of each dai links would be 73 description: Indicates dai-link name and PCM stream name. 78 description: Holds subnode which indicates cpu dai. 83 sound-dai: 87 description: Holds subnode which indicates platform dai. 92 sound-dai: 96 description: Holds subnode which indicates codec dai. 101 sound-dai: 158 mm1-dai-link { [all …]
|
| D | google,sc7280-herobrine.yaml | 31 "^dai-link@[0-9a-f]$": 33 Each subnode represents a dai link. Subnodes of each dai links would be 40 description: Indicates dai-link name and PCM stream name. 46 description: dai link address. 49 description: Holds subnode which indicates cpu dai. 52 sound-dai: true 55 - sound-dai 60 description: Holds subnode which indicates codec dai. 63 sound-dai: true 66 - sound-dai [all …]
|
| D | fsl,qmc-audio.yaml | 15 It provides as many DAI as the number of QMC channel used. 18 - $ref: dai-common.yaml# 28 '#sound-dai-cells': 32 '^dai@([0-9]|[1-5][0-9]|6[0-3])$': 34 A DAI managed by this controller 42 The DAI number 52 channel to use for this DAI. 62 - '#sound-dai-cells' 72 #sound-dai-cells = <1>; 73 dai@16 { [all …]
|
| D | amlogic,gx-sound-card.yaml | 32 "^dai-link-[0-9]+$": 36 dai-link child nodes: 37 Container for dai-link level properties and the CODEC sub-nodes. 41 dai-format: 51 sound-dai: 53 description: phandle of the CPU DAI 61 dai-link representing backend links should have at least one subnode. 62 One subnode for each codec of the dai-link. dai-link representing 66 sound-dai: 68 description: phandle of the codec DAI [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/amlogic/ |
| D | meson-sm1-bananapi-m5.dts | 68 dai-link-0 { 69 sound-dai = <&frddr_a>; 72 dai-link-1 { 73 sound-dai = <&frddr_b>; 76 dai-link-2 { 77 sound-dai = <&frddr_c>; 80 dai-link-3 { 81 sound-dai = <&toddr_a>; 84 dai-link-4 { 85 sound-dai = <&toddr_b>; [all …]
|
| D | meson-g12b-gtking.dts | 23 #sound-dai-cells = <0>; 49 dai-link-0 { 50 sound-dai = <&frddr_a>; 53 dai-link-1 { 54 sound-dai = <&frddr_b>; 57 dai-link-2 { 58 sound-dai = <&frddr_c>; 62 dai-link-3 { 63 sound-dai = <&tdmif_b>; 64 dai-format = "i2s"; [all …]
|
| D | meson-g12b-odroid-n2l.dts | 50 dai-link-0 { 51 sound-dai = <&frddr_a>; 54 dai-link-1 { 55 sound-dai = <&frddr_b>; 58 dai-link-2 { 59 sound-dai = <&frddr_c>; 62 dai-link-3 { 63 sound-dai = <&toddr_a>; 66 dai-link-4 { 67 sound-dai = <&toddr_b>; [all …]
|
| D | meson-g12b-ugoos-am6.dts | 18 #sound-dai-cells = <0>; 44 dai-link-0 { 45 sound-dai = <&frddr_a>; 48 dai-link-1 { 49 sound-dai = <&frddr_b>; 52 dai-link-2 { 53 sound-dai = <&frddr_c>; 57 dai-link-3 { 58 sound-dai = <&tdmif_b>; 59 dai-format = "i2s"; [all …]
|
| /kernel/linux/linux-6.6/sound/soc/intel/avs/ |
| D | pcm.c | 36 avs_dai_find_path_template(struct snd_soc_dai *dai, bool is_fe, int direction) in avs_dai_find_path_template() argument 38 struct snd_soc_dapm_widget *dw = snd_soc_dai_get_widget(dai, direction); in avs_dai_find_path_template() 58 static int avs_dai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai, bool is_fe, in avs_dai_startup() argument 62 struct avs_dev *adev = to_avs_dev(dai->dev); in avs_dai_startup() 66 template = avs_dai_find_path_template(dai, is_fe, substream->stream); in avs_dai_startup() 68 dev_err(dai->dev, "no %s path for dai %s, invalid tplg?\n", in avs_dai_startup() 69 snd_pcm_stream_str(substream), dai->name); in avs_dai_startup() 79 snd_soc_dai_set_dma_data(dai, substream, data); in avs_dai_startup() 89 struct snd_pcm_hw_params *be_hw_params, struct snd_soc_dai *dai, in avs_dai_hw_params() argument 94 struct avs_dev *adev = to_avs_dev(dai->dev); in avs_dai_hw_params() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/meson/ |
| D | axg-tdm-interface.c | 11 #include <sound/soc-dai.h> 38 int axg_tdm_set_tdm_slots(struct snd_soc_dai *dai, u32 *tx_mask, in axg_tdm_set_tdm_slots() argument 42 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); in axg_tdm_set_tdm_slots() 43 struct axg_tdm_stream *tx = snd_soc_dai_dma_data_get_playback(dai); in axg_tdm_set_tdm_slots() 44 struct axg_tdm_stream *rx = snd_soc_dai_dma_data_get_capture(dai); in axg_tdm_set_tdm_slots() 53 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots() 77 dev_err(dai->dev, "unsupported slot width: %d\n", slot_width); in axg_tdm_set_tdm_slots() 83 /* Amend the dai driver and let dpcm merge do its job */ in axg_tdm_set_tdm_slots() 86 dai->driver->playback.channels_max = tx_slots; in axg_tdm_set_tdm_slots() 87 dai->driver->playback.formats = fmt; in axg_tdm_set_tdm_slots() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/ux500/ |
| 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 …]
|
| /kernel/linux/linux-5.10/arch/arm64/boot/dts/amlogic/ |
| D | meson-g12b-gtking.dts | 18 #sound-dai-cells = <0>; 45 dai-link-0 { 46 sound-dai = <&frddr_a>; 49 dai-link-1 { 50 sound-dai = <&frddr_b>; 53 dai-link-2 { 54 sound-dai = <&frddr_c>; 58 dai-link-3 { 59 sound-dai = <&tdmif_b>; 60 dai-format = "i2s"; [all …]
|
| D | meson-g12b-ugoos-am6.dts | 18 #sound-dai-cells = <0>; 45 dai-link-0 { 46 sound-dai = <&frddr_a>; 49 dai-link-1 { 50 sound-dai = <&frddr_b>; 53 dai-link-2 { 54 sound-dai = <&frddr_c>; 58 dai-link-3 { 59 sound-dai = <&tdmif_b>; 60 dai-format = "i2s"; [all …]
|
| /kernel/linux/linux-5.10/sound/soc/ux500/ |
| D | ux500_msp_dai.c | 23 #include <sound/soc-dai.h> 30 static int setup_pcm_multichan(struct snd_soc_dai *dai, in setup_pcm_multichan() argument 33 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_multichan() 54 dev_dbg(dai->dev, in setup_pcm_multichan() 63 static int setup_frameper(struct snd_soc_dai *dai, unsigned int rate, in setup_frameper() argument 66 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_frameper() 92 dev_err(dai->dev, in setup_frameper() 111 dev_err(dai->dev, in setup_frameper() 120 dev_dbg(dai->dev, "%s: Clocks per frame: %u\n", in setup_frameper() 127 static int setup_pcm_framing(struct snd_soc_dai *dai, unsigned int rate, in setup_pcm_framing() argument [all …]
|
| /kernel/linux/linux-5.10/sound/soc/fsl/ |
| D | imx-spdif.c | 10 struct snd_soc_dai_link dai; member 35 data->dai.cpus = &comp[0]; in imx_spdif_audio_probe() 36 data->dai.codecs = &comp[1]; in imx_spdif_audio_probe() 37 data->dai.platforms = &comp[2]; in imx_spdif_audio_probe() 39 data->dai.num_cpus = 1; in imx_spdif_audio_probe() 40 data->dai.num_codecs = 1; in imx_spdif_audio_probe() 41 data->dai.num_platforms = 1; in imx_spdif_audio_probe() 43 data->dai.name = "S/PDIF PCM"; in imx_spdif_audio_probe() 44 data->dai.stream_name = "S/PDIF PCM"; in imx_spdif_audio_probe() 45 data->dai.codecs->dai_name = "snd-soc-dummy-dai"; in imx_spdif_audio_probe() [all …]
|