aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-09-27ASoC: adau1372: Update to modern clocking terminologyMark Brown1-7/+7
As part of moving to remove the old style defines for the bus clocks update the adau1372 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: ad1836: Update to modern clocking terminologyMark Brown1-3/+3
As part of moving to remove the old style defines for the bus clocks update the ad1836 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: ep93xx: Convert to modern clocking terminologyMark Brown3-7/+7
As part of the effort to remove our old APIs based on outdated terminology update the EP93xx drivers to use modern terminology. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: samsung: add missing "fallthrough;"Arnd Bergmann1-0/+2
With gcc, we get a warning in this file: In file included from include/linux/io.h:13, from sound/soc/samsung/s3c-i2s-v2.c:16: sound/soc/samsung/s3c-i2s-v2.c: In function 's3c2412_i2s_trigger': arch/arm/include/asm/io.h:92:22: error: this statement may fall through [-Werror=implicit-fallthrough=] #define __raw_writel __raw_writel ^ arch/arm/include/asm/io.h:299:29: note: in expansion of macro '__raw_writel' #define writel_relaxed(v,c) __raw_writel((__force u32) cpu_to_le32(v),c) ^~~~~~~~~~~~ arch/arm/include/asm/io.h:307:36: note: in expansion of macro 'writel_relaxed' #define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); }) ^~~~~~~~~~~~~~ sound/soc/samsung/s3c-i2s-v2.c:398:3: note: in expansion of macro 'writel' writel(0x0, i2s->regs + S3C2412_IISFIC); ^~~~~~ sound/soc/samsung/s3c-i2s-v2.c:400:2: note: here case SNDRV_PCM_TRIGGER_RESUME: ^~~~ From all I can tell, this was indeed meant to fall through, so add "fallthrough;" statement to avoid the warning. Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: ak4642: Use modern ASoC DAI format terminologyMark Brown1-4/+4
As part of moving to remove the old style defines for the bus clocks update the ak4642 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wcd9335: Use correct version to initialize Class HYassine Oudjana1-1/+1
The versioning scheme was changed in an earlier patch, which caused the version being used to initialize WCD9335 to be interpreted as if it was WCD937X, which changed code paths causing broken headphones output. Pass WCD9335 instead of WCD9335_VERSION_2_0 to wcd_clsh_ctrl_alloc to fix it. Fixes: 19c5d1f6a0c3 ("ASoC: codecs: wcd-clsh: add new version support") Signed-off-by: Yassine Oudjana <[email protected]> Reviewed-by: Srinivas Kandagatla <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: alc5632: Use modern ASoC DAI format terminologyMark Brown1-4/+4
As part of moving to remove the old style defines for the bus clocks update the alc5632 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: ak4104: Update to modern clocking terminologyMark Brown1-2/+2
As part of moving to remove the old style defines for the bus clocks update the ak4104 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: ak4118: Update to modern clocking terminologyMark Brown1-11/+9
As part of moving to remove the old style defines for the bus clocks update the ak4118 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: zl38060: Update to modern clocking terminologyMark Brown1-2/+2
As part of moving to remove the old style defines for the bus clocks update the zl38060 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: q6afe: q6asm: Fix typos in qcom,q6afe.txt and qcom,q6asm.txtMasanari Iida2-2/+2
This patch fixes two spelling typos in qcom,q6afe.txt and qcom,q6asm.txt Signed-off-by: Masanari Iida <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPsSimon Trimmer11-3006/+3409
wm_adsp originally provided firmware loading on some audio DSP and was implemented as an ASoC codec driver. However, the firmware loading now covers a wider range of DSP cores and peripherals containing them, beyond just audio. So it needs to be available to non-audio drivers. All the core firmware loading support has been moved into a new driver cs_dsp, leaving only the ASoC-specific parts in wm_adsp. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Separate wm_adsp specifics in cs_dsp_client_opsSimon Trimmer2-10/+48
This is preparation for moving the generic DSP support out of ASoC. The event callbacks let the client add custom handling of events. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Split out struct cs_dsp from struct wm_adspSimon Trimmer12-280/+310
In preparation for moving the generic DSP support out of ASoC split struct wm_adsp into two parts, one will form the structure for the new generic DSP code and embed that one into wm_adsp. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: move firmware loading to clientSimon Trimmer1-51/+112
This is preparation for moving the generic DSP support out of ASoC. Passing the firmware as parameters into the power_up functions simplifies the generic code that will be moved out of wm_adsp. Signed-off-by: Simon Trimmer <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Pass firmware names as parameters when starting DSP coreSimon Trimmer2-17/+27
As preparation for moving the generic DSP support out of ASoC pass the firmware names used when loading files as parameters as the generic code can't refer directly to the array specific to wm_adsp. The code remaining in wm_adsp.c doesn't need to change, it can continue to use the string arrays directly. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Move check of dsp->running to better placeSimon Trimmer1-1/+4
In preparation for moving the generic DSP support out of ASoC, move the check of dsp->running to a more appropriate place that will move to the generic code. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Separate generic cs_dsp_coeff_ctl handlingSimon Trimmer2-127/+176
This is preparation for moving the generic DSP support out of ASoC. The majority of the handling of firmware controls is generic and this change separates the generic and ASoC specific details into separate structures and functions and renames the generic code named wm_* to cs_*. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Move sys_config_size to wm_adspCharles Keepax2-7/+7
sys_config_size is part of the compressed stream support, move it from what will become generic DSP code so that it remains in ASoC. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Simon Trimmer <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Split DSP power operations into helper functionsSimon Trimmer1-222/+273
This is preparation for moving the generic DSP support out of ASoC. This change separates the generic handling of power and state transitions from the DAPM API wrapper. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Separate some ASoC and generic functionsSimon Trimmer1-31/+74
Split some functions into ASoC and generic portions so that existing interfaces can be retained whilst allowing the implementation to be moved out of ASoC. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Introduce cs_dsp logging macrosSimon Trimmer1-227/+234
In preparation for moving the generic DSP support out of ASoC, add some new logging macros that will be used from the generic code. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Rename generic DSP supportSimon Trimmer11-473/+473
This rename is preparation for moving the generic DSP support out of ASoC, generic code named wm_* will be renamed to cs_*. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Cancel ongoing work when removing controlsSimon Trimmer1-25/+9
Removes wm_adsp_ctl_work and integrates the work_struct into wm_coeff_ctl so it may be referenced. Signed-off-by: Simon Trimmer <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Switch to using wm_coeff_read_ctrl for compressed buffersCharles Keepax1-17/+7
When parsing a compressed buffer from the firmware the driver currently open codes reading the firmware coefficient containing the buffer description. Improve this slightly by using the coefficient read functions already provided by the wm_adsp driver. It is worth noting this change requires the running variable to be set before wm_adsp_buffer_init is called, however this is safe, since its all still under the power lock and nothing in the compressed code gates itself on running. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Simon Trimmer <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Move check for control existenceCharles Keepax1-8/+13
Checking earlier in the function if a control already exists avoids superfluous string construction and also prepares for future refactoring. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Simon Trimmer <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-27ASoC: wm_adsp: Remove use of snd_ctl_elem_type_tSimon Trimmer2-16/+16
In preparation for moving the generic DSP support out of ASoC, remove the use of the ALSA specific types for the control type. The use of an ALSA type was unnecessary, the simplified code is easier to read and avoids Sparse warnings. Signed-off-by: Simon Trimmer <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: pl1022_rdk: Update to modern clocking terminologyMark Brown1-1/+1
As part of moving to remove the old style defines for the bus clocks update the pl1022_rdk driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: pl1022_ds: Update to modern clocking terminologyMark Brown1-8/+8
As part of moving to remove the old style defines for the bus clocks update the pl1022_ds driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: mpc8610_hpcd: Update to modern clocking terminologyMark Brown1-8/+8
As part of moving to remove the old style defines for the bus clocks update the mpc8610_hpcd driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: imx-sgtl5000: Update to modern clocking terminologyMark Brown1-1/+1
As part of moving to remove the old style defines for the bus clocks update the imx-sgtl5000 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: imx-rpmsg: Update to modern clocking terminologyMark Brown1-1/+1
As part of moving to remove the old style defines for the bus clocks update the imx-rpmsg driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: imx-hdmi: Update to modern clocking terminologyMark Brown1-2/+2
As part of moving to remove the old style defines for the bus clocks update the imx-hdmi driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: imx-es8328: Update to modern clocking terminologyMark Brown1-1/+1
As part of moving to remove the old style defines for the bus clocks update the imx-es8328 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: imx-card: Update to modern clocking terminologyMark Brown1-1/+1
As part of moving to remove the old style defines for the bus clocks update the imx-card driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: imx-audmix: Update to modern clocking terminologyMark Brown1-4/+4
As part of moving to remove the old style defines for the bus clocks update the imx-audmix driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: fsl_ssi: Update to modern clocking terminologyMark Brown1-19/+19
As part of moving to remove the old style defines for the bus clocks update the fsl_ssi driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: fsl_sai: Update to modern clocking terminologyMark Brown2-18/+18
As part of moving to remove the old style defines for the bus clocks update the fsl_sai driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: fsl-mqs: Update to modern clocking terminologyMark Brown1-2/+2
As part of moving to remove the old style defines for the bus clocks update the fsl-mqs driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: fsl-esai: Update to modern clocking terminologyMark Brown1-14/+14
As part of moving to remove the old style defines for the bus clocks update the fsl-esai driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: fsl-audmix: Update to modern clocking terminologyMark Brown1-4/+4
As part of moving to remove the old style defines for the bus clocks update the fsl-audmix driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: fsl-asoc-card: Update to modern clocking terminologyMark Brown1-27/+27
As part of moving to remove the old style defines for the bus clocks update the fsl-asoc-card driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: eureka-tlv320: Update to modern clocking terminologyMark Brown1-1/+1
As part of moving to remove the old style defines for the bus clocks update the eureka-tlv320 driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-22ASoC: cros_ec_codec: Use modern ASoC DAI format terminologyMark Brown1-2/+2
As part of moving to remove the old style defines for the bus clocks update the cros_ec_codec driver to use more modern terminology for clocking. Signed-off-by: Mark Brown <[email protected]> Reviewed-by: Enric Balletbo i Serra <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-21ASoC: Fix warning related to 'sound-name-prefix' bindingSameer Pujar2-0/+4
commit 82d3ec1d89fa ("ASoC: Use schema reference for sound-name-prefix") added name-prefix.yaml schema and the same reference was used in couple of other schemas. But this is causing following warning and the same is fixed in current patch. Documentation/devicetree/bindings/sound/nxp,tfa989x.example.dt.yaml: audio-codec@34: 'sound-name-prefix' does not match any of the regexes: 'pinctrl-[0-9]+' From schema: Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml Documentation/devicetree/bindings/sound/nxp,tfa989x.example.dt.yaml: audio-codec@36: 'sound-name-prefix' does not match any of the regexes: 'pinctrl-[0-9]+' From schema: Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml Fixes: 82d3ec1d89fa ("ASoC: Use schema reference for sound-name-prefix") Reported-by: Rob Herring <[email protected]> Suggested-by: Rob Herring <[email protected]> Signed-off-by: Sameer Pujar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-21ASoC: qdsp6: q6afe-dai: Fix spelling mistake "Fronend" -> "Frontend"Colin Ian King1-1/+1
There is a spelling mistake in the module description. Fix it. Signed-off-by: Colin Ian King <[email protected]> Reviewed-by: Srinivas Kandagatla <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-21ASoC: fsl_spdif: Add support for i.MX8ULPShengjiu Wang1-0/+11
On i.MX8ULP the spdif works with EDMA, so add compatible string and soc specific data for i.MX8ULP. Signed-off-by: Shengjiu Wang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-21ASoC: fsl: Constify static snd_soc_opsRikard Falkeborn3-5/+5
These are only assigned to the ops field in the snd_soc_dai_link struct which is a pointer to const struct snd_soc_ops. Make them const to allow the compiler to put them in read-only memory. Signed-off-by: Rikard Falkeborn <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2021-09-20ASoC: Drop mistakenly applied SPI patchMark Brown1-2/+3
Revert 6e8cc4ddce828 ("spi: tegra20-slink: Declare runtime suspend and resume functions conditionally") which was mistakenly applied to the ASoC tree not the SPI tree (where it was also applied. Signed-off-by: Mark Brown <[email protected]>
2021-09-20Merge series "ASoC: compress: Support module_get on stream open" from Peter ↵Mark Brown3-47/+71
Ujfalusi <[email protected]>: Hi, SOF is marking all componet drivers with module_get_upon_open = 1 which works fine with normal PCM streams, however on compressed side the module get upon open is not supported. The module_get works when module_get_upon_open is not set becasue the snd_soc_component_module_get_when_probe() will pass NULL for the substream parameter of snd_soc_component_module_get(). In order to re-use the existing infrastructure for module_get, the proposal is to convert the mark_module to void pointer (like the pm mark) and implement matching code for the compressed open/free to pcm open/close. Regards, Peter --- Peter Ujfalusi (2): ASoC: soc-component: Convert the mark_module to void* ASoC: compress/component: Use module_get_when_open/put_when_close for cstream include/sound/soc-component.h | 14 ++++---- sound/soc/soc-component.c | 61 +++++++++++++++-------------------- sound/soc/soc-compress.c | 43 +++++++++++++++++++++--- 3 files changed, 71 insertions(+), 47 deletions(-) -- 2.33.0