]> www.infradead.org Git - users/hch/misc.git/log
users/hch/misc.git
8 weeks agoASoC: renesas: Use guard() for spin locks
Mark Brown [Tue, 9 Sep 2025 15:16:07 +0000 (16:16 +0100)]
ASoC: renesas: Use guard() for spin locks

Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:

Hi Mark, Iwai-san

This patch-set follows Iwai-san's guard() update on Renesas drivers.

Kuninori Morimoto (4):
  ASoC: renesas: msiof: Use guard() for spin locks
  ASoC: renesas: rsnd: Use guard() for spin locks
  ASoC: renesas: fsi: Use guard() for spin locks
  ASoC: renesas: rz-ssi: Use guard() for spin locks

 sound/soc/renesas/fsi.c        | 30 ++++++++---------------------
 sound/soc/renesas/rcar/core.c  | 18 +++++------------
 sound/soc/renesas/rcar/msiof.c | 26 ++++++++-----------------
 sound/soc/renesas/rcar/src.c   | 19 ++++++++----------
 sound/soc/renesas/rcar/ssi.c   | 35 +++++++++++++++++-----------------
 sound/soc/renesas/rz-ssi.c     | 14 ++++----------
 6 files changed, 50 insertions(+), 92 deletions(-)

--
2.43.0

8 weeks agoASoC: Intel: Fix invalid quirk input mapping
Mark Brown [Tue, 9 Sep 2025 15:16:01 +0000 (16:16 +0100)]
ASoC: Intel: Fix invalid quirk input mapping

Merge series from Takashi Iwai <tiwai@suse.de>:

This is a revised patch set for potential OOB accesses when wild
values are passed to quirk option for ASoC Intel drivers.
Unlike the v1 previous patchset, invalid quirk values are checked and
corrected at log_quirks() in each driver, instead.

v1: https://lore.kernel.org/20250415083144.6588-1-tiwai@suse.de

Takashi

===

Takashi Iwai (3):
  ASoC: Intel: bytcht_es8316: Fix invalid quirk input mapping
  ASoC: Intel: bytcr_rt5640: Fix invalid quirk input mapping
  ASoC: Intel: bytcr_rt5651: Fix invalid quirk input mapping

 sound/soc/intel/boards/bytcht_es8316.c | 20 +++++++++++++++++---
 sound/soc/intel/boards/bytcr_rt5640.c  |  7 +++++--
 sound/soc/intel/boards/bytcr_rt5651.c  | 26 +++++++++++++++++++++-----
 3 files changed, 43 insertions(+), 10 deletions(-)

--
2.50.1

8 weeks agoASoC: Intel: bytcr_rt5651: Fix invalid quirk input mapping
Takashi Iwai [Tue, 2 Sep 2025 17:18:21 +0000 (19:18 +0200)]
ASoC: Intel: bytcr_rt5651: Fix invalid quirk input mapping

When an invalid value is passed via quirk option, currently
bytcr_rt5640 driver just ignores and leaves as is, which may lead to
unepxected results like OOB access.

This patch adds the sanity check and corrects the input mapping to the
certain default value if an invalid value is passed.

Fixes: 64484ccee7af ("ASoC: Intel: bytcr_rt5651: Set card long_name based on quirks")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Message-ID: <20250902171826.27329-4-tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: Intel: bytcr_rt5640: Fix invalid quirk input mapping
Takashi Iwai [Tue, 2 Sep 2025 17:18:20 +0000 (19:18 +0200)]
ASoC: Intel: bytcr_rt5640: Fix invalid quirk input mapping

When an invalid value is passed via quirk option, currently
bytcr_rt5640 driver only shows an error message but leaves as is.
This may lead to unepxected results like OOB access.

This patch corrects the input mapping to the certain default value if
an invalid value is passed.

Fixes: 063422ca2a9d ("ASoC: Intel: bytcr_rt5640: Set card long_name based on quirks")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Message-ID: <20250902171826.27329-3-tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: Intel: bytcht_es8316: Fix invalid quirk input mapping
Takashi Iwai [Tue, 2 Sep 2025 17:18:19 +0000 (19:18 +0200)]
ASoC: Intel: bytcht_es8316: Fix invalid quirk input mapping

When an invalid value is passed via quirk option, currently
bytcht_es8316 driver just ignores and leaves as is, which may lead to
unepxected results like OOB access.

This patch adds the sanity check and corrects the input mapping to the
certain default value if an invalid value is passed.

Fixes: 249d2fc9e55c ("ASoC: Intel: bytcht_es8316: Set card long_name based on quirks")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Message-ID: <20250902171826.27329-2-tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: codecs: tlv320dac33: Convert to use gpiod api
Alex Tran [Mon, 1 Sep 2025 18:40:07 +0000 (11:40 -0700)]
ASoC: codecs: tlv320dac33: Convert to use gpiod api

Convert driver to use the gpiod api instead of the legacy
GPIO interface. Replace power_gpio integer with reset_gpiod descriptor
in the dac33 struct.

Use devm_gpiod_get_optional() to automatically handle resource cleanup
and add proper error checking when setting GPIO values.

Signed-off-by: Alex Tran <alex.t.tran@gmail.com>
Message-ID: <20250901184008.1249535-2-alex.t.tran@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: codecs: tlv320dac33: Add default value for burst_bclkdiv
Alex Tran [Mon, 1 Sep 2025 18:40:06 +0000 (11:40 -0700)]
ASoC: codecs: tlv320dac33: Add default value for burst_bclkdiv

Add default value for field burst_bclkdiv as initializing it to 0
is incorrect, potentially leading to a divide by 0 issue.
Valid range is 2-17 per TI datasheet. 8 was chosen as a
dummy value.

Reference <https://www.ti.com/lit/ds/symlink/tlv320dac32.pdf>.

Signed-off-by: Alex Tran <alex.t.tran@gmail.com>
Message-ID: <20250901184008.1249535-1-alex.t.tran@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: codecs: tlv320dac33: Remove unused struct tlv320dac33_platform_data and header...
Alex Tran [Mon, 1 Sep 2025 18:40:08 +0000 (11:40 -0700)]
ASoC: codecs: tlv320dac33: Remove unused struct tlv320dac33_platform_data and header file tlv320dac33-plat.h

Remove the tlv320dac33_platform_data struct and header file
tlv320dac33-plat.h as they are not used anywhere in the kernel
or outside this driver.

