Commit graph

1,381,998 commits

Author SHA1 Message Date
Cezary Rojewski
b0e52296aa
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>
2025-09-03 12:34:11 +01:00
Cezary Rojewski
69fe78271d
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>
2025-09-03 12:34:10 +01:00
Cezary Rojewski
fffac55850
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>
2025-09-03 12:34:09 +01:00
Cezary Rojewski
210233c24d
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>
2025-09-03 12:34:09 +01:00
Cezary Rojewski
1a78108293
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>
2025-09-03 12:34:08 +01:00
Cezary Rojewski
a46b3da24c
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>
2025-09-03 12:34:07 +01:00
Cezary Rojewski
ba36843282
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>
2025-09-03 12:34:06 +01:00
Cezary Rojewski
31fc544ad8
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>
2025-09-03 12:34:05 +01:00
Cezary Rojewski
ed23ac9b30
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>
2025-09-03 12:34:04 +01:00
Cezary Rojewski
314d8f574a
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>
2025-09-03 12:34:03 +01:00
Cezary Rojewski
d4b60caaef
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>
2025-09-03 12:34:02 +01:00
Cezary Rojewski
cd405e6a94
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>
2025-09-03 12:34:01 +01:00
Cezary Rojewski
765ee69f5e
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>
2025-09-03 12:34:00 +01:00
Cezary Rojewski
7fa2ebe9b7
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>
2025-09-03 12:33:59 +01:00
Cezary Rojewski
0e3448f069
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>
2025-09-03 12:33:58 +01:00
Cezary Rojewski
6acfaee44c
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>
2025-08-28 12:29:08 +02:00
Cezary Rojewski
3351e814cb
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>
2025-08-28 12:29:08 +02:00
Matthias Schiffer
a12b74d2bd
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>
2025-08-25 21:05:01 +01:00
Xichao Zhao
f840737d17
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>
2025-08-24 22:41:10 +01:00
Shengjiu Wang
bc017f28b1
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: 6a5f850aa8 ("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>
2025-08-24 22:41:09 +01:00
Krzysztof Kozlowski
d78e48ebe0
ASoC: dt-bindings: Minor whitespace cleanup in example
The DTS code coding style expects exactly one space around '='
character.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250821083100.46340-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-21 13:14:18 +01:00
Mark Brown
865052d16a
ASoC: Use kcalloc() instead of kzalloc()
Merge series from Qianfeng Rong <rongqianfeng@vivo.com>:

Replace devm_kzalloc() with devm_kcalloc() in sound/soc.  As noted in the
kernel documentation [1], open-coded multiplication in allocator arguments
is discouraged because it can lead to integer overflow.

Using devm_kcalloc() provides built-in overflow protection, making the
memory allocation safer when calculating the allocation size compared
to explicit multiplication.

[1]: https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
2025-08-20 20:07:12 +01:00
Mark Brown
23d7a7e36f
ASoC: dt-bindings: Convert TI TWL4030 sound
Merge series from Jihed Chaibi <jihed.chaibi.dev@gmail.com>:

This series converts the legacy TXT bindings for the TI TWL4030
sound-related modules to the modern YAML DT schema format.

This work was previously part of a larger series but is now being sent
as a focused submission for the ASoC subsystem.
2025-08-20 18:51:37 +01:00
Jihed Chaibi
c232495d28
ASoC: dt-bindings: omap-twl4030: convert to DT schema
Convert the legacy TXT binding for the OMAP TWL4030 sound card
to the modern YAML DT schema format. This adds formal validation
and improves documentation.

Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250819201302.80712-3-jihed.chaibi.dev@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-20 15:12:57 +01:00
Jihed Chaibi
0411332240
ASoC: dt-bindings: ti,twl4030-audio: convert to DT schema
Convert the TWL4030 audio module bindings from txt to YAML format and
move them to the sound subsystem bindings directory. This patch also
refines the schema by adding an enum constraint for ti,enable-vibra and
updates the example to remove irrelevant I2C clock-frequency property.

Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250819201302.80712-2-jihed.chaibi.dev@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-20 15:12:56 +01:00
Qianfeng Rong
96bcb34df5
ASoC: test-component: Use kcalloc() instead of kzalloc()
Use devm_kcalloc() in test_driver_probe() to gain built-in overflow
protection, making memory allocation safer when calculating allocation
size compared to explicit multiplication.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Link: https://patch.msgid.link/20250820123423.470486-4-rongqianfeng@vivo.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-20 15:09:24 +01:00
Qianfeng Rong
3b6f4bd6cd
ASoC: fsl: Use kcalloc() instead of kzalloc()
Use devm_kcalloc() in fsl_sai_read_dlcfg() and imx_audmux_probe() to gain
built-in overflow protection, making memory allocation safer when
calculating allocation size compared to explicit multiplication.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Link: https://patch.msgid.link/20250820123423.470486-3-rongqianfeng@vivo.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-20 15:09:23 +01:00
Qianfeng Rong
45441b933c
ASoC: codecs: Use kcalloc() instead of kzalloc()
Use devm_kcalloc() in fs_parse_scene_tables() and pcmdev_gain_ctrl_add()
to gain built-in overflow protection, making memory allocation safer when
calculating allocation size compared to explicit multiplication.

Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Link: https://patch.msgid.link/20250820123423.470486-2-rongqianfeng@vivo.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-20 15:09:22 +01:00
Mark Brown
132e098ef9
ASoC: qcom: audioreach: cleanup and calibration
Merge series from srinivas.kandagatla@oss.qualcomm.com:

Sorry to resend this series once again, as some of the patches seems
to be dropped/rejected by email client from previous send.

This patchset:
 - cleans up some of the audioreach tokens which are unused
 - adds missing documentation
 - add support for static calibration support which is required for ECNS
   an speaker protection support.

Tested this with Single Mic ECNS on SM8450 platform.
2025-08-19 18:45:33 +01:00
Mark Brown
9963b1fde2
ASoC: Intel: avs: Code cleanups and separation
Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:

Set of patches that brings no new functionality but makes it easier to
maintain and read the avs-driver code. There is one 'fix' among them -
the third patch, described below.

First, debug-related code - mainly the data-probing feature - is mixed
with non-debug PCM code. Separate it into debug.h and update the pcm.c
file.

Next, as the probing-board is not tied to any topology file, it shall
not using struct avs_soc_component descriptor but the basic struct
snd_soc_component one. While on the first sight this is just bump in
LOCs, runtime is simplified as no topology checks and related code will
be engaged.

With probing-board addressed and debug code relocated:
- address the component-teardown issues when the
componet->name points to a string which is shared by multiple components
and/or machine boards. devm_kstrdup() makes this go away.

- streamline the naming scheme for the functions engaged in the
components registration. This is purely a readability improvement.
2025-08-19 16:54:00 +01:00
Mark Brown
7ed3723d61
ASoC: es8323: power and mixer controls cleanup and
Merge series from Shimrra Shai <shimrrashai@gmail.com>:

This is a revision of a previous patch submission of mine wherein one
part was accepted and one part was not. It was originally phrased for
a particular device using the ES8323 CODEC, and I was advised to make
the mixer controls user-selectable so it was not tied to the needs of
any specific device. This submission brings the DAC and mixer controls
for basic audio playback on this CODEC into line with the DAPM
infrastructure and enables their operation through the standard mixer
interface.
2025-08-19 16:53:55 +01:00
Mark Brown
d5020c1ce3
Handle shared reset GPIO for WSA883x speakers
Merge series from Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>:

On some Qualcomm platforms such as QCS6490-RB3Gen2, the multiple
WSA8830/WSA8835 speakers share a common reset (shutdown) GPIO.
To handle such cases, use the reset controller framework along with the
"reset-gpio" driver.

Tested on:
	- QCS6490-RB3Gen2
2025-08-19 16:38:30 +01:00
Srinivas Kandagatla
da9881d001
ASoC: qcom: audioreach: add support for SMECNS module
This patch adds support for Single Mic ECNS module, used for echo
cancellation. It also makes use of audioreach_set_module_config to load
the calibration data for this module from ASoC tplg file.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250819100151.1294047-7-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-19 13:04:47 +01:00
Srinivas Kandagatla
97a719fe7d
ASoC: qcom: audioreach: sort modules based on hex ids
Sort the module defines based on its hex ids.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250819100151.1294047-6-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-19 13:04:46 +01:00
Srinivas Kandagatla
0f5787df78
ASoC: qcom: audioreach: fix typos in I2S_INTF_TYPE
Fix spelling mistakes in I2S_INTF_TYPE defines.

Reported-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250819100151.1294047-5-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-19 13:04:45 +01:00
Srinivas Kandagatla
c7ed4c2deb
ASoC: qcom: audioreach: add support for static calibration
This change adds support for static calibration data via ASoC topology
file. This static calibration data could include binary blob of data
that is required by specific module and is not part of topology tokens.

Reason for adding this support is to allow loading module specific data
that can not be part of the tplg tokens, example, Echo and Noise cancelling
module needs a blob of calibration data to function correctly.

This support is also one of the building block for adding speaker
protection support.

Tested this with Single Mic ECNS(Echo and Noise Cancellation).

tplg can now contain this calibration data like:

SectionWidget."stream2.SMECNS_V224" {
	...
	data [
		...
		"stream2.SMECNS_V224_cfg_data"
	]
}

SectionData."stream2.SMECNS_V224_cfg_data" {
	words "0x00000330, 0x01001006,0x00000000,0x00000000,
		0x00004145,0x08001026,0x00000004,0x00000000,
		..."
	}
}

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250819100151.1294047-4-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-19 13:04:44 +01:00
Srinivas Kandagatla
f07b81b573
ASoC: qcom: audioreach: add documentation for i2s interface type
Add documentation of possible values for I2S interface types,
currently this is only documented for DMA module.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250819100151.1294047-3-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-19 13:04:43 +01:00
Srinivas Kandagatla
12cc0ff3cd
ASoC: qcom: audioreach: deprecate AR_TKN_U32_MODULE_[IN/OUT]_PORTS
Deprecate usage of AR_TKN_U32_MODULE_IN_PORTS and
AR_TKN_U32_MODULE_OUT_PORTS as the connectivity of modules is taken care
by AR_TKN_U32_MODULE_SRC_OP_PORT_ID* and AR_TKN_U32_MODULE_DST_IN_PORT_ID*

