| /linux/sound/soc/intel/avs/boards/ |
| H A D | hdaudio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // Copyright(c) 2021-2022 Intel Corporation 14 #include <sound/soc-acpi.h> 21 struct snd_soc_dai_link_component *platform; in avs_create_dai_links() local 23 struct hda_pcm *pcm; in avs_create_dai_links() local 24 const char *cname = dev_name(&codec->core.dev); in avs_create_dai_links() 28 platform in avs_create_dai_links() 133 struct hda_pcm *pcm; avs_probing_link_init() local [all...] |
| /linux/sound/soc/intel/boards/ |
| H A D | ehl_rt5660.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * ehl_rt5660 - ASOC Machine driver for Elkhart Lake platforms 18 #include <sound/pcm.h> 21 #include <sound/soc-acpi.h> 76 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in hdmi_init() 78 struct sof_hdmi_pcm *pcm; in hdmi_init() local 80 pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); in hdmi_init() 81 if (!pcm) in hdmi_init() 82 return -ENOMEM; in hdmi_init() 84 /* dai_link id is 1:1 mapped to the PCM device */ in hdmi_init() [all …]
|
| H A D | sof_pcm512x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright(c) 2018-2020 Intel Corporation. 17 #include <sound/pcm.h> 20 #include <sound/soc-acpi.h> 22 #include "../common/soc-intel-quirks.h" 55 sof_pcm512x_quirk = (unsigned long)id->driver_data; in sof_pcm512x_quirk_cb() 64 DMI_MATCH(DMI_PRODUCT_NAME, "UP-CHT01"), 73 struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); in sof_hdmi_init() 75 struct sof_hdmi_pcm *pcm; in sof_hdmi_init() local 77 pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); in sof_hdmi_init() [all …]
|
| /linux/Documentation/sound/soc/ |
| H A D | usb.rst | 12 an implementation that allows for an alternate power-optimized path in the audio 22 | | ASoC Platform card | 32 | |SoC-USB | | 34 |USB SND |<--->|USBSND |<------------>|________| | 35 |(card.c)| |offld |<---------- | 43 | | | |->|audio DSP | 45 |XHCI HCD |<- | 52 ---------- 55 - ``list``: list head for SND SoC struct list 56 - ``component``: reference to ASoC component [all …]
|
| H A D | overview.rst | 6 provide better ALSA support for embedded system-on-chip processors (e.g. 9 had some limitations:- 12 CPU. This is not ideal and leads to code duplication - for example, 18 machine specific code to re-route audio, enable amps, etc., after such an 31 features :- 36 * Easy I2S/PCM audio interface setup between codec and SoC. Each SoC 54 multiple re-usable component drivers :- 56 * Codec class drivers: The codec class driver is platform independent and 62 * Platform class drivers: The platform class driver includes the audio DMA 63 engine driver, digital audio interface (DAI) drivers (e.g. I2S, AC97, PCM) [all …]
|
| /linux/sound/soc/amd/ |
| H A D | acp-da7219-max98357a.c | 1 // SPDX-License-Identifier: MIT 5 //Copyright 2017-2021 Advanced Micro Devices, Inc. 9 #include <sound/pcm.h> 11 #include <sound/soc-dapm.h> 56 struct snd_soc_card *card = rtd->card; in cz_da7219_init() 58 struct snd_soc_component *component = codec_dai->component; in cz_da7219_init() 60 dev_info(rtd->dev, "codec dai name = %s\n", codec_dai->name); in cz_da7219_init() 65 dev_err(rtd->dev, "can't set codec sysclk: %d\n", ret); in cz_da7219_init() 72 dev_err(rtd->dev, "can't set codec pll: %d\n", ret); in cz_da7219_init() 76 da7219_dai_wclk = devm_clk_get(component->dev, "da7219-dai-wclk"); in cz_da7219_init() [all …]
|
| /linux/sound/soc/sof/ |
| H A D | pcm.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 10 // PCM Layer, interface between ALSA and IPC. 17 #include "sof-of-dev.h" 18 #include "sof-priv.h" 19 #include "sof-audio.h" 20 #include "sof-utils.h" 24 * sof pcm period elapse work 32 snd_pcm_period_elapsed(sps->substream); in snd_sof_pcm_period_elapsed_work() 41 * sof pcm period elapse, this could be called at irq thread context. 52 dev_err(component->dev, in snd_sof_pcm_period_elapsed() [all …]
|
| /linux/sound/soc/bcm/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 2 # BCM2835 Platform Support 3 snd-soc-bcm2835-i2s-y := bcm2835-i2s.o 5 obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o 7 # CYGNUS Platform Support 8 snd-soc-cygnus-y := cygnus-pcm.o cygnus-ssp.o 10 obj-$(CONFIG_SND_SOC_CYGNUS) += snd-soc-cygnus.o 12 # BCM63XX Platform Support 13 snd-soc-63xx-y := bcm63xx-i2s-whistler.o bcm63xx-pcm-whistler.o 15 obj-$(CONFIG_SND_BCM63XX_I2S_WHISTLER) += snd-soc-63xx.o
|
| /linux/sound/core/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 # ALSA soundcard-configuration 56 to the KUnit documentation in Documentation/dev-tools/kunit/. 85 and read <file:Documentation/sound/designs/oss-emulation.rst>. 90 will be called snd-mixer-oss. 93 tristate "OSS PCM (digital audio) API" 97 To enable OSS digital audio (PCM) emulation (/dev/dsp*), say Y 98 here and read <file:Documentation/sound/designs/oss-emulation.rst>. 103 will be called snd-pcm-oss. 106 bool "OSS PCM (digital audio) API - Include plugin system" [all …]
|
| /linux/sound/soc/sprd/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 4 snd-soc-sprd-platform-y := sprd-pcm-dma.o sprd-pcm-compress.o 6 obj-$(CONFIG_SND_SOC_SPRD) += snd-soc-sprd-platform.o 8 obj-$(CONFIG_SND_SOC_SPRD_MCDT) += sprd-mcdt.o
|
| H A D | sprd-pcm-dma.c | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <linux/dma-mapping.h> 6 #include <linux/dma/sprd-dma.h> 11 #include <sound/pcm.h> 15 #include "sprd-pcm-dma.h" 52 struct snd_pcm_runtime *runtime = substream->runtime; in sprd_pcm_open() 53 struct device *dev = component->dev; in sprd_pcm_open() 79 return -ENOMEM; in sprd_pcm_open() 81 size = runtime->hw.periods_max * SPRD_PCM_DMA_LINKLIST_SIZE; in sprd_pcm_open() 84 struct sprd_pcm_dma_data *data = &dma_private->data[i]; in sprd_pcm_open() [all …]
|
| /linux/sound/soc/ |
| H A D | soc-devres.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // soc-devres.c -- ALSA SoC Audio Layer devres functions 20 * devm_snd_soc_register_component - resource managed component registration 38 return -ENOMEM; in devm_snd_soc_register_component() 58 * devm_snd_soc_register_card - resource managed card registration 72 return -ENOMEM; in devm_snd_soc_register_card() 88 card->devres_dev = dev; in devm_snd_soc_register_deferrable_card() 101 * devm_snd_dmaengine_pcm_register - resource managed dmaengine PCM registration 102 * @dev: The parent device for the PCM device 103 * @config: Platform specific PCM configuration [all …]
|
| H A D | soc-generic-dmaengine-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 // Author: Lars-Peter Clausen <lars@metafoo.de> 10 #include <sound/pcm.h> 13 #include <linux/dma-mapping.h> 28 static struct device *dmaengine_dma_dev(struct dmaengine_pcm *pcm, in dmaengine_dma_dev() argument 31 if (!pcm->chan[substream->strea in dmaengine_dma_dev() 80 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); dmaengine_pcm_hw_params() local 102 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); dmaengine_pcm_set_runtime_hwparams() local 151 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); dmaengine_pcm_open() local 179 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); dmaengine_pcm_compat_request_channel() local 222 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); dmaengine_pcm_new() local 282 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); dmaengine_pcm_pointer() local 296 struct dmaengine_pcm *pcm = soc_component_to_pcm(component); dmaengine_copy() local 349 dmaengine_pcm_request_chan_of(struct dmaengine_pcm * pcm,struct device * dev,const struct snd_dmaengine_pcm_config * config) dmaengine_pcm_request_chan_of() argument 402 dmaengine_pcm_release_chan(struct dmaengine_pcm * pcm) dmaengine_pcm_release_chan() argument 429 struct dmaengine_pcm *pcm; snd_dmaengine_pcm_register() local 483 struct dmaengine_pcm *pcm; snd_dmaengine_pcm_unregister() local [all...] |
| /linux/sound/soc/intel/atom/ |
| H A D | sst-mfld-platform-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * sst_mfld_platform.c - Intel MID Platform driver 5 * Copyright (C) 2010-2014 Intel Corp 18 #include <sound/pcm.h> 23 #include "sst-mfld-platform.h" 24 #include "sst-atom-controls.h" 32 return -EINVAL; in sst_register_dsp() 33 if (!try_module_get(dev->dev->driver->owner)) in sst_register_dsp() 34 return -ENODEV; in sst_register_dsp() 37 dev_err(dev->dev, "we already have a device %s\n", sst->name); in sst_register_dsp() [all …]
|
| /linux/sound/soc/mediatek/common/ |
| H A D | mtk-afe-platform-driver.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * mtk-afe-platform-driver.c -- Mediatek afe platform driver 10 #include <linux/dma-mapping.h> 13 #include "mtk-afe-platform-driver.h" 14 #include "mtk-base-afe.h" 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() 29 afe->num_dai_drivers = num_dai_drivers; in mtk_afe_combine_sub_dai() 30 afe->dai_drivers = devm_kcalloc(afe->dev, in mtk_afe_combine_sub_dai() [all …]
|
| /linux/sound/soc/xilinx/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 9 mode, IP receives audio in AES format, extracts PCM and sends 10 PCM data. In receiver mode, IP receives PCM audio and 11 encapsulates PCM in AES format and sends AES data. 17 support. This provides DMA platform device support for
|
| /linux/Documentation/devicetree/bindings/sound/ |
| H A D | ux500-msp.txt | 1 * ux500 MSP (CPU-side Digital Audio Interface) 4 - compatible :"stericsson,ux500-msp-i2s" 5 - reg : Physical base address and length of the device's registers. 8 - interrupts : The interrupt output from the device. 9 - <name>-supply : Phandle to the regulator <name> supply 14 compatible = "stericsson,snd-soc-mop500"; 16 stericsson,platform-pcm-dma = <&pcm>; 17 stericsson,cpu-dai = <&msp1 &msp3>; 18 stericsson,audio-codec = <&codec>; 21 pcm: ux500-pcm { [all …]
|
| /linux/sound/soc/pxa/ |
| H A D | pxa2xx-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/sound/arm/pxa2xx-pcm.c -- ALSA PCM interface for the Intel PXA2xx chip 10 #include <linux/dma-mapping.h> 17 #include <sound/pxa2xx-lib.h> 32 return devm_snd_soc_register_component(&pdev->dev, &pxa2xx_soc_platform, in pxa2xx_soc_platform_probe() 38 .name = "pxa-pcm-audio", 47 MODULE_DESCRIPTION("Intel PXA2xx PCM DMA module"); 49 MODULE_ALIAS("platform:pxa-pcm-audio");
|
| /linux/sound/soc/atmel/ |
| H A D | sam9g20_wm8731.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * sam9g20_wm8731 -- SoC audio for AT91SAM9G20-based 28 #include <linux/atmel-ssc.h> 31 #include <sound/pcm.h> 36 #include "atmel-pcm.h" 70 struct device *dev = rtd->dev; in at91sam9g20ek_wm8731_init() 83 snd_soc_dapm_nc_pin(&rtd->card->dapm, "Int Mic"); in at91sam9g20ek_wm8731_init() 89 SND_SOC_DAILINK_DEFS(pcm, 91 DAILINK_COMP_ARRAY(COMP_CODEC("wm8731.0-001b", "wm8731-hifi")), 96 .stream_name = "WM8731 PCM", [all …]
|
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 # AT91 Platform Support 3 snd-soc-atmel-pcm-pdc-y := atmel-pcm-pdc.o 4 snd-soc-atmel-pcm-dma-y := atmel-pcm-dma.o 5 snd-soc-atmel_ssc_dai-y := atmel_ssc_dai.o 6 snd-soc-atmel-i2s-y := atmel-i2s.o 7 snd-soc-mchp-i2s-mcc-y := mchp-i2s-mcc.o 8 snd-soc-mchp-spdiftx-y := mchp-spdiftx.o 9 snd-soc-mchp-spdifrx-y := mchp-spdifrx.o 10 snd-soc-mchp-pdmc-y := mchp-pdmc.o [all …]
|
| /linux/sound/soc/ti/ |
| H A D | edma-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * edma-pcm.c - eDMA PCM driver using dmaengine for AM3xxx, AM4xxx 14 #include <sound/pcm.h> 19 #include "edma-pcm.h" 44 if (dev->of_node) in edma_pcm_platform_register() 50 return -ENOMEM; in edma_pcm_platform_register() 54 config->chan_names[0] = "tx"; in edma_pcm_platform_register() 55 config->chan_names[1] = "rx"; in edma_pcm_platform_register() 62 MODULE_DESCRIPTION("eDMA PCM ASoC platform driver");
|
| /linux/sound/soc/amd/raven/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0+ 2 # Raven Ridge platform Support 3 snd-pci-acp3x-y := pci-acp3x.o 4 snd-acp3x-pcm-dma-y := acp3x-pcm-dma.o 5 snd-acp3x-i2s-y := acp3x-i2s.o 6 obj-$(CONFIG_SND_SOC_AMD_ACP3x) += snd-pci-acp3x.o 7 obj-$(CONFIG_SND_SOC_AMD_ACP3x) += snd-acp3x-pcm-dma.o 8 obj-$(CONFIG_SND_SOC_AMD_ACP3x) += snd-acp3x-i2s.o
|
| /linux/sound/soc/mxs/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 # MXS Platform Support 3 snd-soc-mxs-y := mxs-saif.o 4 snd-soc-mxs-pcm-y := mxs-pcm.o 6 obj-$(CONFIG_SND_MXS_SOC) += snd-soc-mxs.o snd-soc-mxs-pcm.o 9 snd-soc-mxs-sgtl5000-y := mxs-sgtl5000.o 11 obj-$(CONFIG_SND_SOC_MXS_SGTL5000) += snd-soc-mxs-sgtl5000.o
|
| /linux/sound/soc/amd/vangogh/ |
| H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0+ 2 # Vangogh platform Support 3 snd-pci-acp5x-y := pci-acp5x.o 4 snd-acp5x-i2s-y := acp5x-i2s.o 5 snd-acp5x-pcm-dma-y := acp5x-pcm-dma.o 6 snd-soc-acp5x-mach-y := acp5x-mach.o 8 obj-$(CONFIG_SND_SOC_AMD_ACP5x) += snd-pci-acp5x.o 9 obj-$(CONFIG_SND_SOC_AMD_ACP5x) += snd-acp5x-i2s.o 10 obj-$(CONFIG_SND_SOC_AMD_ACP5x) += snd-acp5x-pcm-dma.o 11 obj-$(CONFIG_SND_SOC_AMD_VANGOGH_MACH) += snd-soc-acp5x-mach.o
|
| /linux/Documentation/sound/hd-audio/ |
| H A D | dp-mst.rst | 2 HD-Audio DP-MST Support 6 and dynamic pcm assignment. 13 several pins, if we use one pcm per per_pin, there will be many PCMs. 14 The new solution is to create a few PCMs and to dynamically bind pcm to 15 per_pin. Driver uses spec->dyn_pcm_assign flag to indicate whether to use 18 PCM chapter 24 Each pin may have several device entries (virtual pins). On Intel platform, 44 - MST must be dyn_pcm_assign, and it is acomp (for Intel scenario); 45 - NON-MST may or may not be dyn_pcm_assign, it can be acomp or !acomp; 49 b. NON-MST && dyn_pcm_assign && acomp [all …]
|