Signed-off-by: Alex Tran <alex.t.tran@gmail.com>
Message-ID: <20250901184008.1249535-3-alex.t.tran@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: renesas: rz-ssi: Use guard() for spin locks
Kuninori Morimoto [Mon, 8 Sep 2025 02:10:31 +0000 (02:10 +0000)]
ASoC: renesas: rz-ssi: Use guard() for spin locks

Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-ID: <87frcx1yp5.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: renesas: fsi: Use guard() for spin locks
Kuninori Morimoto [Mon, 8 Sep 2025 02:10:25 +0000 (02:10 +0000)]
ASoC: renesas: fsi: Use guard() for spin locks

Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-ID: <87h5xd1ypa.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: renesas: rsnd: Use guard() for spin locks
Kuninori Morimoto [Mon, 8 Sep 2025 02:10:20 +0000 (02:10 +0000)]
ASoC: renesas: rsnd: Use guard() for spin locks

Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-ID: <87ikht1ypg.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
8 weeks agoASoC: renesas: msiof: Use guard() for spin locks
Kuninori Morimoto [Mon, 8 Sep 2025 02:08:57 +0000 (02:08 +0000)]
ASoC: renesas: msiof: Use guard() for spin locks

Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-ID: <87jz291yrr.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: replace use of system_unbound_wq with system_dfl_wq
Marco Crivellari [Fri, 5 Sep 2025 09:10:15 +0000 (11:10 +0200)]
ASoC: replace use of system_unbound_wq with system_dfl_wq

Currently if a user enqueue a work item using schedule_delayed_work() the
used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use
WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to
schedule_work() that is using system_wq and queue_work(), that makes use
again of WORK_CPU_UNBOUND.

This lack of consistentcy cannot be addressed without refactoring the API.

system_unbound_wq should be the default workqueue so as not to enforce
locality constraints for random work whenever it's not required.

Adding system_dfl_wq to encourage its use when unbound work should be used.

queue_work() / queue_delayed_work() / mod_delayed_work() will now use the
new unbound wq: whether the user still use the old wq a warn will be
printed along with a wq redirect to the new one.

The old system_unbound_wq will be kept for a few release cycles.

Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>
Message-ID: <20250905091016.109428-2-marco.crivellari@suse.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: codecs: fs210x: Add NULL check in fs210x_register_snd_component
Charles Han [Fri, 5 Sep 2025 09:18:44 +0000 (17:18 +0800)]
ASoC: codecs: fs210x: Add NULL check in fs210x_register_snd_component

Add check for the return value of devm_kmemdup() to prevent
potential null pointer dereference.

Fixes: 756117701779 ("ASoC: codecs: Add FourSemi FS2104/5S audio amplifier driver")
Signed-off-by: Charles Han <hanchunchao@inspur.com>
Message-ID: <20250905091845.1559-1-hanchunchao@inspur.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoImprove cs42l43 suspend/IRQ interactions
Mark Brown [Thu, 4 Sep 2025 17:03:58 +0000 (18:03 +0100)]
Improve cs42l43 suspend/IRQ interactions

Merge series from Charles Keepax <ckeepax@opensource.cirrus.com>:

cs42l43 uses pm_runtime_force_suspend() during system suspend, however
this means care must be taken that IRQ handler code isn't running when
entering system suspend as force suspend will ignore that the handler
is holding a pm reference. Typically the result of this is just a few
error messages, but better to improve the handling and ensure that all
IRQ processing is synchronised in before system suspend.

2 months agoASoC: dt-bindings: Document routing strings for
Mark Brown [Thu, 4 Sep 2025 17:03:54 +0000 (18:03 +0100)]
ASoC: dt-bindings: Document routing strings for

Merge series from Jihed Chaibi <jihed.chaibi.dev@gmail.com>:

The series adds pin names for the es8316, wm8960, and nau8825
codecs to their respective binding files to improve the user
experience for board developers.

2 months agoASoC: dt-bindings: qcom,lpass-va-macro: Update bindings for clocks to support ADSP
Mohammad Rafi Shaik [Wed, 3 Sep 2025 15:13:30 +0000 (20:43 +0530)]
ASoC: dt-bindings: qcom,lpass-va-macro: Update bindings for clocks to support ADSP

Manage clock settings for ADSP solution. On Existing ADSP bypass
solutions, the macro and dcodec GDSCs are enabled using power domains
in lpass-va-macro which is not applicable for ADSP based platform.

Co-developed-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Message-ID: <20250903151337.1037246-2-mohammad.rafi.shaik@oss.qualcomm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: cs42l43: Shutdown jack detection on suspend
Charles Keepax [Wed, 3 Sep 2025 09:45:47 +0000 (10:45 +0100)]
ASoC: cs42l43: Shutdown jack detection on suspend

Fully power down the jack detection on system suspend since the device
will not be powered up during.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Message-ID: <20250903094549.271068-5-ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: cs42l43: Disable IRQs in system suspend
Charles Keepax [Wed, 3 Sep 2025 09:45:46 +0000 (10:45 +0100)]
ASoC: cs42l43: Disable IRQs in system suspend

Currently the MFD driver disables all the IRQs upon entering system
suspend, however there are some issues with this approach. As this
device uses runtime force suspend.

The regmap IRQ handler can run, claim a PM runtime reference and get
scheduled, the MFD can then force suspend. When the IRQ thread gets
rescheduled it will try to access volatile registers on the
suspended device. Furthermore, this race also applies to work queue
items scheduled by the IRQ handlers.

As the MFD code doesn't know about the individual work queue items, the
end drivers must mask their own IRQs and sync in any work queues as part
of entering system suspend. Update the code here to do so.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Message-ID: <20250903094549.271068-4-ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: cs42l43: Store IRQ domain in codec private data
Charles Keepax [Wed, 3 Sep 2025 09:45:45 +0000 (10:45 +0100)]
ASoC: cs42l43: Store IRQ domain in codec private data

To support future refactoring store a pointer to the IRQ domain in the
codec private data allowing easier access to it outside of probe.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Message-ID: <20250903094549.271068-3-ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: cs42l43: Rename system suspend callback and fix debug print
Charles Keepax [Wed, 3 Sep 2025 09:45:44 +0000 (10:45 +0100)]
ASoC: cs42l43: Rename system suspend callback and fix debug print

There is some confusion around cs42l43_codec_runtime_force_suspend().
This function is the system suspend callback, however the name and
the debug print both use the words runtime. Rename the function to
the simpler cs42l43_codec_suspend() and correct the debug print.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Message-ID: <20250903094549.271068-2-ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: dt-bindings: wlf,wm8960: Document routing strings (pin names)
Jihed Chaibi [Wed, 3 Sep 2025 16:01:19 +0000 (18:01 +0200)]
ASoC: dt-bindings: wlf,wm8960: Document routing strings (pin names)