Also this property is never used in the drivers.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250819100151.1294047-2-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-19 13:04:42 +01:00
Mohammad Rafi Shaik
cf65182247
ASoC: codecs: wsa883x: Handle shared reset GPIO for WSA883x speakers
On some Qualcomm platforms such as QCS6490-RB3Gen2, the multiple
WSA8830/WSA8835 speaker amplifiers share a common reset (shutdown) GPIO.

To handle such scenario, use the reset controller framework and its
"reset-gpio" driver to handle such case. This allows proper handling
of all WSA883x speaker amplifiers on QCS6490-RB3Gen2 board.

Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20250815172353.2430981-3-mohammad.rafi.shaik@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 17:29:42 +01:00
Mohammad Rafi Shaik
126750523e
ASoC: dt-bindings: qcom,wsa8830: Add reset-gpios for shared line
On Qualcomm platforms such as QCS6490-RB3Gen2, the WSA883x speaker
amplifiers share the SD_N GPIO line between two speakers, thus
requires coordinated control when asserting the GPIO. Linux supports
shared GPIO handling via the "reset-gpios" property, which can be
used to specify either the powerdown or reset GPIOs.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
Link: https://patch.msgid.link/20250815172353.2430981-2-mohammad.rafi.shaik@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 17:29:41 +01:00
Cezary Rojewski
2a55135201
ASoC: Intel: avs: Streamline register-component function names
Word 'component' is commonly used in ASoC when referring to any
component, regardless if it is a platform-type or codec-type component.
Reword all avs_xxx_platform_register() to match the scheme present in
ASoC's core. In case of avs_soc_component_register(), the name is
simplified.

