Shuming Fan
62142da241
ASoC: rt712-sdca: Add FU05 playback switch control
...
Because there is no playback switch control for rt712-sdw headphone endpoint,
it causes there is no way to control HP on and off in ALSA UCM config.
Signed-off-by: derek.fang <derek.fang@realtek.com >
Signed-off-by: Shuming Fan <shumingf@realtek.com >
Link: https://patch.msgid.link/20250226084728.1889082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-26 12:25:39 +00:00
Mark Brown
dc64e1b9da
Enable DMIC for Genio 700/510 EVK
...
Merge series from "Nícolas F. R. A. Prado" <nfraprado@collabora.com >:
This series enables the dual digital microphones present on the Genio
700 and 510 EVK boards.
2025-02-25 17:36:15 +00:00
Mark Brown
22254fca9b
ASoC: dt-bindings: fsl: Reference common DAI
...
Merge series from Shengjiu Wang <shengjiu.wang@nxp.com >:
Reference common DAI properties for fsl,easrc and fsl,imx-asrc
2025-02-25 15:35:03 +00:00
Mark Brown
d909b8d13a
ASoC: Intel: avs: Mute and multi-channel controls
...
Merge series from Cezary Rojewski <cezary.rojewski@intel.com >:
Note: the patchset DOES provide functional changes to the ASoC
framework.
Current kcontrols loaded with ASoC topology allow for mono or stereo
configuration only. To expand this and provide support to up to 8
channels, first address the limitations found within the ASoC core and
then update the user (avs-driver) so that it can utilize these new
functionality. The 8 channels max stems from SND_SOC_TPLG_MAX_CHAN
constant which is part of UAPI - asoc.h.
For the ASoC side, two changes are made:
- drop the ambiguous usage of ops.info when determining the kcontrol
type
- save the num_channels value which is already part of the ALSA-topology
but is currently skipped by ASoC core when loading mixer controls
For the avs-driver side, merge PEAKVOL IPCs as there is basically no
difference between the handles and then do the same with the control
operations. The merge for the latter is done is two steps: first provide
new implementation which honors the multi-channel controls and then move
to it while dropping the now-duplicated code.
Amadeusz Sławiński (2):
ASoC: Intel: avs: Add volume control for GAIN module
ASoC: Intel: avs: Add support for mute for PEAKVOL and GAIN
Cezary Rojewski (8):
ASoC: topology: Create kcontrols based on their type
ASoC: topology: Save num_channels value for mixer controls
ASoC: Intel: avs: Make PEAKVOL configurable from topology
ASoC: Intel: avs: Update VOLUME and add MUTE IPCs
ASoC: Intel: avs: New volume control operations
ASoC: Intel: avs: Move to the new control operations
ASoC: Intel: avs: Honor the invert flag for mixer controls
ASoC: Intel: avs: Support multi-channel PEAKVOL instantiation
include/sound/soc.h | 1 +
include/uapi/sound/intel/avs/tokens.h | 4 +
sound/soc/intel/avs/control.c | 180 ++++++++++++++++++++------
sound/soc/intel/avs/control.h | 12 +-
sound/soc/intel/avs/messages.c | 111 +++++++++++++++-
sound/soc/intel/avs/messages.h | 24 +++-
sound/soc/intel/avs/path.c | 108 ++++++++++++++--
sound/soc/intel/avs/path.h | 5 +
sound/soc/intel/avs/topology.c | 47 ++++++-
sound/soc/intel/avs/topology.h | 5 +
sound/soc/soc-topology.c | 55 +++-----
11 files changed, 440 insertions(+), 112 deletions(-)
--
2.25.1
2025-02-25 15:23:45 +00:00
Mark Brown
f9d4f69975
ASoC: imx-card: support playback or capture only
...
Merge series from Shengjiu Wang <shengjiu.wang@nxp.com >:
Be similar to audio graph card, support playback or capture only for
imx-audio-card.
imx-card can't directly refer to audio-graph-port.yaml, because it is
not based on 'ports'. Add playback-only and capture-only property
directly
2025-02-25 15:23:41 +00:00
Nícolas F. R. A. Prado
f00b305684
ASoC: dt-bindings: mediatek,mt8188-mt6359: Add DMIC backend to dai-link
...
MT8188 platforms also have DMIC DAIs, which were previously undescribed.
Add DMIC_BE as a possible backend for the dai-link property.
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://patch.msgid.link/20250225-genio700-dmic-v2-7-3076f5b50ef7@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 14:58:52 +00:00
Nícolas F. R. A. Prado
390ebb24b3
ASoC: mediatek: mt8188-mt6359: Add DMIC support
...
Add the DMIC backend, which connects to the DMIC DAI in the platform
driver, as well as a "AP DMIC" mic widget. On the Genio 700 EVK board
the dual DMIC on-board are wired through that DMIC DAI.
Co-developed-by: parkeryang <Parker.Yang@mediatek.com >
Signed-off-by: parkeryang <Parker.Yang@mediatek.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com >
Link: https://patch.msgid.link/20250225-genio700-dmic-v2-5-3076f5b50ef7@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 14:58:51 +00:00
parkeryang
c1e42ec041
ASoC: mediatek: mt8188: Add support for DMIC
...
Add support for the DMIC DAIs present on the MT8188 SoC. To achieve
that, add a DAI driver for DMIC and register it during probe, and
describe the AFE routes that connect the DMIC (I004-I011) to the UL9
frontend (O002-O009).
Signed-off-by: parkeryang <Parker.Yang@mediatek.com >
Co-developed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com >
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://patch.msgid.link/20250225-genio700-dmic-v2-4-3076f5b50ef7@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 14:58:50 +00:00
Nícolas F. R. A. Prado
7d87bde21c
ASoC: mediatek: mt8188: Treat DMIC_GAINx_CUR as non-volatile
...
The DMIC_GAINx_CUR registers contain the current (as in present) gain of
each DMIC. During capture, this gain will ramp up until a target value
is reached, and therefore the register is volatile since it is updated
automatically by hardware.
However, after capture the register's value returns to the value that
was written to it. So reading these registers returns the current gain,
and writing configures the initial gain for every capture.
>From an audio configuration perspective, reading the instantaneous gain
is not really useful. Instead, reading back the initial gain that was
configured is the desired behavior. For that reason, consider the
DMIC_GAINx_CUR registers as non-volatile, so the regmap's cache can be
used to retrieve the values, rather than requiring pm runtime resuming
the device.
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://patch.msgid.link/20250225-genio700-dmic-v2-3-3076f5b50ef7@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 14:58:49 +00:00
Nícolas F. R. A. Prado
bf1800073f
ASoC: mediatek: mt8188: Add reference for dmic clocks
...
Add the names for the dmic clocks, aud_afe_dmic* and aud_dmic_hires*, so
they can be acquired and enabled by the platform driver.
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://patch.msgid.link/20250225-genio700-dmic-v2-2-3076f5b50ef7@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 14:58:48 +00:00
Nícolas F. R. A. Prado
ef6a24c79d
ASoC: mediatek: mt8188: Add audsys hires clocks
...
Describe and register the aud_dmic_hires audsys clocks, which are needed
when recording the DMIC at a sample rate of 96k.
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com >
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com >
Link: https://patch.msgid.link/20250225-genio700-dmic-v2-1-3076f5b50ef7@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 14:58:47 +00:00
Shengjiu Wang
3e7b375752
ASoC: dt-bindings: fsl,imx-asrc: Reference common DAI properties
...
Reference the dai-common.yaml schema to allow '#sound-dai-cells' and
"sound-name-prefix' to be used.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com >
Acked-by: Rob Herring (Arm) <robh@kernel.org >
Link: https://patch.msgid.link/20250224090413.727911-3-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 13:19:51 +00:00
Shengjiu Wang
6542db20ca
ASoC: dt-bindings: fsl,easrc: Reference common DAI properties
...
Reference the dai-common.yaml schema to allow '#sound-dai-cells' and
"sound-name-prefix' to be used.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com >
Acked-by: Rob Herring (Arm) <robh@kernel.org >
Link: https://patch.msgid.link/20250224090413.727911-2-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 13:19:50 +00:00
Thorsten Blum
8fd0e127d8
ASoC: amd: acp: acp70: Remove unnecessary if-check
...
Since list_for_each_entry() expects the list to not be empty, the
iterator variable cannot be NULL and the unnecessary if-check can be
removed. Remove it and indent the code accordingly.
Compile-tested only.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev >
Link: https://patch.msgid.link/20250224221214.199849-2-thorsten.blum@linux.dev
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 13:19:24 +00:00
Ethan Carter Edwards
63d93f4d0f
ASoC: q6dsp: q6apm: replace kzalloc() with kcalloc() in q6apm_map_memory_regions()
...
We are trying to get rid of all multiplications from allocation
functions to prevent integer overflows[1]. Here the multiplication is
obviously safe, but using kcalloc() is more appropriate and improves
readability. This patch has no effect on runtime behavior.
Link: https://github.com/KSPP/linux/issues/162 [1]
Link: https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com >
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Link: https://patch.msgid.link/20250222-q6apm-kcalloc-v1-1-6f09dae6c31c@ethancedwards.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 13:19:23 +00:00
Kuninori Morimoto
a5a3de8990
ASoC: sh: migor: use inclusive language for SND_SOC_DAIFMT_CBx_CFx
...
In SND_SOC_DAIFMT_CBx_CFx, M/S are no longer used. use P/C.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://patch.msgid.link/87h64qvihz.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 13:19:22 +00:00
Kuninori Morimoto
38399716e3
ASoC: ti: rx51: use inclusive language for SND_SOC_DAIFMT_CBx_CFx
...
In SND_SOC_DAIFMT_CBx_CFx, M/S are no longer used. use P/C.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://patch.msgid.link/87frkaviho.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 13:19:21 +00:00
Kuninori Morimoto
1c4749873b
ASoC: kirkwood: use inclusive language for SND_SOC_DAIFMT_CBx_CFx
...
In SND_SOC_DAIFMT_CBx_CFx, M/S are no longer used. use P/C.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://patch.msgid.link/87eczuvih7.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 13:19:20 +00:00
Kuninori Morimoto
5a09e17902
ASoC: Documentation: DPCM: use inclusive language for SND_SOC_DAIFMT_CBx_CFx
...
In SND_SOC_DAIFMT_CBx_CFx, M/S are no longer used. use P/C.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com >
Link: https://patch.msgid.link/87ikp6vii9.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-25 13:19:19 +00:00
Cezary Rojewski
a9409fcb97
ASoC: Intel: avs: Support multi-channel PEAKVOL instantiation
...
The PEAKVOL module initialization procedure allows for specifying
default configuration for all individual channels. To reflect that in
the code, first update avs_get_module_control() to allow for selecting
Volume or Mute control based on needs and then apply the settings with
newly added avs_peakvol_set_volume() and avs_peakvol_set_mute().
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-11-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:59 +00:00
Cezary Rojewski
76e0131528
ASoC: Intel: avs: Honor the invert flag for mixer controls
...
Values for the mute flag represented on the AudioDSP side are inverted.
Check mixer control description and initialize default values
accordingly.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-10-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:58 +00:00
Amadeusz Sławiński
a4217a0368
ASoC: Intel: avs: Add support for mute for PEAKVOL and GAIN
...
With recent updates to AudioDSP firmware, mute functionality has been
added to PEAKVOL and GAIN modules. The operation occurs over IPC
similarly to how volume is configured. Wire it up to kcontrol
infrastructure present in the avs-driver.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-9-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:57 +00:00
Cezary Rojewski
4c32ebcc86
ASoC: Intel: avs: Move to the new control operations
...
Allow for multi-channel volume controls to be utilized by an application
by moving over to the new implementation. Drop all unused code in the
process.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-8-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:56 +00:00
Cezary Rojewski
c321a4d705
ASoC: Intel: avs: New volume control operations
...
To provide multi-channel - more than 2 - capability to volume controls
implement operations that honor the num_channels of a mixer control. As
mc->num_channels can be 0 and is in fact the default behavior, the new
functions decide between ALL_CHANNELS_MASK and individual channels based
on the field value.
To avoid hard-to-review delta when refactoring the code, first implement
the new behavior with follow up changes cleaning things up.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:55 +00:00
Cezary Rojewski
10188a25c9
ASoC: Intel: avs: Update VOLUME and add MUTE IPCs
...
For mute kcontrols to have an effect add IPCs for triggering the mute
operation on the DSP side. On top of basic get/set, an aggregated
variant of the latter is provided for both MUTE and, to already present
VOLUME IPC. It allows for efficient transmission of multiple parameters
at once.
While at it, sort the functions - getters come before setters in the
AudioDSP firmware interface as well as in the kcontrol one.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-6-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:55 +00:00
Amadeusz Sławiński
4c43a930e3
ASoC: Intel: avs: Add volume control for GAIN module
...
The AudioDSP firmware's GAIN module has same initialization payload as
PEAKVOL and user volume setting can be applied up-front. Update existing
code to account for PEAKVOL and GAIN both.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com >
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-5-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:54 +00:00
Cezary Rojewski
28feec15fa
ASoC: Intel: avs: Make PEAKVOL configurable from topology
...
The driver exposes volume kcontrols if PEAKVOL/GAIN module is present
in the streaming path. Currently there is no control over their default
values including the effect that may accompany the volume change event.
Add template for PEAKVOL/GAIN module which holds all the information
needed to address the limitation.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-4-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:53 +00:00
Cezary Rojewski
81eb3a2bd2
ASoC: topology: Save num_channels value for mixer controls
...
To provide minimal support for multi-channel kcontrols i.e.: more than
stereo configuration, store the number of channels specified within the
SectionControlMixer. The field is part of the topology standard,
currently skipped by the ASoC core.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:52 +00:00
Cezary Rojewski
758beab025
ASoC: topology: Create kcontrols based on their type
...
Fields ->ops.info and ->type of struct snd_soc_tplg_ctl_hdr denote
info-operation type and control type respectively. These are two
different pieces of information. The info type is represented by
SND_SOC_TPLG_CTL_xxx and SND_SOC_TPLG_DAPM_CTL_xxx on UAPI side whereas
for control type it is SND_SOC_TPLG_TYPE_xxx (mixer, bytes or enum).
The type of the kcontrol to be created is currently guessed based on the
value of the ->ops.info. Use the ->type instead to correct and simplify
the code. With this change ops.info() can be customized by sound drivers
utilizing the ASoC-topology just like ops.get() and ops.put() can be.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com >
Link: https://patch.msgid.link/20250217102115.3539427-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 16:01:51 +00:00
Shengjiu Wang
1877c3e793
ASoC: imx-card: Add playback_only or capture_only support
...
With the DPCM case, the backend only support capture or playback, then
the linked frontend can only support capture or playback, but frontend
can't automatically enable only capture or playback, it needs the input
from dt-binding.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com >
Link: https://patch.msgid.link/20250217021715.284951-3-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 15:55:51 +00:00
Shengjiu Wang
8c6ede5cc4
ASoC: dt-bindings: imx-card: Add playback-only and capture-only property
...
Refer to audio graph card, add playback-only and capture-only property
for imx-audio-card.yaml for the case that only playback or capture is
supported.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com >
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com >
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com >
Acked-by: Rob Herring (Arm) <robh@kernel.org >
Link: https://patch.msgid.link/20250217021715.284951-2-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 15:55:50 +00:00
Thorsten Blum
10efa80792
ASoC: cros_ec_codec: Use str_enable_disable() helper in wov_enable_put()
...
Remove hard-coded strings by using the str_enable_disable() helper
function.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev >
Acked-by: Tzung-Bi Shih <tzungbi@kernel.org >
Link: https://patch.msgid.link/20250220120100.1530-2-thorsten.blum@linux.dev
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 15:00:59 +00:00
Thorsten Blum
88e09306b7
ASoC: atmel: atmel-classd: Use str_enabled_disabled() helper
...
Remove hard-coded strings by using the str_enabled_disabled() helper
function.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev >
Reviewed-by: Andrei Simion <andrei.simion@microchip.com >
Link: https://patch.msgid.link/20250222225925.539840-2-thorsten.blum@linux.dev
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 15:00:58 +00:00
Mario Limonciello
91b7512914
ASoC: SOF: amd: Move depends on AMD_NODE to consumers
...
CONFIG_SND_SOC_SOF_AMD_COMMON is a hidden option that is only selected by
other options. It can't have a direct depends on AMD_NODE because select
can't pick another option automatically.
This was attempted to be fixed in commit b47834ee44 ("ASoC: SOF: amd:
Add depends on CPU_SUP_AMD") but this just masked the issue as it was found
in another config.
Instead move the `depends on AMD_NODE` out of SND_SOC_SOF_AMD_COMMON to
all the consumers and drop `depends on CPU_SUP_AMD`.
Fixes: b47834ee44 ("ASoC: SOF: amd: Add depends on CPU_SUP_AMD")
Fixes: f120cf33d2 ("ASoC: SOF: amd: Use AMD_NODE")
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202502220104.a8P6ApQN-lkp@intel.com/
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://patch.msgid.link/20250221181840.2639793-1-superm1@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 15:00:57 +00:00
Thorsten Blum
2fa56dae1a
ASoC: fsl: fsl_qmc_audio: Remove unnecessary bool conversions
...
Remove unnecessary bool conversions and simplify the code.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev >
Acked-by: Herve Codina <herve.codina@bootlin.com >
Link: https://patch.msgid.link/20250223202741.1916-2-thorsten.blum@linux.dev
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-24 15:00:56 +00:00
Mario Limonciello
b47834ee44
ASoC: SOF: amd: Add depends on CPU_SUP_AMD
...
When SMN support was switched to the kernel wide AMD_NODE instead of
local implementation this broke compilation on the allyesconfig for
some architectures. AMD_NODE is only supported on AMD platforms, so
modify all the AMD drivers that use it to also require CPU_SUP_AMD.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au >
Closes: https://lore.kernel.org/linux-next/20250220160950.2cd64bdb@canb.auug.org.au/
Fixes: f120cf33d2 ("ASoC: SOF: amd: Use AMD_NODE")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://patch.msgid.link/20250220184822.916090-1-superm1@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-20 18:54:09 +00:00
Thorsten Blum
64899904d6
ASoC: soc-core: Use str_yes_no() in snd_soc_close_delayed_work()
...
Remove hard-coded strings by using the str_yes_no() helper function.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev >
Link: https://patch.msgid.link/20250220120156.1663-2-thorsten.blum@linux.dev
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-20 12:52:04 +00:00
Thomas Weißschuh
42ae6e2559
firmware: cs_dsp: test_control_parse: null-terminate test strings
...
The char pointers in 'struct cs_dsp_mock_coeff_def' are expected to
point to C strings. They need to be terminated by a null byte.
However the code does not allocate that trailing null byte and only
works if by chance the allocation is followed by such a null byte.
Refactor the repeated string allocation logic into a new helper which
makes sure the terminating null is always present.
It also makes the code more readable.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de >
Fixes: 83baecd92e ("firmware: cs_dsp: Add KUnit testing of control parsing")
Cc: stable@vger.kernel.org
Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com >
Tested-by: Richard Fitzgerald <rf@opensource.cirrus.com >
Link: https://patch.msgid.link/20250211-cs_dsp-kunit-strings-v1-1-d9bc2035d154@linutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-19 23:08:31 +00:00
Richard Fitzgerald
2e2f89b184
firmware: cs_dsp: test_bin_error: Use same test cases for adsp2 and Halo Core
...
Re-use the adsp2 test cases for the Halo Core test run. Before this the
Halo Core kunit_case array was an empty placeholder.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com >
Link: https://patch.msgid.link/20250219152132.1285941-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-19 23:08:30 +00:00
Balakrishnan Sambath
c8d08464bc
ASoC: dt-bindings: atmel-at91sam9g20ek: convert to json-schema
...
Convert atmel-at91sam9g20ek-wm8731-audio DT binding to yaml
based json-schema.Change file name to match json-scheme naming.
Signed-off-by: Balakrishnan Sambath <balakrishnan.s@microchip.com >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://patch.msgid.link/20250219-sound-atmel-at91sam9g20ek-v3-1-d7c082af4e14@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-19 15:01:08 +00:00
Mark Brown
67ebf71236
Adjust all AMD audio drivers to use AMD_NODE
...
Merge series from Mario Limonciello <superm1@kernel.org >:
The various AMD audio drivers have self contained implementations
for SMN router communication that require hardcoding the bridge ID.
These implementations also don't prevent race conditions with other
drivers performing SMN communication.
A new centralized driver AMD_NODE is introduced and all drivers in
the kernel should use this instead. Adjust all AMD audio drivers to
use it.
2025-02-19 02:43:31 +00:00
Mario Limonciello
a261d77fec
ASoC: SOF: amd: Drop host bridge ID from struct
...
host_bridge_id is no longer used by any of the SoCs as they
all use AMD_NODE to communicate with SMN routers.
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://patch.msgid.link/20250217231747.1656228-8-superm1@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-18 23:15:18 +00:00
Mario Limonciello
40d0592783
ASoC: amd: acp: Drop local symbols for smn read/write
...
As the ACP drivers use the AMD_NODE provided symbols, the local
ones are no longer necessary.
Tested by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://patch.msgid.link/20250217231747.1656228-7-superm1@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-18 23:15:17 +00:00
Mario Limonciello
f120cf33d2
ASoC: SOF: amd: Use AMD_NODE
...
All consumers of SMN in the kernel should be doing it through the
functions provided by AMD_NODE.
Stop using the local SMN read/write symbols and switch to the AMD_NODE
provided ones.
Tested by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://patch.msgid.link/20250217231747.1656228-6-superm1@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-18 23:15:17 +00:00
Mario Limonciello
8f96953714
ASoC: amd: acp: acp63: Use AMD_NODE
...
All consumers of SMN in the kernel should be doing it through the
functions provided by AMD_NODE.
Stop using the local SMN read/write symbols and switch to the AMD_NODE
provided ones.
Tested by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://patch.msgid.link/20250217231747.1656228-5-superm1@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-18 23:15:16 +00:00
Mario Limonciello
135c6af1ca
ASoC: amd: acp: acp70: Use AMD_NODE
...
All consumers of SMN in the kernel should be doing it through the
functions provided by AMD_NODE.
Stop using the local SMN read/write symbols and switch to the AMD_NODE
provided ones.
Tested by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://patch.msgid.link/20250217231747.1656228-4-superm1@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-18 23:15:15 +00:00
Mario Limonciello
e211adcf36
ASoC: amd: acp: rembrandt: Use AMD_NODE
...
All consumers of SMN in the kernel should be doing it through the
functions provided by AMD_NODE.
Stop using the local SMN read/write symbols and switch to the AMD_NODE
provided ones.
Tested by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com >
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Link: https://patch.msgid.link/20250217231747.1656228-3-superm1@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-18 23:15:14 +00:00
Mario Limonciello
c893ee3f95
x86/amd_node: Add a smn_read_register() helper
...
Some of the ACP drivers will poll registers through SMN using
read_poll_timeout() which requires returning the result of the register read
as the argument.
Add a helper to do just that.
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com >
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de >
Link: https://lore.kernel.org/r/20250217231747.1656228-2-superm1@kernel.org
2025-02-18 18:14:29 +01:00
Vijendar Mukunda
5d9fca12f5
ASoC: amd: ps: fix inconsistent indenting warning in check_and_handle_sdw_dma_irq()
...
Fix below inconsistent indenting smatch warning.
smatch warnings:
sound/soc/amd/ps/pci-ps.c:68 check_and_handle_sdw_dma_irq() warn: inconsistent indenting
Fixes: 4516be370c ("ASoC: amd: ps: refactor soundwire dma interrupt handling")
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202502132134.BlkNw1Iq-lkp@intel.com/
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com >
Link: https://patch.msgid.link/20250218051000.254265-1-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-18 16:16:32 +00:00
Dan Carpenter
a78f244a91
ASoC: SOF: imx: Fix error code in probe()
...
This accidentally returns "common->clk_num" instead of "ret".
Fixes: 651e0ed391 ("ASoC: SOF: imx: introduce more common structures and functions")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org >
Link: https://patch.msgid.link/b30ffe7f-21fd-45f9-9528-d6d689e04003@stanley.mountain
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-02-18 16:16:31 +00:00