Add a list of the wm8960 pin names to the binding's description to make
it self-contained and improve the user experience for board developers.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Message-ID: <20250903160119.83625-4-jihed.chaibi.dev@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: dt-bindings: nuvoton,nau8825: Document routing strings
Jihed Chaibi [Wed, 3 Sep 2025 16:01:18 +0000 (18:01 +0200)]
ASoC: dt-bindings: nuvoton,nau8825: Document routing strings

Add a list of the nau8825 pin names to the binding's description to make
it self-contained and improve the user experience for board developers.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Message-ID: <20250903160119.83625-3-jihed.chaibi.dev@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: dt-bindings: everest,es8316: Document routing strings
Jihed Chaibi [Wed, 3 Sep 2025 16:01:17 +0000 (18:01 +0200)]
ASoC: dt-bindings: everest,es8316: Document routing strings

Add a list of the es8316 pin names to the binding's description to make
it self-contained and improve the user experience for board developers.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Message-ID: <20250903160119.83625-2-jihed.chaibi.dev@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: Adjust platform names
Mark Brown [Wed, 3 Sep 2025 17:58:55 +0000 (18:58 +0100)]
ASoC: Intel: avs: Adjust platform names

Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:

This series is a direct follow up to the recent
machine-board-registration changes [1]. Initially, a number of smaller
patchsets were part of a bigger block of changes. My attempt to split
them up to make the review easier was unfortunately not successful [2].

The goal of this series is the same one as with [1] - allow for multiple
cards of the same type without workarounds or code duplications.
With the machine-board names being unique - thanks to
PLATFORM_DEVID_AUTO - platform component names shall be adjusted too so
that no misbindings happen.

In essence, majority of the changes can be summarized as: simplifying
card and dai_link initialization. Actions:

- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
- for the probe-board mach-context is dropped entirely. The panic [2] is
  gone

[1]: https://lore.kernel.org/linux-sound/20250827142229.869139-1-cezary.rojewski@intel.com/
[2]: https://lore.kernel.org/linux-sound/20250829225532.GA400117@ax162/

2 months agoASoC: codecs: lpass-wsa-macro: add Codev version 2.9
Srinivas Kandagatla [Tue, 2 Sep 2025 14:00:44 +0000 (15:00 +0100)]
ASoC: codecs: lpass-wsa-macro: add Codev version 2.9

Add support for lpass wsa codec macro version 2.9, which is available in
Qualcomm Glymur SoCs.

Its compatible with 2.8 w.r.t register layouts

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Message-ID: <20250902140044.54508-7-srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: codecs: lpass-macro: add Codec version 2.9
Srinivas Kandagatla [Tue, 2 Sep 2025 14:00:43 +0000 (15:00 +0100)]
ASoC: codecs: lpass-macro: add Codec version 2.9

Add support for lpass codec macro version 2.9, which is available in
Qualcomm Glymur SoCs.

Its compatible with 2.8 w.r.t register layouts.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Message-ID: <20250902140044.54508-6-srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: dt-bindings: qcom: Add Glymur LPASS wsa and va macro codecs
Srinivas Kandagatla [Tue, 2 Sep 2025 14:00:42 +0000 (15:00 +0100)]
ASoC: dt-bindings: qcom: Add Glymur LPASS wsa and va macro codecs

Document compatibles for Qualcomm Glymur SoC macro digital codecs
(VA and WSA), compatible with previous generation (SM8550 and SM8650).

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Message-ID: <20250902140044.54508-5-srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: qcom: x1e80100: add compatible for glymur SoC
Srinivas Kandagatla [Tue, 2 Sep 2025 14:00:41 +0000 (15:00 +0100)]
ASoC: qcom: x1e80100: add compatible for glymur SoC

Add support for glymur SoC based sound card support.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Message-ID: <20250902140044.54508-4-srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: dt-bindings: qcom,sm8250: Add glymur sound card
Srinivas Kandagatla [Tue, 2 Sep 2025 14:00:40 +0000 (15:00 +0100)]
ASoC: dt-bindings: qcom,sm8250: Add glymur sound card

Document the bindings for the glymur sound card which is
audioreach based architecture.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Message-ID: <20250902140044.54508-3-srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: qcom: x1e80100: set card driver name from match data
Srinivas Kandagatla [Tue, 2 Sep 2025 14:00:39 +0000 (15:00 +0100)]
ASoC: qcom: x1e80100: set card driver name from match data

Sound machine drivers for Qualcomm SoCs can be reused across multiple
SoCs. But user space ALSA UCM files depend on the card driver name which
should be set per board/SoC.

Allow such customization by using driver match data as sound card driver
name.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Message-ID: <20250902140044.54508-2-srinivas.kandagatla@oss.qualcomm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: ssm4567: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:53 +0000 (11:48 +0200)]
ASoC: Intel: avs: ssm4567: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-18-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: rt5682: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:52 +0000 (11:48 +0200)]
ASoC: Intel: avs: rt5682: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-17-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: rt5663: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:51 +0000 (11:48 +0200)]
ASoC: Intel: avs: rt5663: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-16-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: rt5514: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:50 +0000 (11:48 +0200)]
ASoC: Intel: avs: rt5514: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-15-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: rt298: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:49 +0000 (11:48 +0200)]
ASoC: Intel: avs: rt298: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-14-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: rt286: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:48 +0000 (11:48 +0200)]
ASoC: Intel: avs: rt286: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-13-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: rt274: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:47 +0000 (11:48 +0200)]
ASoC: Intel: avs: rt274: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-12-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: probe: Refactor dai_link creation
Cezary Rojewski [Tue, 2 Sep 2025 09:48:46 +0000 (11:48 +0200)]
ASoC: Intel: avs: probe: Refactor dai_link creation

To allow for multiple instances of the card, move away from static
dai_link declaration.

While at it, simplify the code as the name of the platform component
matches the name of the card's platform_device:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-11-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: nau8825: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:45 +0000 (11:48 +0200)]
ASoC: Intel: avs: nau8825: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-10-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: max98927: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:44 +0000 (11:48 +0200)]
ASoC: Intel: avs: max98927: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-9-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: max98373: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:43 +0000 (11:48 +0200)]
ASoC: Intel: avs: max98373: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-8-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: max98357a: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:42 +0000 (11:48 +0200)]
ASoC: Intel: avs: max98357a: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-7-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: i2stest: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:41 +0000 (11:48 +0200)]
ASoC: Intel: avs: i2stest: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-6-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: es8336: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:40 +0000 (11:48 +0200)]
ASoC: Intel: avs: es8336: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-5-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: dmic: Refactor dai_link creation
Cezary Rojewski [Tue, 2 Sep 2025 09:48:39 +0000 (11:48 +0200)]
ASoC: Intel: avs: dmic: Refactor dai_link creation