Summary:
- avs_xxx_platform_register() -> avs_register_xxx_component()
- avs_soc_component_register() -> avs_register_component()

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250818104126.526442-5-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 13:10:08 +01:00
Cezary Rojewski
4dee5c1cc4
ASoC: Intel: avs: Do not share the name pointer between components
By sharing 'name' directly, tearing down components may lead to
use-after-free errors. Duplicate the name to avoid that.

At the same time, update the order of operations - since commit
cee28113db ("ASoC: dmaengine_pcm: Allow passing component name via
config") the framework does not override component->name if set before
invoking the initializer.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250818104126.526442-4-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 13:10:07 +01:00
Cezary Rojewski
df36e5c197
ASoC: Intel: avs: Drop pcm.h dependency for probes
The 'probe' machine board is not a typical one, it serves debug purpose
only and does not expect any kind of topology. The topology descriptor
pointer (acomp->tplg) is the only reason an avs-driver component would
utilize the pcm.c helpers and be described by a 'struct
avs_soc_component' instance rather than 'struct snd_soc_component' one.

Cut the line linking probes.c with pcm.h to avoid confusing readers.
And with that link gone, constify the component-driver again.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250818104126.526442-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 13:10:06 +01:00
Cezary Rojewski
62dc545be1
ASoC: Intel: avs: Separate debug symbols
Make it clear what is part of debug functionality and what is not by
separating debug symbols away from the common header file.

Apart from changing avs_probe_platform_register() to return -ENOTSUPP
when CONFIG_DEBUG_FS is disabled, status quo is achieved.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250818104126.526442-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 13:10:05 +01:00
Shimrra Shai
daf855f76a
ASoC: es8323: enable DAPM power widgets for playback DAC
This part might not be needed for resubmission as it was already
accepted on the previous submission of this patch, but since the whole
series was not accepted due to that I had retained and expanded the
initialization in the probe routine I'm not sure if I should submit
it again.

Signed-off-by: Shimrra Shai <shimrrashai@gmail.com>
Link: https://patch.msgid.link/20250815042023.115485-4-shimrrashai@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 13:10:00 +01:00
Shimrra Shai
7e39ca4056
ASoC: es8323: add proper left/right mixer controls via DAPM
Add proper DAC and mixer controls to DAPM; no initialization in
es8323_probe.

Signed-off-by: Shimrra Shai <shimrrashai@gmail.com>
Link: https://patch.msgid.link/20250815042023.115485-3-shimrrashai@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 13:09:59 +01:00
Shimrra Shai
33bc29123d
ASoC: es8323: remove DAC enablement write from es8323_probe
Remove initialization of the DAC and mixer enablement bits from the
es8323_probe routine. This really should be handled by the DAPM
subsystem.

Signed-off-by: Shimrra Shai <shimrrashai@gmail.com>
Link: https://patch.msgid.link/20250815042023.115485-2-shimrrashai@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-08-18 13:09:58 +01:00
Linus Torvalds
c17b750b3a Linux 6.17-rc2 v6.17-rc2 2025-08-17 15:22:10 -07:00
Linus Torvalds
8d561baae5 - Remove a transitional asm/cpuid.h header which was added only as
a fallback during cpuid helpers reorg
 
 - Initialize reserved fields in the SVSM page validation calls structure
   to zero in order to allow for future structure extensions
 
 - Have the sev-guest driver's buffers used in encryption operations be
   in linear mapping space as the encryption operation can be offloaded
   to an accelerator
 
 - Have a read-only MSR write when in an AMD SNP guest trap to the
   hypervisor as it is usually done. This makes the guest user experience
   better by simply raising a #GP instead of terminating said guest
 
 - Do not output AVX512 elapsed time for kernel threads because the data
   is wrong and fix a NULL pointer dereferencing in the process
 
 - Adjust the SRSO mitigation selection to the new attack vectors
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEzv7L6UO9uDPlPSfHEsHwGGHeVUoFAmihmPcACgkQEsHwGGHe
 VUr6Iw/+KKuQdicPRvdQ8Kv+710oHFHka1CY/LdHuADuuzWWE+Zj6RzwraM0aqIr
 1E4resu05MPVJj3KAzt0rBS4Ch5bbNU0QHQqhuuxe+EZpbY8XNxx53f43E4wHTS8
 bPaZI1GdLZSTh5BUGRj9N0udK5gnd6kbku80PAbP2fqi+aSOZSA8JCqmiUicSi0/
 EbYye7n38q8u1Dh2y9t9CBuxAOZEyzCM6LXRELmK5lya1LGJkKOTGllyb8irzsiv
 HlLW1sN+weeVlvdUd1LvaYgTAetNhSVtiuh71cGMENnpoAyO6HAea+7X8Tg7UHHp
 zsYRVXKg2CENQpo4OsQ3q/O7fnPTets7NFm8DNwSKO0qoCqn3Yf4AD4IeCIqZdM3
 B2an4b1SWN2xtW38YEEGFVKIBIZVLQFzjmwR3yu8wqjhycIW3rNRCiQuI4EvW+ej
 kx5ZXHXHKvThoLuxio/ILce1oWa4O9K+GzV9vEDHtYK283sCUU2XyUOVq3Ntpmoc
 /mzOaBWAjN9nMWJ01DoPRh0bs5nkbN/NQxIOHUiOtLmMkwJX9ls/ed2VagL/iMq1
 Sj1RZqkLEUYSHgE+HOToK8LXhbuDp6QEv1FUL/29pu1fzXRn5cn0PJx56+EKjJWO
 f7b3NWMNGbbD/sIcYAtU73GVNnAOGzUkNA7AjDfmq+YoiC5G+LA=
 =zsPJ
 -----END PGP SIGNATURE-----

Merge tag 'x86_urgent_for_v6.17_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Borislav Petkov:

 - Remove a transitional asm/cpuid.h header which was added only as a
   fallback during cpuid helpers reorg

 - Initialize reserved fields in the SVSM page validation calls
   structure to zero in order to allow for future structure extensions

 - Have the sev-guest driver's buffers used in encryption operations be
   in linear mapping space as the encryption operation can be offloaded
   to an accelerator

 - Have a read-only MSR write when in an AMD SNP guest trap to the
   hypervisor as it is usually done. This makes the guest user
   experience better by simply raising a #GP instead of terminating said
   guest

 - Do not output AVX512 elapsed time for kernel threads because the data
   is wrong and fix a NULL pointer dereferencing in the process

 - Adjust the SRSO mitigation selection to the new attack vectors

* tag 'x86_urgent_for_v6.17_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/cpuid: Remove transitional <asm/cpuid.h> header
  x86/sev: Ensure SVSM reserved fields in a page validation entry are initialized to zero
  virt: sev-guest: Satisfy linear mapping requirement in get_derived_key()
  x86/sev: Improve handling of writes to intercepted TSC MSRs
  x86/fpu: Fix NULL dereference in avx512_status()
  x86/bugs: Select best SRSO mitigation
2025-08-17 06:53:15 -07:00
Linus Torvalds
0a9ee9ce49 - Make sure sanity checks down in the mutex lock path happen on the correct
type of task so that they don't trigger falsely
 
 - Use the write unsafe user access pairs when writing a futex value to prevent
   an error on PowerPC which does user read and write accesses differently
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEzv7L6UO9uDPlPSfHEsHwGGHeVUoFAmihlaAACgkQEsHwGGHe
 VUrV7g/+Kx4n1TQuGnk4kd5h5q0uls8mgeFddYjv6BgVxcaWq7Tzv7XMJ5hvWEqp
 P/+Zt43Sv9sd7i+PhoFD2Lr+EDYx8c0Lp08/LH0zsgKIA2Ai8ntJHJcb3se3Kxr5
 yV23d0tkrCijcB58OL1xncm96Lp3XoXyTz8b0ahKDNG9mS8F/9XK9GgmG9OqKXDg
 7T8Vx5NKt0YrvAWwvsQQlTUTcQ4a4O/UMwJmgEbvqHn0WwQISRxx/TE6wYuIwWAj
 pbrN5kzDsZ6tA07h48NWnkFOEeqsQgbbKDkWvYYRYBrVzEATQBpBWfSQ0HsaqPmc
 1Mk5Zs+J5UFhHx7Yw348JVqw5Fl4VDT4Oi4AoIzjBym3c73nrNfZzESRsf4dES5Q
 DBsgTb0tjEZcR7MrWWErYu1LXw1qP5Ib39qLDVIvQQ4HomctSUuXVTIRL9qJvaCK
 aCPt2Ivkhj3wItZSeTfzLTXbWE9lP4AhuBpJ4ALHRbOaCRLNfK9ZzLfOUyKePUvx
 s3j7iPubfS5/lw192z5weLzEE4e8E7wIxSkIQNKLQFI/kr5YwKfwEO5Zm+UMfH5j
 m+Hl7YKS0nT2IlFbRel2cSkw4MDaEJjgahMzbp+D0p+xV2H4KjY4nLoarwsuoP8D
 GxLAOmRW1nzqj3QHIWsBF9iBxkO89lshWOgGxhUbhtywNqxSV6M=
 =q1tX
 -----END PGP SIGNATURE-----

Merge tag 'locking_urgent_for_v6.17_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking fixes from Borislav Petkov:

 - Make sure sanity checks down in the mutex lock path happen on the
   correct type of task so that they don't trigger falsely

 - Use the write unsafe user access pairs when writing a futex value to
   prevent an error on PowerPC which does user read and write accesses
   differently

* tag 'locking_urgent_for_v6.17_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  locking: Fix __clear_task_blocked_on() warning from __ww_mutex_wound() path
  futex: Use user_write_access_begin/_end() in futex_put_value()
2025-08-17 05:57:47 -07:00