Takashi Iwai
ddd5609fe8
Merge tag 'asoc-fix-v5.7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
...
ASoC: Fixes for v5.7
A collection of fixes that have been accumilated since the merge window,
mainly relating to x86 platform support.
2020-04-08 18:08:09 +02:00
Pierre-Louis Bossart
1ba616bd1a
ASoC: soc-dai: fix DAI startup/shutdown sequence
...
The addition of a single flag to track the DAI status prevents the DAI
startup sequence from being called on capture if the DAI is already
used for playback.
Fix by extending the existing code with one flag per direction.
Fixes: b56be800f1 ("ASoC: soc-pcm: call snd_soc_dai_startup()/shutdown() once")
Reported-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Tested-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Link: https://lore.kernel.org/r/20200330160602.10180-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-30 18:22:37 +01:00
Takashi Iwai
3c22baeab4
Merge tag 'asoc-v5.7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
...
ASoC: Updates for v5.7
This is a very big update for the core since Morimoto-san has been
rather busy continuing his refactorings to clean up a lot of the cruft
that we have accumilated over the years. We've also gained several new
drivers, including initial (but still not complete) parts of the Intel
SoundWire support.
- Lots of refactorings to modernize the code from Morimoto-san.
- Conversion of SND_SOC_ALL_CODECS to use imply from Geert Uytterhoeven.
- Continued refactoring and fixing of the Intel support.
- Soundwire and more advanced clocking support for Realtek RT5682.
- Support for amlogic GX, Meson 8, Meson 8B and T9015 DAC, Broadcom
DSL/PON, Ingenic JZ4760 and JZ4770, Realtek RL6231, and TI TAS2563 and
TLV320ADCX140.
2020-03-30 13:43:00 +02:00
Mark Brown
a23d7f4a7c
Merge series "ASoC: remove rtd->cpu/codec_dai{s}" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
...
Hi Mark
Now, CPU/Codec DAI(s) were replaced by rtd->dais.
Thus, We don't need rtd->cpu/codec_dai{s} anymore.
This pathset replaces it by new macro.
Kuninori Morimoto (36):
ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro
ASoC: amd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: atmel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: bcm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: cirrus: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: dwc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: fsl: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: meson: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: mxs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: pxa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: qcom: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: samsung: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: sof: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: sprd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: stm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: tegra: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: uniphier: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: ux500: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: arm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: codecs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
ASoC: soc-core: set rtd->num_cpu/codec at soc_new_pcm_runtime()
ASoC: soc-core: tidyup soc_new_pcm_runtime() rtd setups
ASoC: soc-core: remove cpu_dai/codec_dai/cpu_dais/codec_dais
include/sound/soc.h | 30 +++++++------
sound/arm/pxa2xx-pcm-lib.c | 8 ++--
sound/soc/amd/acp-da7219-max98357a.c | 2 +-
sound/soc/amd/acp-rt5645.c | 4 +-
sound/soc/amd/acp3x-rt5682-max9836.c | 6 +--
sound/soc/atmel/atmel-pcm-dma.c | 4 +-
sound/soc/atmel/atmel-pcm-pdc.c | 2 +-
sound/soc/atmel/atmel_wm8904.c | 2 +-
sound/soc/atmel/mikroe-proto.c | 2 +-
sound/soc/atmel/sam9g20_wm8731.c | 2 +-
sound/soc/atmel/sam9x5_wm8731.c | 2 +-
sound/soc/au1x/db1200.c | 2 +-
sound/soc/au1x/dbdma2.c | 2 +-
sound/soc/au1x/dma.c | 2 +-
sound/soc/au1x/psc-ac97.c | 2 +-
sound/soc/bcm/bcm63xx-pcm-whistler.c | 16 +++----
sound/soc/bcm/cygnus-pcm.c | 22 +++++-----
sound/soc/cirrus/edb93xx.c | 4 +-
sound/soc/cirrus/snappercl15.c | 4 +-
sound/soc/codecs/cs47l15.c | 4 +-
sound/soc/codecs/cs47l24.c | 6 +--
sound/soc/codecs/cs47l35.c | 6 +--
sound/soc/codecs/cs47l85.c | 6 +--
sound/soc/codecs/cs47l90.c | 6 +--
sound/soc/codecs/cs47l92.c | 4 +-
sound/soc/codecs/wm5110.c | 6 +--
sound/soc/codecs/wm_adsp.c | 10 ++---
sound/soc/dwc/dwc-pcm.c | 2 +-
sound/soc/fsl/eukrea-tlv320.c | 4 +-
sound/soc/fsl/fsl-asoc-card.c | 10 ++---
sound/soc/fsl/fsl_asrc_dma.c | 6 +--
sound/soc/fsl/fsl_spdif.c | 10 ++---
sound/soc/fsl/fsl_ssi.c | 8 ++--
sound/soc/fsl/imx-audmix.c | 8 ++--
sound/soc/fsl/imx-mc13783.c | 4 +-
sound/soc/fsl/imx-sgtl5000.c | 2 +-
sound/soc/fsl/mpc5200_dma.c | 10 ++---
sound/soc/fsl/mpc5200_psc_i2s.c | 2 +-
sound/soc/fsl/mpc8610_hpcd.c | 4 +-
sound/soc/fsl/mx27vis-aic32x4.c | 4 +-
sound/soc/fsl/p1022_ds.c | 4 +-
sound/soc/fsl/p1022_rdk.c | 4 +-
sound/soc/fsl/wm1133-ev1.c | 6 +--
sound/soc/generic/simple-card-utils.c | 12 +++---
sound/soc/img/img-i2s-in.c | 2 +-
sound/soc/img/img-i2s-out.c | 2 +-
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 +--
sound/soc/intel/boards/bdw-rt5650.c | 6 +--
sound/soc/intel/boards/bdw-rt5677.c | 6 +--
sound/soc/intel/boards/broadwell.c | 4 +-
sound/soc/intel/boards/bxt_da7219_max98357a.c | 8 ++--
sound/soc/intel/boards/bxt_rt298.c | 8 ++--
sound/soc/intel/boards/byt-max98090.c | 2 +-
sound/soc/intel/boards/byt-rt5640.c | 4 +-
sound/soc/intel/boards/bytcht_cx2072x.c | 10 ++---
sound/soc/intel/boards/bytcht_da7213.c | 8 ++--
sound/soc/intel/boards/bytcht_es8316.c | 8 ++--
sound/soc/intel/boards/bytcht_nocodec.c | 4 +-
sound/soc/intel/boards/bytcr_rt5640.c | 8 ++--
sound/soc/intel/boards/bytcr_rt5651.c | 8 ++--
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 6 +--
sound/soc/intel/boards/cht_bsw_nau8824.c | 4 +-
sound/soc/intel/boards/cht_bsw_rt5645.c | 14 +++----
sound/soc/intel/boards/cht_bsw_rt5672.c | 8 ++--
sound/soc/intel/boards/cml_rt1011_rt5682.c | 6 +--
sound/soc/intel/boards/glk_rt5682_max98357a.c | 10 ++---
sound/soc/intel/boards/haswell.c | 2 +-
sound/soc/intel/boards/kbl_da7219_max98357a.c | 8 ++--
sound/soc/intel/boards/kbl_da7219_max98927.c | 6 +--
sound/soc/intel/boards/kbl_rt5660.c | 6 +--
sound/soc/intel/boards/kbl_rt5663_max98927.c | 8 ++--
.../intel/boards/kbl_rt5663_rt5514_max98927.c | 8 ++--
.../soc/intel/boards/skl_nau88l25_max98357a.c | 12 +++---
sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 16 +++----
sound/soc/intel/boards/skl_rt286.c | 8 ++--
sound/soc/intel/boards/sof_da7219_max98373.c | 8 ++--
sound/soc/intel/boards/sof_pcm512x.c | 8 ++--
sound/soc/intel/boards/sof_rt5682.c | 6 +--
sound/soc/intel/haswell/sst-haswell-pcm.c | 26 ++++++------
sound/soc/intel/skylake/skl-pcm.c | 10 ++---
sound/soc/kirkwood/armada-370-db.c | 2 +-
sound/soc/kirkwood/kirkwood-dma.c | 2 +-
sound/soc/mediatek/common/mtk-afe-fe-dai.c | 10 ++---
.../mediatek/common/mtk-afe-platform-driver.c | 2 +-
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 2 +-
sound/soc/mediatek/mt2701/mt2701-cs42448.c | 4 +-
sound/soc/mediatek/mt2701/mt2701-wm8960.c | 4 +-
sound/soc/mediatek/mt6797/mt6797-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8173/mt8173-max98090.c | 4 +-
.../mediatek/mt8173/mt8173-rt5650-rt5514.c | 2 +-
.../mediatek/mt8173/mt8173-rt5650-rt5676.c | 4 +-
sound/soc/mediatek/mt8173/mt8173-rt5650.c | 6 +--
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 2 +-
.../mediatek/mt8183/mt8183-da7219-max98357.c | 4 +-
.../mt8183/mt8183-mt6358-ts3a227-max98357.c | 2 +-
sound/soc/meson/aiu-fifo.c | 2 +-
sound/soc/meson/axg-card.c | 8 ++--
sound/soc/meson/axg-fifo.c | 2 +-
sound/soc/meson/meson-card-utils.c | 2 +-
sound/soc/mxs/mxs-sgtl5000.c | 4 +-
sound/soc/pxa/brownstone.c | 4 +-
sound/soc/pxa/corgi.c | 4 +-
sound/soc/pxa/hx4700.c | 4 +-
sound/soc/pxa/imote2.c | 4 +-
sound/soc/pxa/magician.c | 8 ++--
sound/soc/pxa/mioa701_wm9713.c | 4 +-
sound/soc/pxa/mmp-pcm.c | 2 +-
sound/soc/pxa/mmp-sspa.c | 2 +-
sound/soc/pxa/poodle.c | 4 +-
sound/soc/pxa/pxa2xx-i2s.c | 2 +-
sound/soc/pxa/spitz.c | 4 +-
sound/soc/pxa/ttc-dkb.c | 2 +-
sound/soc/pxa/z2.c | 4 +-
sound/soc/pxa/zylonite.c | 6 +--
sound/soc/qcom/apq8016_sbc.c | 2 +-
sound/soc/qcom/apq8096.c | 6 +--
sound/soc/qcom/lpass-platform.c | 2 +-
sound/soc/qcom/qdsp6/q6asm-dai.c | 4 +-
sound/soc/qcom/qdsp6/q6routing.c | 2 +-
sound/soc/qcom/sdm845.c | 22 +++++-----
sound/soc/qcom/storm.c | 2 +-
sound/soc/rockchip/rk3288_hdmi_analog.c | 4 +-
sound/soc/rockchip/rk3399_gru_sound.c | 16 +++----
sound/soc/rockchip/rockchip_max98090.c | 6 +--
sound/soc/rockchip/rockchip_rt5645.c | 6 +--
sound/soc/samsung/arndale.c | 6 +--
sound/soc/samsung/bells.c | 16 +++----
sound/soc/samsung/h1940_uda1380.c | 2 +-
sound/soc/samsung/i2s.c | 2 +-
sound/soc/samsung/jive_wm8750.c | 4 +-
sound/soc/samsung/littlemill.c | 14 +++----
sound/soc/samsung/lowland.c | 4 +-
sound/soc/samsung/neo1973_wm8753.c | 10 ++---
sound/soc/samsung/odroid.c | 2 +-
sound/soc/samsung/pcm.c | 4 +-
sound/soc/samsung/rx1950_uda1380.c | 2 +-
sound/soc/samsung/s3c-i2s-v2.c | 2 +-
sound/soc/samsung/s3c24xx_simtec.c | 4 +-
sound/soc/samsung/s3c24xx_uda134x.c | 6 +--
sound/soc/samsung/smartq_wm8987.c | 4 +-
sound/soc/samsung/smdk_spdif.c | 2 +-
sound/soc/samsung/smdk_wm8580.c | 2 +-
sound/soc/samsung/smdk_wm8994.c | 2 +-
sound/soc/samsung/smdk_wm8994pcm.c | 4 +-
sound/soc/samsung/snow.c | 4 +-
sound/soc/samsung/spdif.c | 8 ++--
sound/soc/samsung/speyside.c | 8 ++--
sound/soc/samsung/tm2_wm5110.c | 16 +++----
sound/soc/samsung/tobermory.c | 8 ++--
sound/soc/sh/dma-sh7760.c | 16 +++----
sound/soc/sh/fsi.c | 2 +-
sound/soc/sh/migor.c | 6 +--
sound/soc/sh/rcar/core.c | 2 +-
sound/soc/soc-compress.c | 36 ++++++++--------
sound/soc/soc-core.c | 42 +++++++------------
sound/soc/soc-dapm.c | 4 +-
sound/soc/soc-generic-dmaengine-pcm.c | 6 +--
sound/soc/soc-pcm.c | 30 ++++++-------
sound/soc/sof/intel/hda-dai.c | 6 +--
sound/soc/sof/intel/hda-dsp.c | 2 +-
sound/soc/sprd/sprd-pcm-compress.c | 4 +-
sound/soc/sprd/sprd-pcm-dma.c | 2 +-
sound/soc/stm/stm32_adfsdm.c | 12 +++---
sound/soc/stm/stm32_sai_sub.c | 2 +-
sound/soc/sunxi/sun4i-spdif.c | 2 +-
sound/soc/tegra/tegra_alc5632.c | 2 +-
sound/soc/tegra/tegra_max98090.c | 2 +-
sound/soc/tegra/tegra_rt5640.c | 2 +-
sound/soc/tegra/tegra_rt5677.c | 2 +-
sound/soc/tegra/tegra_sgtl5000.c | 2 +-
sound/soc/tegra/tegra_wm8753.c | 2 +-
sound/soc/tegra/tegra_wm8903.c | 6 +--
sound/soc/tegra/trimslice.c | 2 +-
sound/soc/ti/ams-delta.c | 4 +-
sound/soc/ti/davinci-evm.c | 4 +-
sound/soc/ti/davinci-vcif.c | 4 +-
sound/soc/ti/n810.c | 2 +-
sound/soc/ti/omap-abe-twl6040.c | 6 +--
sound/soc/ti/omap-mcbsp-st.c | 2 +-
sound/soc/ti/omap-mcbsp.c | 4 +-
sound/soc/ti/omap-mcpdm.c | 2 +-
sound/soc/ti/omap3pandora.c | 4 +-
sound/soc/ti/osk5912.c | 2 +-
sound/soc/ti/rx51.c | 2 +-
sound/soc/txx9/txx9aclc.c | 2 +-
sound/soc/uniphier/aio-compress.c | 22 +++++-----
sound/soc/uniphier/aio-dma.c | 6 +--
sound/soc/ux500/mop500_ab8500.c | 6 +--
sound/soc/ux500/ux500_pcm.c | 8 ++--
sound/soc/xtensa/xtfpga-i2s.c | 2 +-
191 files changed, 573 insertions(+), 577 deletions(-)
--
2.17.1
2020-03-27 15:33:10 +00:00
Pierre-Louis Bossart
f8e2501880
ASoC: SOF: IPC: dai-intel: move ALH declarations in header file
...
ALH was inserted in the wrong place during integration, add after DMIC
to mirror the file used by SOF firmware.
No functional change, just text move in the same file to better track
changes, if any.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/20200325215027.28716-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-27 15:16:30 +00:00
Pierre-Louis Bossart
004bd41631
ASoC: soc-acpi: expand description of _ADR-based devices
...
For SoundWire, we need to know if endpoints needs to be 'aggregated'
(MIPI parlance, meaning logically grouped), e.g. when two speaker
amplifiers need to be handled as a single logical output.
We don't necessarily have the information at the firmware (BIOS)
level, so add a notion of endpoints and specify if a device/endpoint
is part of a group, with a position.
This may be expanded in future solutions, for now only provide a group
and position information.
Since we modify the header file, change all existing upstream tables
as well to avoid breaking compilation/bisect.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/20200325215027.28716-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-27 15:16:28 +00:00
Kuninori Morimoto
2af69581e1
ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro
...
Now, snd_soc_pcm_runtime supports multi cpu_dai/codec_dai.
It still has cpu_dai/codec_dai for single DAI,
and has cpu_dais/codec_dais for multi DAIs.
dais = [][][][][][][][][][][][][][][][][][]
^cpu_dais ^codec_dais
|--- num_cpus ---|--- num_codecs --|
/* for multi DAIs */
rtd->cpu_dais = &rtd->dais[0];
rtd->codec_dais = &rtd->dais[dai_link->num_cpus];
/* for single DAI */
rtd->cpu_dai = rtd->cpu_dais[0];
rtd->codec_dai = rtd->codec_dais[0];
But, these can be replaced by dais.
This patch adds asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/875zevk5va.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-27 14:44:29 +00:00
Oder Chiou
8b15ee0bf8
ASoC: rt5682: Add a property for DMIC delay
...
The patch adds a property for DMIC delay (ms) to avoid pop noise and
changes the default delay setting.
Signed-off-by: Oder Chiou <oder_chiou@realtek.com >
Link: https://lore.kernel.org/r/20200323082547.7898-2-oder_chiou@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-23 18:17:24 +00:00
Oder Chiou
9a74c44a6f
ASoC: rt5682: Add a property for DMIC clock rate
...
The patch adds a property for DMIC clock rate (hz) and changes the
default to the common optimize DMIC clock rate.
Signed-off-by: Oder Chiou <oder_chiou@realtek.com >
Link: https://lore.kernel.org/r/20200323082547.7898-1-oder_chiou@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-23 18:17:23 +00:00
Takashi Iwai
c208a53350
ALSA: core: Add snd_device_get_state() helper
...
A new small helper to get the current state of the device registration
for the given object. It'll be used for USB-audio driver to check the
delayed device registrations.
Link: https://lore.kernel.org/r/20200323170643.19181-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2020-03-23 18:09:19 +01:00
Kuninori Morimoto
22a2fc8165
ASoC: soc-core: Merge CPU/Codec DAIs
...
ALSA SoC is currently categorizing CPU/Codec DAIs,
and it works well.
But modern devices require more complex connections,
for example Codec to Codec, etc, and future devices will
enable to more complex connections.
Because of these background, CPU/Codec DAIs categorizing is
no longer good much to modern device.
Currently, rtd has both CPU/Codec DAIs pointer.
rtd->cpu_dais = [][][][][][][][][]
rtd->codec_dais = [][][][][][][][][]
This patch merges these into DAIs pointer.
rtd->dais = [][][][][][][][][][][][][][][][][][]
^cpu_dais ^codec_dais
|--- num_cpus ---|--- num_codecs --|
Then, we can merge for_each_rtd_cpu/codec_dais() from this patch.
- for_each_rtd_cpu_dais() {
- ...
- }
- for_each_rtd_codec_dais() {
- ...
- }
+ for_each_rtd_dais() {
+ ...
+ }
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/87wo7kolfa.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-20 20:45:32 +00:00
Srinivas Kandagatla
308811a327
ASoC: soc-dai: return proper error for get_sdw_stream()
...
snd_soc_dai_get_sdw_stream() returns null if dai does not support
this callback, this is no very useful for the caller to
differentiate if this is an error or unsupported call for the dai.
return -ENOTSUPP in cases where this callback is not supported.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200316151110.2580-1-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-16 18:07:41 +00:00
Mark Brown
673f45f7bf
Merge branch 'for-5.6' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.7
2020-03-13 18:52:23 +00:00
Karol Trzcinski
a6096f88a0
ASoC: SOF: Remove SOF_IPC_EXT_DMA_BUFFER
...
This enum code, and what's more important, related structures is
unused in whole source code, so it shouldn't be kept.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com >
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/20200312200622.24477-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-13 15:13:23 +00:00
Karol Trzcinski
4ea2578525
ASoC: SOF: Make sof_ipc_ext_data enum more rigid
...
It's a part of ABI interface, so enum value shouldn't change
for example after removing some old enum code.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com >
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/20200312200622.24477-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-13 15:13:23 +00:00
Guennadi Liakhovetski
f17a14789e
ASoC: export DPCM runtime update functions
...
This makes DPCM runtime update functions available for external
calling. As an example, virtualised ASoC component drivers may need
to call these when managing shared DAPM routes that are used by more
than one driver (i.e. when host driver and guest drivers have a DAPM
path from guest PCM to host DAI where some parts are owned by host
driver and others by guest driver).
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com >
Link: https://lore.kernel.org/r/20200312095214.15126-3-guennadi.liakhovetski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-12 13:30:38 +00:00
Mark Brown
4d90a4e677
Merge tag 'v5.6-rc5' into asoc-5.7
...
Linux 5.6-rc5
2020-03-11 18:45:26 +00:00
Kuninori Morimoto
1459669263
ASoC: soc-dapm: add for_each_card_widgets() macro
...
To be more readable code, this patch adds
new for_each_card_widgets() macro, and replace existing code to it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/87r1y2goga.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-10 13:35:27 +00:00
Kuninori Morimoto
df817f8e71
ASoC: soc-dapm: add for_each_card_dapms() macro
...
To be more readable code, this patch adds
new for_each_card_dapms() macro, and replace existing code to it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/87sgiigogf.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-10 13:35:26 +00:00
Kuninori Morimoto
17e6dab501
ASoC: soc.h: remove non plural form for_each_xxx macro
...
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/87tv2ygogl.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-10 13:35:25 +00:00
Kuninori Morimoto
995cbc3ca1
ASoC: soc.h: add for_each_rtd_codecs/cpus_dai() macro
...
We are using plural form for for_each_xxx() macro.
But, for_each_rtd_codec/cpu_dai() are out of this rule.
This patch adds plural form macro.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com >
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Link: https://lore.kernel.org/r/8736aii326.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-10 13:35:18 +00:00
Pierre-Louis Bossart
a22ae72b86
ASoC: soc-core: disable route checks for legacy devices
...
v5.4 changes in soc-core tightened the checks on soc_dapm_add_routes,
which results in the ASoC card probe failing.
Introduce a flag to be set in machine drivers to prevent the probe
from stopping in case of incomplete topologies or missing routes. This
flag is for backwards compatibility only and shall not be used for
newer machine drivers.
Example with an HDaudio card with a bad topology:
[ 236.177898] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: Failed to
add route iDisp1_out -> direct -> iDisp1 Tx
[ 236.177902] skl_hda_dsp_generic skl_hda_dsp_generic:
snd_soc_bind_card: snd_soc_dapm_add_routes failed: -19
with the disable_route_checks set:
[ 64.031657] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: Failed to
add route iDisp1_out -> direct -> iDisp1 Tx
[ 64.031661] skl_hda_dsp_generic skl_hda_dsp_generic:
snd_soc_bind_card: disable_route_checks set, ignoring errors on
add_routes
Fixes: daa480bde6 ("ASoC: soc-core: tidyup for snd_soc_dapm_add_routes()")
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com >
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://lore.kernel.org/r/20200309192744.18380-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-10 13:02:30 +00:00
Takashi Iwai
cf4afed90c
Merge branch 'for-linus' into for-next
...
Back-merge of 5.6 devel branch for further changes in 5.7 cycle
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2020-03-09 19:50:18 +01:00
Takashi Iwai
5a56996b0f
Merge tag 'asoc-fix-v5.6-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
...
ASoC: Fixes for v5.6
More fixes that have arrived since the merge window, spread out all
over. There's a few things like the operation callback addition for
rt1015 and the meson reset addition which add small new bits of
functionality to fix non-working systems, they're all very small and for
parts of newly added functionality.
2020-03-07 07:24:36 +01:00
Samuel Holland
5854a46486
ASoC: pcm: Export parameter intersection logic
...
The logic to calculate the subset of stream parameters supported by all
DAIs associated with a PCM stream is nontrivial. Export a helper
function so it can be used to set up simple codec2codec DAI links.
Signed-off-by: Samuel Holland <samuel@sholland.org >
Link: https://lore.kernel.org/r/20200305051143.60691-3-samuel@sholland.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2020-03-06 14:24:10 +00:00