To allow for multiple instances of the card, move away from static
dai_link declaration.

While at it, simplify the code as the name of the platform component
matches the name of the card's platform_device:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-4-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: da7219: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:38 +0000 (11:48 +0200)]
ASoC: Intel: avs: da7219: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-3-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: hda: Adjust platform name
Cezary Rojewski [Tue, 2 Sep 2025 09:48:37 +0000 (11:48 +0200)]
ASoC: Intel: avs: hda: Adjust platform name

The name of the platform component matches the name of the card's
platform_device.

This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Message-ID: <20250902094853.1231842-2-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: ipc4-topology: Fix a less than zero check on a u32
Colin Ian King [Tue, 2 Sep 2025 08:32:13 +0000 (09:32 +0100)]
ASoC: SOF: ipc4-topology: Fix a less than zero check on a u32

Currently the error check from the call to sof_ipc4_get_sample_type
is always false because a u32 variable out_ref_type is being used
to perform the less than zero check. Fix this by using the int
variable ret to perform the check.

Fixes: c04c2e829649 ("ASoC: SOF: ipc4-topology: Add support for 8-bit formats")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20250902083213.2620124-1-colin.i.king@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: qcom: audioreach: fix sparse warnings
Mark Brown [Tue, 2 Sep 2025 10:02:19 +0000 (11:02 +0100)]
ASoC: qcom: audioreach: fix sparse warnings

Merge series from Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>:

Recent static calibration support patches have excersised new code path
exposing some missing checks and also accessing some variables which are
of LE type that are accessed directly without converting it to CPU type.

Thanks to Dan Carpenter and kernel test robot for reporting this.

2 months agoASoC: qcom: audioreach: convert to cpu endainess type before accessing
Srinivas Kandagatla [Mon, 25 Aug 2025 10:12:47 +0000 (11:12 +0100)]
ASoC: qcom: audioreach: convert to cpu endainess type before accessing

Looks like some of the members of module config are accessed directly
without converting their endainess to cpu type.

Fix this by using le32_to_cpu() where required.

Fixes: da9881d00153 ("ASoC: qcom: audioreach: add support for SMECNS module")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202508230830.Rkp7HHbG-lkp@intel.com
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20250825101247.152619-4-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: qcom: topology: convert to cpu endainess type before accessing
Srinivas Kandagatla [Mon, 25 Aug 2025 10:12:46 +0000 (11:12 +0100)]
ASoC: qcom: topology: convert to cpu endainess type before accessing

Looks like some of the members of module config are accessed directly
without converting their endainess to cpu type.

Fix this by using le32_to_cpu() where required.

Fixes: c7ed4c2debfd ("ASoC: qcom: audioreach: add support for static calibration")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202508230741.heXmHeDC-lkp@intel.com
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20250825101247.152619-3-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: qcom: audioreach: fix potential null pointer dereference
Srinivas Kandagatla [Mon, 25 Aug 2025 10:12:45 +0000 (11:12 +0100)]
ASoC: qcom: audioreach: fix potential null pointer dereference

It is possible that the topology parsing function
audioreach_widget_load_module_common() could return NULL or an error
pointer. Add missing NULL check so that we do not dereference it.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Cc: Stable@vger.kernel.org
Fixes: 36ad9bf1d93d ("ASoC: qdsp6: audioreach: add topology support")
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20250825101247.152619-2-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: soc-dapm: rename snd_soc_kcontrol_component() to snd_soc_kcontrol_to_component()
Kuninori Morimoto [Tue, 26 Aug 2025 06:22:26 +0000 (06:22 +0000)]
ASoC: soc-dapm: rename snd_soc_kcontrol_component() to snd_soc_kcontrol_to_component()

We have 2 similar functions, both converts date from snd_kcontrol to
snd_soc_component.

(A) snd_soc_kcontrol_component()
(B) snd_soc_dapm_kcontrol_component()

(A) is just wrapper for snd_kcontrol_chip().
(B) is for more complex conversion.

Having similar functions is confusable. So (A) will be replaced to
original snd_kcontrol_chip(). (B) will be stay, but the function
name should be xx_to_xx().

And it is defined at soc-component.h. It should be implemented at
soc-dapm.c.

This patch renames it to snd_soc_dapm_kcontrol_to_component(), and
move to soc-dapm.c.

This patch keeps compatible by using define, but old name will be replaced
on each drivers and removed from ASoC in the future.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/871poyy53x.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: soc-dapm: rename dapm_kcontrol_get_value() to snd_soc_dapm_kcontrol_get_value()
Kuninori Morimoto [Tue, 26 Aug 2025 06:22:19 +0000 (06:22 +0000)]
ASoC: soc-dapm: rename dapm_kcontrol_get_value() to snd_soc_dapm_kcontrol_get_value()

dapm_kcontrol_get_value() is global function, adds snd_soc_ prefix

This patch keeps compatible by using define, but old name will be replaced
on each drivers and removed from ASoC in the future.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/87349ey546.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: soc-dapm: rename snd_soc_dapm_kcontrol_dapm() to snd_soc_dapm_kcontrol_to_dapm()
Kuninori Morimoto [Tue, 26 Aug 2025 06:22:12 +0000 (06:22 +0000)]
ASoC: soc-dapm: rename snd_soc_dapm_kcontrol_dapm() to snd_soc_dapm_kcontrol_to_dapm()

snd_soc_dapm_kcontrol_dapm() is unclear naming, rename it to
snd_soc_dapm_kcontrol_to_dapm(). This is prepare for dapm cleanup.

This patch keeps compatible by using define, but old name will be replaced
on each drivers and removed from ASoC in the future.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/874ituy54c.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: soc-dapm: rename snd_soc_dapm_kcontrol_widget() to snd_soc_dapm_kcontrol_to_wid...
Kuninori Morimoto [Tue, 26 Aug 2025 06:22:05 +0000 (06:22 +0000)]
ASoC: soc-dapm: rename snd_soc_dapm_kcontrol_widget() to snd_soc_dapm_kcontrol_to_widget()

snd_soc_dapm_kcontrol_widget() is unclear naming, rename it to
snd_soc_dapm_kcontrol_to_widget(). This is prepare for dapm cleanup.

This patch keeps compatible by using define, but old name will be replaced
on each drivers and removed from ASoC in the future.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/875xeay54j.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: ipc4: Add support for 8-bit and float
Mark Brown [Fri, 29 Aug 2025 22:19:57 +0000 (23:19 +0100)]
ASoC: SOF: ipc4: Add support for 8-bit and float

Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:

This series will add support for various 8-bit and float formats.

2 months agoASoC: SOF: sof-client-probes-ipc4: Query available
Mark Brown [Fri, 29 Aug 2025 22:19:49 +0000 (23:19 +0100)]
ASoC: SOF: sof-client-probes-ipc4: Query available

Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:

This series improves the IPC4 probes implementation by improving the
report quality and adds support for querying the available probes
on the firmware side.

2 months agoASoC: SOF: sof-client: Enforce client access scope
Mark Brown [Fri, 29 Aug 2025 22:19:42 +0000 (23:19 +0100)]
ASoC: SOF: sof-client: Enforce client access scope

Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:

Up to this point we had a spoken rule what sof-client can access and what
they must not (they cannot use sdev directly), recently there were attempts
to break this rule as clients could access sdev via the sof client dev.

The series will re-arrange the client device struct to 'hide' the sdev (and
the list) from client drivers to prevent abuse.

2 months agoASoC: SOF: Intel: only detect codecs when HDA DSP
Mark Brown [Fri, 29 Aug 2025 22:19:35 +0000 (23:19 +0100)]
ASoC: SOF: Intel: only detect codecs when HDA DSP

Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:

SDW codecs use the global HDaudio WAKEEN/STS to detect wakes since LNL. But
the wakeen is handled in the SDW driver. We should filter the bus->codec_mask
to only include HDA and IDISP codecs to avoid clearing the wakeen status
before it is handled.

2 months agoASoC: sof: ipc4-topology: Add support to sched_domain attribute
Jyri Sarha [Fri, 29 Aug 2025 15:11:01 +0000 (18:11 +0300)]
ASoC: sof: ipc4-topology: Add support to sched_domain attribute

Add SOF_TKN_COMP_SCHED_DOMAIN and connect it to struct snd_sof_widget
comp_domain member, with new get_token_comp_domain() function.

The logic is such that if the topology attribute is not present in the
widget node the corresponding IPC4 extension value is taken from the
module's manifest like before. But if the attribute is found and
recognized its value overrides what is there in the manifest.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829151101.27327-1-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: sof-client: Introduce sof_client_dev_entry structure
Peter Ujfalusi [Fri, 29 Aug 2025 10:25:10 +0000 (13:25 +0300)]
ASoC: SOF: sof-client: Introduce sof_client_dev_entry structure

Introduce a new internal structure for wrapping the sof_client_dev and
move members away from the client visible struct that they must not
access, let alone see (sdev and the list).

The changes are mechanical in nature and contained within sof-client core
code, no functional change or change in behavior is introduced.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Message-ID: <20250829102510.15159-3-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: sof-client: Convert sof_client_dev_to_sof_dev into function
Peter Ujfalusi [Fri, 29 Aug 2025 10:25:09 +0000 (13:25 +0300)]
ASoC: SOF: sof-client: Convert sof_client_dev_to_sof_dev into function

Remove the sof_client_dev_to_sof_dev() from the header file and add it as
a function in sof-client.c to avoid it's use by client drivers.

At the same time mark the sdev and list of sof_client_dev as restricted
fro core use only.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Message-ID: <20250829102510.15159-2-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: sof-client-probes: Add available points_info(), IPC4 only
Jyri Sarha [Fri, 29 Aug 2025 09:30:22 +0000 (12:30 +0300)]
ASoC: SOF: sof-client-probes: Add available points_info(), IPC4 only

Add another debugfs file, "probe_points_available", that shows all the
available probe points in the SOF FW at the time of query. The probe
points are there only when an active SOF stream exists in the
system. However, the stream identifiers are persistent in the sense
that the same probe point identifiers always appear with the same
playback or capture command in the same system configuration.

The output, when reading "probe_points_available", may look like this:

0x1000005,0x0,0x100     host-copier.0.playback output buf idx 0 (connected)
0x7,0x0,0x100   gain.1.1 input buf idx 0 (connected)
0x1000007,0x0,0x0       gain.1.1 output buf idx 0
0x3,0x0,0x0     mixin.1.1 input buf idx 0
0x1000003,0x0,0x0       mixin.1.1 output buf idx 0
0x4,0x0,0x0     mixout.2.1 input buf idx 0
0x1000004,0x0,0x0       mixout.2.1 output buf idx 0
0x10007,0x0,0x0 gain.2.1 input buf idx 0
0x1010007,0x0,0x0       gain.2.1 output buf idx 0
0x11,0x0,0x0    smart_amp.2.1 input buf idx 0
0x1000011,0x0,0x0       smart_amp.2.1 output buf idx 0
0x10005,0x0,0x0 dai-copier.SSP.NoCodec-0.playback input buf idx 0

The triplet at the beginning of a line can be copy-pasted as such to
"probe_points" debugfs file for adding a probe point. The rest of the
line tries to give human readable explanation of what this probe point
is.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829093022.32094-6-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: sof-client-probes-ipc4: Human readable debugfs "probe_points"
Jyri Sarha [Fri, 29 Aug 2025 09:30:21 +0000 (12:30 +0300)]
ASoC: SOF: sof-client-probes-ipc4: Human readable debugfs "probe_points"

The current output of three integers is not very human readable. Use
ipc4 functions to describe in more detail what the struct
sof_probe_point_desc buffer_id is actually referring to in an ipc4 SOF
system.

Before this commit the "probe_points" debugfs file could read as:

Id: 0x01000004  Purpose: 0  Node id: 0x100
Id: 0x00000006  Purpose: 0  Node id: 0x100

And after in the same situation in an ipc4 system it reads:

0x7,0x0,0x100   gain.1.1 input buf idx 0 (connected)
0x1000005,0x0,0x100     host-copier.0.playback output buf idx 0 (connected)

The triplet in the beginning of the line can be used to reinserted the
probe point again by writing it into "probe_points" debugfs file, if
its first removed by writing the fist number in "probe_points_remove".
The last number is ignored when creating a probe point.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829093022.32094-5-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: sof-client: Add sof_client_ipc4_find_swidget_by_id()
Jyri Sarha [Fri, 29 Aug 2025 09:30:20 +0000 (12:30 +0300)]
ASoC: SOF: sof-client: Add sof_client_ipc4_find_swidget_by_id()

Add sof_client_ipc4_find_swidget_by_id() for finding widgets from SOF
client devices. The motivation is to decode probes debugfs output to
be more readable.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829093022.32094-4-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: IPC4: Add GET macros for module id and module instance id
Jyri Sarha [Fri, 29 Aug 2025 09:30:19 +0000 (12:30 +0300)]
ASoC: SOF: IPC4: Add GET macros for module id and module instance id

Add SOF_IPC4_MOD_INSTANCE_GET() and SOF_IPC4_MOD_ID_GET() for getting
the ids from ipc4 header presentation.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829093022.32094-3-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: sof-client-probes-ipc4: Implement ipc4_probes_points_info
Jyri Sarha [Fri, 29 Aug 2025 09:30:18 +0000 (12:30 +0300)]
ASoC: SOF: sof-client-probes-ipc4: Implement ipc4_probes_points_info

Upgrade the struct sof_probes_ipc_ops points_info() method from dummy
implementation to a working implementation. The actual functionality
requires that the DSP FW supports the IPC request. The support was
just recently added. If its not there an IPC failure is reported in
the logs.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829093022.32094-2-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: ipc4-topology: Add support for float sample type
Seppo Ingalsuo [Fri, 29 Aug 2025 10:53:05 +0000 (13:53 +0300)]
ASoC: SOF: ipc4-topology: Add support for float sample type

This patch adds support for FLOAT_LE ALSA type for playback and
capture for IPC4 systems. Functions sof_ipc4_update_hw_params(),
sof_ipc4_get_valid_bits() and sof_ipc4_get_sample_type()
are updated to handle SOF_IPC4_TYPE_FLOAT and
SNDRV_PCM_FORMAT_FLOAT_LE.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829105305.31818-4-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: ipc4-topology: Add support for 8-bit formats
Seppo Ingalsuo [Fri, 29 Aug 2025 10:53:04 +0000 (13:53 +0300)]
ASoC: SOF: ipc4-topology: Add support for 8-bit formats

This patch enables use of 8-bit unsigned, A-law, and mu-law
sample formats with IPC4 SOF.

The ipc4-topology.h is updated with IPC4 sample types. The
purpose is to convert ALSA types to IPC4 types.

The functions of_ipc4_update_hw_params(), sof_ipc4_get_valid_bits(),
and new function sof_ipc4_get_sample_type() are updated to handle
the sample type conversions.

The function sof_ipc4_prepare_copier_module() is updated to set
the DMA SCS bit for all non 32 bits sample types.

The change to function sof_ipc4_get_valid_bits() returns 8 bits
for these ALSA formats.

The change to function sof_ipc4_prepare_copier_module() is
needed to handle properly all non 32-bit formats with SCS
bit set.

To support playback with new 8 bits types, the
sof_ipc4_init_input_audio_fmt() function is updated to get
the sample type and use it in search for copier input pin
format.

To support capture, the sof_ipc4_init_output_audio_fmt()
is updated similarly. Since the function uses separate
out_ref_type argument, instead of single parameters struct,
the out_ref_type needs to be added to every user of the
function. Therefore functions sof_ipc4_prepare_copier_module(),
sof_ipc4_prepare_gain_module(), sof_ipc4_prepare_mixer_module(),
sof_ipc4_prepare_src_module(), and sof_ipc4_prepare_process_module()
are updated to set the out_ref_type.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829105305.31818-3-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: ipc4-pcm: Add fixup for channels
Peter Ujfalusi [Fri, 29 Aug 2025 10:53:03 +0000 (13:53 +0300)]
ASoC: SOF: ipc4-pcm: Add fixup for channels

We can have modules in path which can change the number of channels and in
this case the BE params needs to be adjusted to configure the DAI according
to the copier configuration.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Message-ID: <20250829105305.31818-2-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: doc: Internally link to Writing an ALSA Driver docs
Bagas Sanjaya [Fri, 29 Aug 2025 07:55:22 +0000 (14:55 +0700)]
ASoC: doc: Internally link to Writing an ALSA Driver docs

ASoC codec and platform driver docs contain reference to writing ALSA
driver docs, as an external link. Use :doc: directive for the job
instead.

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Message-ID: <20250829075524.45635-13-bagasdotme@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: Intel: only detect codecs when HDA DSP probe
Bard Liao [Fri, 29 Aug 2025 08:29:08 +0000 (11:29 +0300)]
ASoC: SOF: Intel: only detect codecs when HDA DSP probe

SDW codecs use the global HDaudio WAKEEN/STS to detect wakes since LNL.
But the wake event is handled in the SDW driver. We should only clear
WAKESTS for the HDA and IDISP codecs that was detected when HDA DSP
probe. The SoundWire codec will be included in the codec_mask if we read
the STATESTS register when a SoundWire codec wake event happens.
The commit avoid updating bus->codec_mask in resume to not clear WAKESTS
of SoundWire codecs.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829082908.2693-3-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: Intel: split codec mask detect and programming UNSOL
Bard Liao [Fri, 29 Aug 2025 08:29:07 +0000 (11:29 +0300)]
ASoC: SOF: Intel: split codec mask detect and programming UNSOL

We only need to detect codec mask in probe, but need to program UNSOL
in probe and resume. We will detect codec mask and program UNSOL
separately in the follow up commit.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Message-ID: <20250829082908.2693-2-peter.ujfalusi@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: Refactor machine-board registration
Mark Brown [Thu, 28 Aug 2025 19:45:09 +0000 (21:45 +0200)]
ASoC: Intel: avs: Refactor machine-board registration

Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:

Set of patches all connected to the machine-board registration process
and the board_selection.c file. Apart from LOC reduction, allows for
multiple cards of the same 'type' e.g.: avs_rt5640, to be present
simultanetously without any workarounds or tricks. The last patch
improves debugability - helps us (the devs) deal with basic I2S-boards
issues out there without forcing the user to constantly switch between
debug-friendly and non-debug options.

--

Initially I wanted to have the first two patches (new implementation and
the follow up cleanup) to be just one patch. However, the git diff, even
with --patience does not look good, at least in my opinion. Decided to
split the changes into two separate patches to make it easy to review
and comment.

As the first two patches carry heaviest load, the summary:
- provide a unified avs_register_board() wrapper for
  platform_device_register_data(PLATFORM_DEVID_AUTO). The _AUTO is what
  makes every device name unique and prevents any naming conflicts to
  occur when matching components <-> cards in runtime

- provide avs_register_board_pdata(), a wrapper one-level above
  avs_register_board() that takes all custom parameters in its argument
  list so that the initialization of 'struct avs_mach_pdata' does not
  need to be repeated in every function like its done today

- make use of the two above to write simpler registration functions:
  1. init any interface-type-specific values e.g.: SSP port for I2S
     board
  2. call avs_register_board_pdata()
  3. register the ASoC component with avs_register_xxx_component()

In regard to the last three patches - two are simplifications, no
functional changes just LOC reduction and readability.
The last one is to improve debug-ability, especially when working in the
open field - often we, the devs, find it useful when debugging
production systems to run i2s_test (the debug board) without impacting
the 'real' board e.g.: avs_rt5640. By default i2s_test is empty so a
typical user and their scenarios are not impacted.

2 months agoASoC: use int type to store negative error codes
Mark Brown [Thu, 28 Aug 2025 19:45:00 +0000 (21:45 +0200)]
ASoC: use int type to store negative error codes

Merge series from Qianfeng Rong <rongqianfeng@vivo.com>:

The 'ret' variable usually is used to store returns from some functions,
which return either zero on success or negative error codes on failure.

Storing the negative error codes in unsigned type, doesn't cause an issue
at runtime but it's ugly as pants.  Additionally, assigning negative error
codes to unsigned type may trigger a GCC warning when the -Wsign-conversion
flag is enabled.

Change "ret" from u32/unsigned int to int type.  No effect on runtime.

2 months agoASoC: renesas: msiof: Make small adjustments to avoid
Mark Brown [Thu, 28 Aug 2025 19:44:52 +0000 (21:44 +0200)]
ASoC: renesas: msiof: Make small adjustments to avoid

Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:

Current Renesas MSIOF get unknown error when first used.
This patch-set will fixup this issue.

2 months agoASoC: amd: acp: Remove (explicitly) unused header
Andy Shevchenko [Tue, 26 Aug 2025 13:27:16 +0000 (15:27 +0200)]
ASoC: amd: acp: Remove (explicitly) unused header

The fwnode.h is not supposed to be used by the drivers as it
has the definitions for the core parts for different device
property provider implementations. Drop it.

Note, that fwnode API for drivers is provided in property.h
which is included here.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Message-ID: <20250826132734.278226-1-andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: qcom: use int type to store negative error codes
Qianfeng Rong [Thu, 28 Aug 2025 07:53:59 +0000 (15:53 +0800)]
ASoC: qcom: use int type to store negative error codes

Change the 'ret' variable from unsigned int to int to store negative error
codes or zero returned by regmap_field_write().

Storing the negative error codes in unsigned type, doesn't cause an issue
at runtime but it's ugly as pants. Additionally, assigning negative error
codes to unsigned type may trigger a GCC warning when the -Wsign-conversion
flag is enabled.

No effect on runtime.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Message-ID: <20250828075406.386208-4-rongqianfeng@vivo.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: adau1977: use int type to store negative error codes
Qianfeng Rong [Thu, 28 Aug 2025 07:53:58 +0000 (15:53 +0800)]
ASoC: adau1977: use int type to store negative error codes

Change the 'ret' variable from unsigned int to int to store negative error
codes or zero returned by regmap_update_bits().

Storing the negative error codes in unsigned type, doesn't cause an issue
at runtime but it's ugly as pants. Additionally, assigning negative error
codes to unsigned type may trigger a GCC warning when the -Wsign-conversion
flag is enabled.

No effect on runtime.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Message-ID: <20250828075406.386208-3-rongqianfeng@vivo.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: amd: use int type to store negative error codes
Qianfeng Rong [Thu, 28 Aug 2025 07:53:57 +0000 (15:53 +0800)]
ASoC: amd: use int type to store negative error codes

Change the 'ret' variable from u32 to int to store negative error codes
directly or returned by other functions.

Storing the negative error codes in unsigned type, doesn't cause an issue
at runtime but it's ugly as pants. Additionally, assigning negative error
codes to unsigned type may trigger a GCC warning when the -Wsign-conversion
flag is enabled.

No effect on runtime.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Message-ID: <20250828075406.386208-2-rongqianfeng@vivo.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: Allow i2s test and non-test boards to coexist
Cezary Rojewski [Wed, 27 Aug 2025 14:22:29 +0000 (16:22 +0200)]
ASoC: Intel: avs: Allow i2s test and non-test boards to coexist

The i2s_test card serves debug purpose and is not probed by default.
Currently i2s_test and non-i2s_test sound cards exclude each other. To
increase the test coverage, allow both board types to be probed
simultaneously and share the available SSP port pool.

As 'i2s_test' module parameter is empty by default and requires manual
input from user to activate, there is no impact for standard production
scenarios.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Message-ID: <20250827142229.869139-6-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: Simplify avs_get_i2s_boards()
Cezary Rojewski [Wed, 27 Aug 2025 14:22:28 +0000 (16:22 +0200)]
ASoC: Intel: avs: Simplify avs_get_i2s_boards()

No functional changes, just code simplification and readability
improvements as there is no need to operate on 'struct avs_acpi_boards'
if 'struct snd_soc_acpi_mach' is what interests us.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Message-ID: <20250827142229.869139-5-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: Simplify dmi_match_quirk()
Cezary Rojewski [Wed, 27 Aug 2025 14:22:27 +0000 (16:22 +0200)]
ASoC: Intel: avs: Simplify dmi_match_quirk()

No functional changes, just code lines reduction.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Message-ID: <20250827142229.869139-4-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: Cleanup duplicate members
Cezary Rojewski [Wed, 27 Aug 2025 14:22:26 +0000 (16:22 +0200)]
ASoC: Intel: avs: Cleanup duplicate members

Switch to the new board registration functions and remove the
then-unused code.

The SSP-number-check is still important and cannot be just dropped. Move
it from avs_register_i2s_board(), which is being removed with this
patch, to avs_register_i2s_boards() to maintain sanity when registering
a board.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Message-ID: <20250827142229.869139-3-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: Intel: avs: New board registration routines
Cezary Rojewski [Wed, 27 Aug 2025 14:22:25 +0000 (16:22 +0200)]
ASoC: Intel: avs: New board registration routines

To support multiple instances of the same card utilize
PLATFORM_DEVID_AUTO when registering new platform devices. This
adaptation is also an opportunity to streamline the devices
registration - avs_register_board().

All the new functions are equivalents of the existing ones apart from
adjusting platform_device_register_data() call with PLATFORM_DEVID_AUTO
and code size reduction given the presence of unified register function.
Follow up changes will complete the transition and cleanup the duplicate
members.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Message-ID: <20250827142229.869139-2-cezary.rojewski@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: mediatek: common: Switch to for_each_available_child_of_node_scoped()
Chen-Yu Tsai [Mon, 25 Aug 2025 15:11:09 +0000 (23:11 +0800)]
ASoC: mediatek: common: Switch to for_each_available_child_of_node_scoped()

Using for_each_available_child_of_node_scoped() allows us to get rid of
of_node_put() calls from early returns or breaks in the loop. It also
fixes issues with missing of_node_put() calls.

Switch to for_each_available_child_of_node_scoped() in parse_dai_link_info().
Also drop the braces around if blocks now that the inner block is just
one statement.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Fei Shao <fshao@chromium.org>
Message-ID: <20250825151111.3696404-1-wenst@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: renesas: msiof: start DMAC first
Kuninori Morimoto [Thu, 28 Aug 2025 02:22:02 +0000 (02:22 +0000)]
ASoC: renesas: msiof: start DMAC first

MSIOF needs to start DMAC before starting HW.
It will get unknown error at 1st using without this patch.
Playback: FSERR = 0, FOVF = 0, FUDF = 1
Capture: FSERR = 1, FOVF = 0, FUDF = 0

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-ID: <87cy8guqwl.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: renesas: msiof: cleanup status clear method
Kuninori Morimoto [Thu, 28 Aug 2025 02:21:57 +0000 (02:21 +0000)]
ASoC: renesas: msiof: cleanup status clear method

Current MSIOF driver clear status 1) after starting HW, and 2) clear all
status. But it should be 1') before starting HW, 2') clear necessary
status only. Cleanup it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-ID: <87ecswuqwr.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: renesas: msiof: tidyup error message
Kuninori Morimoto [Thu, 28 Aug 2025 02:21:51 +0000 (02:21 +0000)]
ASoC: renesas: msiof: tidyup error message

The meesage was strange. tidyup it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-ID: <87frdcuqww.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: renesas: msiof: msiof_update_and_wait() checks whether reg was updated
Kuninori Morimoto [Thu, 28 Aug 2025 02:21:46 +0000 (02:21 +0000)]
ASoC: renesas: msiof: msiof_update_and_wait() checks whether reg was updated

msiof_update_and_wait() updates reg and waits until the value was updated.
But, if the set value was same as current reg value, no update will be
happen. Check the value, and ignore waiting if no update.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Message-ID: <87h5xsuqx2.wl-kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: tlv320aic32x4: use dev_err_probe() for regulators
Matthias Schiffer [Mon, 25 Aug 2025 12:11:38 +0000 (14:11 +0200)]
ASoC: tlv320aic32x4: use dev_err_probe() for regulators

Avoid error messages like the following when the regulators have not
been probed yet:

    tlv320aic32x4 0-0018: Missing supply 'iov'
    tlv320aic32x4 0-0018: Failed to setup regulators

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Message-ID: <20250825121139.2150099-1-alexander.stein@ew.tq-group.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: SOF: imx: Remove the use of dev_err_probe()
Xichao Zhao [Tue, 19 Aug 2025 11:26:54 +0000 (19:26 +0800)]
ASoC: SOF: imx: Remove the use of dev_err_probe()

The dev_err_probe() doesn't do anything when error is '-ENOMEM'.
Therefore, remove the useless call to dev_err_probe(), and just
return the value instead.

Signed-off-by: Xichao Zhao <zhao.xichao@vivo.com>
Reviewed-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Message-ID: <20250819112654.588527-1-zhao.xichao@vivo.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoASoC: imx-hdmi: remove cpu_pdev related code
Shengjiu Wang [Wed, 20 Aug 2025 03:16:41 +0000 (11:16 +0800)]
ASoC: imx-hdmi: remove cpu_pdev related code

If a defer probe happens for the cpu device, the return value for
cpu_pdev "ret = -EINVAL" breaks defer probe. As the cpus->dai_name
can be replaced by cpus->of_node, to simplify the code, remove related
code for cpu_pdev.

Fixes: 6a5f850aa83a ("ASoC: fsl: Add imx-hdmi machine driver")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Message-ID: <20250820031641.2158261-1-shengjiu.wang@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2 months agoLinux 6.17-rc3
Linus Torvalds [Sun, 24 Aug 2025 16:04:12 +0000 (12:04 -0400)]
Linux 6.17-rc3

2 months agoMerge tag 'i2c-for-6.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
Linus Torvalds [Sun, 24 Aug 2025 14:32:04 +0000 (10:32 -0400)]
Merge tag 'i2c-for-6.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:

 - hisi: update maintainership

 - fix several issues in rtl9300 xfer:
     - check message length boundaries
     - correct multi-byte value composition on write
     - increase polling timeout
     - fix block transfer protocol

* tag 'i2c-for-6.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: rtl9300: Add missing count byte for SMBus Block Ops
  i2c: rtl9300: Increase timeout for transfer polling
  i2c: rtl9300: Fix multi-byte I2C write
  i2c: rtl9300: Fix out-of-bounds bug in rtl9300_i2c_smbus_xfer
  MAINTAINERS: i2c: Update i2c_hisi entry

2 months agoMerge tag 'perf_urgent_for_v6.17_rc3' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 24 Aug 2025 14:13:05 +0000 (10:13 -0400)]
Merge tag 'perf_urgent_for_v6.17_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf fix from Borislav Petkov:

 - Fix a case where the events throttling logic operates on inactive
   events

* tag 'perf_urgent_for_v6.17_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf: Avoid undefined behavior from stopping/starting inactive events

2 months agoMerge tag 'x86_urgent_for_v6.17_rc3' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 24 Aug 2025 13:52:28 +0000 (09:52 -0400)]
Merge tag 'x86_urgent_for_v6.17_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Borislav Petkov:

 - Fix the GDS mitigation detection on some machines after the recent
   attack vectors conversion

 - Filter out the invalid machine reset reason value -1 when running as
   a guest as in such cases the reason why the machine was rebooted does
   not make a whole lot of sense

 - Init the resource control machinery on Hygon hw in order to avoid a
   division by zero and to actually enable the feature on hw which
   supports it

* tag 'x86_urgent_for_v6.17_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/bugs: Fix GDS mitigation selecting when mitigation is off
  x86/CPU/AMD: Ignore invalid reset reason value
  x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper

2 months agoMerge tag 'mips-fixes_6.17_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips...
Linus Torvalds [Sun, 24 Aug 2025 13:47:03 +0000 (09:47 -0400)]
Merge tag 'mips-fixes_6.17_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS fixes from Thomas Bogendoerfer:
 "Fix ethernet on Lantiq boards"

* tag 'mips-fixes_6.17_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
  mips: lantiq: xway: sysctrl: rename the etop node
  mips: dts: lantiq: danube: add missing burst length property