Alsa-devel
Threads by month
- ----- 2025 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 16 participants
- 51350 discussions

[PATCH] ASoC: amd: acp: Adjust pdm dmic gain using module parameter
by Venkata Prasad Potturu 29 Jul '25
by Venkata Prasad Potturu 29 Jul '25
29 Jul '25
Adjust pdm dimc gain value using module param.
In case of regressions for any users that the new pdm_gain value is
too high and for additional debugging, introduce a module parameter
that would let them configure it.
This parameter should be removed in the future:
* If it's determined that the parameter is not needed, just hardcode
the correct value as before
* If users do end up using it to debug and report different values
we should introduce a config knob that can have policy set by ucm.
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu(a)amd.com>
---
sound/soc/amd/acp/acp-legacy-common.c | 3 ++-
sound/soc/amd/acp/acp-pdm.c | 3 ++-
sound/soc/amd/acp/amd.h | 6 +++++-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/sound/soc/amd/acp/acp-legacy-common.c b/sound/soc/amd/acp/acp-legacy-common.c
index 57982d057c3a..dd804fb95790 100644
--- a/sound/soc/amd/acp/acp-legacy-common.c
+++ b/sound/soc/amd/acp/acp-legacy-common.c
@@ -173,7 +173,8 @@ static void set_acp_pdm_clk(struct snd_pcm_substream *substream,
/* Enable default ACP PDM clk */
writel(PDM_CLK_FREQ_MASK, chip->base + ACP_WOV_CLK_CTRL);
pdm_ctrl = readl(chip->base + ACP_WOV_MISC_CTRL);
- pdm_ctrl |= PDM_MISC_CTRL_MASK;
+ pdm_ctrl &= ~ACP_WOV_GAIN_CONTROL;
+ pdm_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, clamp(pdm_gain, 0, 3));
writel(pdm_ctrl, chip->base + ACP_WOV_MISC_CTRL);
set_acp_pdm_ring_buffer(substream, dai);
}
diff --git a/sound/soc/amd/acp/acp-pdm.c b/sound/soc/amd/acp/acp-pdm.c
index 1bfc34c2aa53..ffb622a7a69a 100644
--- a/sound/soc/amd/acp/acp-pdm.c
+++ b/sound/soc/amd/acp/acp-pdm.c
@@ -38,7 +38,8 @@ static int acp_dmic_prepare(struct snd_pcm_substream *substream,
/* Enable default DMIC clk */
writel(PDM_CLK_FREQ_MASK, chip->base + ACP_WOV_CLK_CTRL);
dmic_ctrl = readl(chip->base + ACP_WOV_MISC_CTRL);
- dmic_ctrl |= PDM_MISC_CTRL_MASK;
+ dmic_ctrl &= ~ACP_WOV_GAIN_CONTROL;
+ dmic_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, clamp(pdm_gain, 0, 3));
writel(dmic_ctrl, chip->base + ACP_WOV_MISC_CTRL);
period_bytes = frames_to_bytes(substream->runtime,
diff --git a/sound/soc/amd/acp/amd.h b/sound/soc/amd/acp/amd.h
index cb8d97122f95..f2567e06ccd3 100644
--- a/sound/soc/amd/acp/amd.h
+++ b/sound/soc/amd/acp/amd.h
@@ -130,7 +130,7 @@
#define PDM_DMA_INTR_MASK 0x10000
#define PDM_DEC_64 0x2
#define PDM_CLK_FREQ_MASK 0x07
-#define PDM_MISC_CTRL_MASK 0x10
+#define ACP_WOV_GAIN_CONTROL GENMASK(4, 3)
#define PDM_ENABLE 0x01
#define PDM_DISABLE 0x00
#define DMA_EN_MASK 0x02
@@ -138,6 +138,10 @@
#define PDM_TIMEOUT 1000
#define ACP_REGION2_OFFSET 0x02000000
+static int pdm_gain = 3;
+module_param(pdm_gain, int, 0644);
+MODULE_PARM_DESC(pdm_gain, "Gain control (0-3)");
+
struct acp_chip_info {
char *name; /* Platform name */
struct resource *res;
--
2.43.0
4
4
alsa-project/alsa-lib pull request #467 was opened from wyjstrong:
https://github.com/alsa-project/alsa-lib/issues/466
Request URL : https://github.com/alsa-project/alsa-lib/pull/467
Patch URL : https://github.com/alsa-project/alsa-lib/pull/467.patch
Repository URL: https://github.com/alsa-project/alsa-lib
1
0
alsa-project/alsa-lib issue #466 was opened from wyjstrong:
Hello,
ALSA is an important audio architecture in the Linux system. With it, developers can call Linux system interfaces in their programs to control and manage the underlying operating system. Thanks to its combination of high efficiency and ease of use, ALSA is also suitable for embedded devices, which highly aligns with OpenHarmony's philosophy of supporting diverse devices — currently, it has been widely used in the field of mobile application development for OpenHarmony.
We will submit the adaptation code via a Pull Request (PR) as soon as possible. This issue is created to conduct in-depth discussions with the community on the integration of the adaptation code. We sincerely welcome your valuable suggestions. Thank you.
Issue URL : https://github.com/alsa-project/alsa-lib/issues/466
Repository URL: https://github.com/alsa-project/alsa-lib
1
0
The following changes since commit 347e9f5043c89695b01e66b3ed111755afcf1911:
Linux 6.16-rc6 (2025-07-13 14:25:58 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-v6.17-2
for you to fetch changes up to e95122a32e777309412e30dc638dbc88b9036811:
ASoC: codecs: Add acpi_match_table for aw88399 driver (2025-07-25 13:44:29 +0100)
----------------------------------------------------------------
ASoC: More updates for v6.17
A few more updates, mostly fixes and device IDs plus some small
enhancements for the FSL xcvr driver.
----------------------------------------------------------------
Ai Chao (3):
ASoC: renesas: Use helper function for_each_child_of_node_scoped()
ASoC: meson: Use helper function for_each_child_of_node_scoped()
ASoC: imx-card: Use helper function for_each_child_of_node_scoped()
Alexander Stein (1):
ASoC: codec: tlv320aic32x4: Fix reset GPIO check
Arnd Bergmann (2):
ASoC: ops: dynamically allocate struct snd_ctl_elem_value
ASoC: SDCA: fix HID dependency
Balamurugan C (3):
ASoC: Intel: soc-acpi: Add entry for sof_es8336 in PTL match table.
ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support in PTL match table
ASoC: Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for PTL.
Bard Liao (2):
ASoC: sdw_utils: add component_name string to dai_info
ASoC: sdw_utils: generate combined spk components string
Bram Vlerick (2):
ASoC: tas571x: add support for tas5753
ASoC: dt-bindings: tas57xx: add tas5753 compatibility
Brian Masney (6):
ASoC: codecs: da7219: convert from round_rate() to determine_rate()
ASoC: codecs: rt5682: convert from round_rate() to determine_rate()
ASoC: codecs: rt5682s: convert from round_rate() to determine_rate()
ASoC: qcom: qdsp6: q6dsp-lpass-clocks: convert from round_rate() to determine_rate()
ASoC: stm: stm32_i2s: convert from round_rate() to determine_rate()
ASoC: stm: stm32_sai_sub: convert from round_rate() to determine_rate()
Cezary Rojewski (2):
ASoC: codecs: rt5640: Drop dummy register names
ASoC: Intel: avs: Add rt5640 machine board
Chancel Liu (1):
ASoC: imx-card: Add WM8524 support
Charles Keepax (23):
HID: core: Add bus define for SoundWire bus
MAINTAINERS: Add SDCA maintainers entry
ASoC: SDCA: Add missing default in switch in entity_pde_event()
ASoC: SDCA: Fixup some kernel doc errors
ASoC: SDCA: Minor selected/detected mode control fixups
ASoC: SDCA: Add flag for unused IRQs
ASoC: SDCA: Add some initial IRQ handlers
ASoC: SDCA: Kconfig/Makefile fixups
ASoC: SDCA: Pull HID and IRQ into the primary SDCA module
ASoC: SDCA: Fix off by one error in IRQ bound check
ASoC: SDCA: Avoid use of uninitialised local name variable
ASoC: SDCA: Update memory allocations to zero initialise
ASoC: SDCA: Allow read-only controls to be deferrable
ASoC: SDCA: Remove overly chatty input pin list warning
ASoC: SDCA: Move SDCA search functions and export
ASoC: soc-dai: Add private data to snd_soc_dai
ASoC: SDCA: Add helper to add DAI constraints
ASoC: SDCA: Add a helper to get the SoundWire port number
ASoC: SDCA: Add hw_params() helper function
ASoC: SDCA: Shrink detected_mode_handler() stack frame
ASoC: SDCA: Fix implicit cast from le16
ASoC: SDCA: Fix some holes in the regmap readable/writeable helpers
ASoC: SDCA: Add support for -cn- value properties
Chen Ni (1):
ASoC: tegra: AHUB: Remove unneeded semicolon
Chen-Yu Tsai (9):
ASoC: dt-bindings: Convert MT8173 AFE binding to dt-schema
ASoC: dt-bindings: mt8173-afe-pcm: Add power domain
ASoC: dt-bindings: mt8173-afe-pcm: Allow specifying reserved memory region
ASoC: dt-bindings: mt8186-afe-pcm: Allow specifying reserved memory region
ASoC: dt-bindings: mt8192-afe-pcm: Allow specifying reserved memory region
ASoC: mediatek: use reserved memory or enable buffer pre-allocation
ASoC: mediatek: mt8183-afe-pcm: Support >32 bit DMA addresses
ASoC: mediatek: mt8173-afe-pcm: use local `dev` pointer in driver callbacks
ASoC: mediatek: mt8183-afe-pcm: use local `dev` pointer in driver callbacks
ChiYuan Huang (2):
ASoC: dt-bindings: rt9123: Append RTQ9124 description
ASoC: codecs: Add support for Richtek RTQ9124
Frank Li (1):
ASoC: dt-bindings: covert mxs-audio-sgtl5000.txt to yaml format
Geert Uytterhoeven (2):
ASoC: renesas: msiof: Convert to <linux/spi/sh_msiof.h>
ASoC: img: Imagination Technologies sound should depend on MIPS
Jyri Sarha (3):
ASoC: SOF: ipc4: Add sof_ipc4_pipeline_state_str() for debugging
ASoC: SOF: ipc4-pcm: Pipe instances to dev_dbg in multi_pipeline_state()
ASoC: SOF: ipc4-pcm: Harmonize sof_ipc4_set_pipeline_state() dbg print
Krzysztof Kozlowski (20):
ASoC: codecs: Constify regmap configuration static variables
ASoC: fsl: Constify reg_default array
ASoC: codecs: wcd9335: Drop unused sido_input_src field
ASoC: codecs: wcd934x: Drop unused num_rx_port/num_tx_port fields
ASoC: codecs: wcd937x: Drop unused 'struct wcd937x_priv' fields
ASoC: codecs: wcd938x: Drop unused 'struct wcd938x_priv' fields
ASoC: codecs: wcd938x: Drop unused variant field
ASoC: codecs: wcd939x: Drop unused 'struct wcd939x_priv' fields
ASoC: codecs: wcd937x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd938x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd939x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd939x: Simplify return from devm_gpiod_get() error
ASoC: dt-bindings: qcom,wcd939x: Document missing VDD_PX supply
ASoC: codecs: wcd939x: Add VDD_PX supply
ASoC: codecs: lpass: Drop unused AIF_INVALID first DAI identifier
ASoC: codecs: wcd937x: Use simple defines for chipid register value
ASoC: codecs: wcd938x: Use simple defines for chipid register value
ASoC: codecs: wcd939x: Use simple defines for chipid register value
ASoC: codecs: wcd939x: Add defines for major/minor version decoding
ASoC: dt-bindings: qcom,lpass-va-macro: Define clock-names in top-level
Kuninori Morimoto (62):
ASoC: soc-core: save ID if param was set in fmt_single_name()
ASoC: remove component->id
ASoC: hdac_hdmi: remove hdac_hdmi_jack[_port]_init()
ASoC: soc-dai: tidyup return value of snd_soc_xlate_tdm_slot_mask()
ASoC: soc-ops-test: dynamically allocate struct snd_ctl_elem_value
ASoC: ti: Standardize ASoC menu
ASoC: adi: Standardize ASoC menu
ASoC: amd: Standardize ASoC menu
ASoC: bcm: Standardize ASoC menu
ASoC: dwc: Standardize ASoC menu
ASoC: fsl: Standardize ASoC menu
ASoC: img: Standardize ASoC menu
ASoC: mxs: Standardize ASoC menu
ASoC: pxa: Standardize ASoC menu
ASoC: sti: Standardize ASoC menu
ASoC: stm: Standardize ASoC menu
ASoC: sof: Standardize ASoC menu
ASoC: au1x: Standardize ASoC menu
ASoC: sdca: Standardize ASoC menu
ASoC: sprd: Standardize ASoC menu
ASoC: qcom: Standardize ASoC menu
ASoC: meson: Standardize ASoC menu
ASoC: apple: Standardize ASoC menu
ASoC: atmel: Standardize ASoC menu
ASoC: intel: Standardize ASoC menu
ASoC: spear: Standardize ASoC menu
ASoC: sunxi: Standardize ASoC menu
ASoC: tegra: Standardize ASoC menu
ASoC: ux500: Standardize ASoC menu
ASoC: cirrus: Standardize ASoC menu
ASoC: google: Standardize ASoC menu
ASoC: jz4740: Standardize ASoC menu
ASoC: xilinx: Standardize ASoC menu
ASoC: xtensa: Standardize ASoC menu
ASoC: renesas: Standardize ASoC menu
ASoC: generic: Standardize ASoC menu
ASoC: samsung: Standardize ASoC menu
ASoC: kirkwood: Standardize ASoC menu
ASoC: loongson: Standardize ASoC menu
ASoC: mediatek: Standardize ASoC menu
ASoC: rockchip: Standardize ASoC menu
ASoC: starfive: Standardize ASoC menu
ASoC: uniphier: Standardize ASoC menu
ASoC: hisilicon: Standardize ASoC menu
ASoC: soc-dapm: remove unnecessary definition
ASoC: soc-dapm: remove EXPORT_SYMBOL_GPL() for snd_soc_dapm_free()
ASoC: soc-dapm: remove snd_soc_dapm_nc_pin[_unlocked]()
ASoC: soc-dapm: remove snd_soc_dapm_weak_routes()
ASoC: soc-dapm: reordering function definitions
ASoC: soc-dapm: reordering header definitions
ASoC: soc-dapm: use component instead of cmpnt
ASoC: soc-dapm: use common name for dapm
ASoC: soc-dapm: add prefix on dapm_mark_endpoints_dirty()
ASoC: soc-dapm: add prefix on dapm_xxx_event()
ASoC: soc-dapm: add prefix on soc_dapm_dev_attrs
ASoC: rt700: don't set dapm->bias_level
ASoC: rt715: don't set dapm->bias_level
ASoC: soc-dapm: set bias_level if snd_soc_dapm_set_bias_level() was successed
ASoC: samsung: bell: don't set dapm->bias_level directly
ASoC: samsung: speyside: don't set dapm->bias_level directly
ASoC: samsung: tobermory: don't set dapm->bias_level directly
ASoC: samsung: littlemill: don't set dapm->bias_level directly
Laurentiu Mihalcea (1):
ASoC: dt-bindings: cirrus,cs42xx8: add 'port' property
Luca Weiss (6):
ASoC: qcom: sm8250: set card driver name from match data
ASoC: qcom: sm8250: add DisplayPort Jack support
ASoC: qcom: sm8250: Add Fairphone 5 soundcard compatible
ASoC: dt-bindings: qcom,q6afe: Document q6usb subnode
ASoC: dt-bindings: qcom,sm8250: Add Fairphone 4 sound card
ASoC: qcom: sm8250: Add Fairphone 4 soundcard compatible
Mac Chiang (2):
ASoC: Intel: soc-acpi-intel-ptl-match: add support ptl-rt721-l0
ASoC: Intel: soc-acpi-intel-lnl-match: add rt1320_l12_rt714_l0 support
Maciej Strozek (1):
ASoC: SDCA: Generic interrupt support
Mark Brown (32):
ASoC: codecs: wcd93xx: Few simplifications of code and
ASoC: Intel: avs: Add rt5640 board support
Use helper function for_each_child_of_node_scoped()
ASoC: tas571x: add support for tas5753
ASoC: remove component->id
Cleanup in rockchip_sai.c
ASoC: Add Richtek RTQ9124 support
Add DisplayPort sound support for Fairphone 5
ASoC: codecs: More const and unused member cleanups
ASoC: mediatek: use reserved memory or enable
ASoC: core/topology/Intel:
ASoC: SOF: ipc4/Intel: Support for partial context
ASoC: SOF: ipc4-pcm: Harmonize set pipeline state dbg
ASoC: hdac_hdmi: Rate limit logging on connection and disconnection
ASoC: codecs: wcd93xx: Drop enums for chipid values
Add SoundWire machines for ACP7.0/ACP7.1 sof stack
ASoC: Standardize ASoC menu
ASoC: sdw_utils: generate combined spk components
ASoC: Add SDCA IRQ support and some misc fixups
Add sound card support for QCS8275
treewide: Remove redundant
ASoC: soc-dapm: cleanups
ASoC: Intel: add support for new devices
ASoC: don't set dapm->bias_level directly
ASoC: set bias_level at if
Update SDCA Kconfig
ASoC: codec: Convert to GPIO descriptors for
ASoC: convert from clk round_rate() to
SDCA Bug Fixes
Add SDCA DAI ops helpers
More minor SDCA changes
ASoC: fsl_xcvr: get channel status data in two cases
Pei Xiao (2):
ASOC: rockchip: fix capture stream handling in rockchip_sai_xfer_stop
ASOC: rockchip: Use helper function devm_clk_get_enabled()
Peng Fan (4):
ASoC: codec: rockchip_sai: Remove including of_gpio.h
ASoC: codec: tlv320aic32x4: Drop aic32x4_pdata usage
ASoC: codec: tlv320aic32x4: Sort headers alphabetically
ASoC: codec: tlv320aic32x4: Convert to GPIO descriptors
Peter Ujfalusi (13):
ASoC: topology: Do not call snd_soc_remove_pcm_runtime() for ignored links
ASoC: core: Check for rtd == NULL in snd_soc_remove_pcm_runtime()
ASoC: Intel: skl_hda_dsp_generic: Implement add_dai_link to filter HDMI PCMs
ASoC: Intel: sof_sdw: Implement add_dai_link to filter HDMI PCMs
ASoC: SOF: ipc4-priv: Add kernel doc for fw_context_save of sof_ipc4_fw_data
ASoC: SOF: ipc4/Intel: Add support for library restore firmware functionality
ASoC: SOF: ipc4-pcm: Look for best matching hw_config for SSP
ASoC: SOF: pcm: Remove local create_page_table() wrapper function
ASoC: SOF: topology: Parse the dapm_widget_tokens in case of DSPless mode
ASoC: SOF: pcm: Reverse check for prepared stream in sof_pcm_hw_params()
ASoC: SOF: Intel: hda: Do not probe Soundwire in nocodec mode
ASoC: SOF: ipc4-pcm: Enable delay reporting for ChainDMA streams
ASoC: sdw_utils: Add missed component_name strings for speaker amps
Prasad Kumpatla (2):
ASoC: dt-bindings: qcom,sm8250: Add QCS8275 sound card
ASoC: qcom: sc8280xp: Add support for QCS8275
Richard Fitzgerald (1):
firmware: cs_dsp: Remove unused struct list_head from cs_dsp_coeff_ctl
Rob Herring (Arm) (1):
ASoC: Use of_reserved_mem_region_to_resource() for "memory-region"
Sachin Mokashi (1):
ASoC: Intel: Replace deprecated strcpy() with strscpy()
Sakari Ailus (11):
PM: runtime: Document return values of suspend-related API functions
PM: runtime: Mark last busy stamp in pm_runtime_put_autosuspend()
PM: runtime: Mark last busy stamp in pm_runtime_put_sync_autosuspend()
PM: runtime: Mark last busy stamp in pm_runtime_autosuspend()
PM: runtime: Mark last busy stamp in pm_request_autosuspend()
Documentation: PM: *_autosuspend() functions update last busy time
ASoC: atmel: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: codecs: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: Intel: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: component: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls
Seppo Ingalsuo (1):
ASoC: SOF: ipc4-topology: Add load of ASRC component
Shenghao Ding (2):
ASoC: tas2781: Drop the unnecessary symbol imply
ASoC: tas2781: Move the "include linux/debugfs.h" into tas2781.h
Shengjiu Wang (6):
ASoC: wm8524: enable constraints when sysclk is configured.
ASoC: fsl_mqs: Distinguish different modules by system manager indices
ASoC: fsl_mqs: rename system manager indices for i.MX95
ASoC: fsl-asoc-card: add sysclk_ratio for calculate sysclk frequency
ASoC: fsl_xcvr: get channel status data when PHY is not exists
ASoC: fsl_xcvr: get channel status data with firmware exists
Shuming Fan (3):
ASoC: SDCA: add support for HIDE entity properties and HID descriptor/report
ASoC: SDCA: add a HID device for HIDE entity
ASoC: SDCA: add route by the number of input pins in MU entity
Srinivas Kandagatla (1):
ASoC: qcom: use drvdata instead of component to keep id
Stephen Rothwell (1):
ASoC: SDCA: Check devm_mutex_init() return value
Terry Cheong (1):
ASoC: hdmi-codec: use SND_JACK_AVOUT as jack status
Varshini Rajendran (1):
ASoC: dt-bindings: atmel,at91-ssc: add microchip,sam9x7-ssc
Venkata Prasad Potturu (4):
ASoC: amd: acp: Fix pointer assignments for snd_soc_acpi_mach structures
ASoC: amd: acp: Add legacy driver support acp7.2 based platforms
ASoC: amd: acp: Enable I2S support for acp7.2 based platforms
ASoC: amd: acp: Enable acp7.2 platform based DMIC support in machine driver
Vijendar Mukunda (2):
ASoC: amd: acp: add soundwire machine for ACP7.0 and ACP7.1 sof stack
ASoC: SOF: amd: add alternate machines for ACP7.0 and ACP7.1 platforms
Weidong Wang (2):
ASoC: codecs: Add calibration function to aw88399 chip
ASoC: codecs: Add acpi_match_table for aw88399 driver
Xinxin Wan (1):
ASoC: codecs: rt5640: Retry DEVICE_ID verification
.../devicetree/bindings/sound/atmel,at91-ssc.yaml | 11 +-
.../devicetree/bindings/sound/cirrus,cs42xx8.yaml | 4 +
.../bindings/sound/fsl,mxs-audio-sgtl5000.yaml | 81 ++
.../bindings/sound/mediatek,mt8173-afe-pcm.yaml | 98 ++
.../devicetree/bindings/sound/mt8186-afe-pcm.yaml | 5 +
.../devicetree/bindings/sound/mt8192-afe-pcm.yaml | 5 +
.../devicetree/bindings/sound/mtk-afe-pcm.txt | 45 -
.../bindings/sound/mxs-audio-sgtl5000.txt | 42 -
.../bindings/sound/qcom,lpass-va-macro.yaml | 28 +-
.../devicetree/bindings/sound/qcom,q6afe.yaml | 13 +
.../devicetree/bindings/sound/qcom,sm8250.yaml | 2 +
.../devicetree/bindings/sound/qcom,wcd939x.yaml | 3 +
.../devicetree/bindings/sound/richtek,rt9123.yaml | 9 +-
.../devicetree/bindings/sound/ti,tas57xx.yaml | 2 +
Documentation/power/runtime_pm.rst | 50 +-
MAINTAINERS | 11 +
arch/mips/configs/generic/board-marduk.config | 1 -
drivers/firmware/cirrus/cs_dsp.c | 45 +-
drivers/hid/hid-core.c | 3 +
include/linux/firmware/cirrus/cs_dsp.h | 2 -
include/linux/firmware/imx/sm.h | 20 +-
include/linux/pm_runtime.h | 187 +++-
include/sound/sdca_asoc.h | 19 +
include/sound/sdca_function.h | 85 +-
include/sound/sdca_hid.h | 25 +
include/sound/sdca_interrupts.h | 78 ++
include/sound/soc-component.h | 1 -
include/sound/soc-dai.h | 3 +
include/sound/soc-dapm.h | 236 +++--
include/sound/soc_sdw_utils.h | 1 +
include/sound/sof/ipc4/header.h | 2 +
include/sound/tas2781.h | 4 +
include/sound/tlv320aic32x4.h | 9 -
include/uapi/linux/input.h | 1 +
sound/soc/Kconfig | 8 +-
sound/soc/adi/Kconfig | 9 +-
sound/soc/amd/Kconfig | 3 +
sound/soc/amd/acp/Kconfig | 1 +
sound/soc/amd/acp/acp-i2s.c | 3 +
sound/soc/amd/acp/acp-legacy-common.c | 2 +
sound/soc/amd/acp/acp-mach-common.c | 1 +
sound/soc/amd/acp/acp-pci.c | 9 +-
sound/soc/amd/acp/acp-platform.c | 2 +
sound/soc/amd/acp/acp70.c | 1 +
sound/soc/amd/acp/acp_common.h | 1 +
sound/soc/amd/acp/amd-acp70-acpi-match.c | 12 +
sound/soc/amd/acp/amd-acpi-mach.c | 4 +-
sound/soc/amd/acp/amd.h | 8 +-
sound/soc/amd/mach-config.h | 1 +
sound/soc/apple/Kconfig | 4 +
sound/soc/atmel/Kconfig | 11 +-
sound/soc/atmel/mchp-spdifrx.c | 6 -
sound/soc/au1x/Kconfig | 4 +
sound/soc/bcm/Kconfig | 4 +
sound/soc/cirrus/Kconfig | 3 +
sound/soc/codecs/Kconfig | 12 +-
sound/soc/codecs/Makefile | 4 +-
sound/soc/codecs/arizona-jack.c | 2 -
sound/soc/codecs/aw88395/aw88395_device.h | 21 +
sound/soc/codecs/aw88399.c | 449 ++++++++-
sound/soc/codecs/aw88399.h | 34 +
sound/soc/codecs/cros_ec_codec.c | 30 +-
sound/soc/codecs/cs35l36.c | 2 +-
sound/soc/codecs/cs35l41.c | 2 -
sound/soc/codecs/cs35l45.c | 1 -
sound/soc/codecs/cs35l56-sdw.c | 1 -
sound/soc/codecs/cs35l56.c | 1 -
sound/soc/codecs/cs42l42.c | 1 -
sound/soc/codecs/cs42l43-jack.c | 5 -
sound/soc/codecs/cs42l43.c | 2 -
sound/soc/codecs/cs48l32.c | 1 -
sound/soc/codecs/da7218.c | 2 +-
sound/soc/codecs/da7219.c | 68 +-
sound/soc/codecs/es8375.c | 2 +-
sound/soc/codecs/hda.c | 3 -
sound/soc/codecs/hdac_hdmi.c | 307 +-----
sound/soc/codecs/hdac_hdmi.h | 10 -
sound/soc/codecs/hdmi-codec.c | 6 +-
sound/soc/codecs/lpass-rx-macro.c | 1 -
sound/soc/codecs/lpass-tx-macro.c | 1 -
sound/soc/codecs/lpass-va-macro.c | 1 -
sound/soc/codecs/lpass-wsa-macro.c | 1 -
sound/soc/codecs/max98363.c | 3 +-
sound/soc/codecs/max98373-i2c.c | 2 +-
sound/soc/codecs/max98373-sdw.c | 3 +-
sound/soc/codecs/max98388.c | 2 +-
sound/soc/codecs/max98390.c | 2 +-
sound/soc/codecs/max98396.c | 4 +-
sound/soc/codecs/max98504.c | 2 +-
sound/soc/codecs/max98520.c | 2 +-
sound/soc/codecs/max98927.c | 2 +-
sound/soc/codecs/rt1017-sdca-sdw.c | 1 -
sound/soc/codecs/rt1308-sdw.c | 1 -
sound/soc/codecs/rt1316-sdw.c | 1 -
sound/soc/codecs/rt1318-sdw.c | 1 -
sound/soc/codecs/rt1320-sdw.c | 1 -
sound/soc/codecs/rt5640.c | 43 +-
sound/soc/codecs/rt5640.h | 6 +-
sound/soc/codecs/rt5682-sdw.c | 1 -
sound/soc/codecs/rt5682.c | 26 +-
sound/soc/codecs/rt5682s.c | 26 +-
sound/soc/codecs/rt700.c | 4 +-
sound/soc/codecs/rt711-sdca.c | 2 -
sound/soc/codecs/rt711.c | 2 -
sound/soc/codecs/rt712-sdca-dmic.c | 1 -
sound/soc/codecs/rt712-sdca.c | 2 -
sound/soc/codecs/rt715-sdca.c | 1 -
sound/soc/codecs/rt715.c | 3 +-
sound/soc/codecs/rt721-sdca.c | 2 -
sound/soc/codecs/rt722-sdca-sdw.c | 2 +-
sound/soc/codecs/rt722-sdca.c | 2 -
sound/soc/codecs/rt9123.c | 3 -
sound/soc/codecs/rtq9124.c | 543 +++++++++++
sound/soc/codecs/tas2552.c | 1 -
sound/soc/codecs/tas2781-i2c.c | 3 -
sound/soc/codecs/tas571x.c | 52 +
sound/soc/codecs/tlv320aic32x4.c | 53 +-
sound/soc/codecs/wcd-mbhc-v2.c | 2 -
sound/soc/codecs/wcd9335.c | 5 -
sound/soc/codecs/wcd934x.c | 4 -
sound/soc/codecs/wcd937x.c | 38 +-
sound/soc/codecs/wcd937x.h | 1 -
sound/soc/codecs/wcd938x.c | 64 +-
sound/soc/codecs/wcd939x.c | 69 +-
sound/soc/codecs/wm8524.c | 55 +-
sound/soc/codecs/wsa881x.c | 5 +-
sound/soc/codecs/wsa883x.c | 3 +-
sound/soc/codecs/wsa884x.c | 3 +-
sound/soc/dwc/Kconfig | 3 +
sound/soc/fsl/Kconfig | 2 +-
sound/soc/fsl/fsl-asoc-card.c | 13 +-
sound/soc/fsl/fsl_asrc.c | 2 +-
sound/soc/fsl/fsl_mqs.c | 11 +-
sound/soc/fsl/fsl_sai.c | 4 +-
sound/soc/fsl/fsl_xcvr.c | 25 +-
sound/soc/fsl/imx-card.c | 53 +-
sound/soc/generic/Kconfig | 4 +
sound/soc/google/Kconfig | 3 +
sound/soc/hisilicon/Kconfig | 4 +
sound/soc/img/Kconfig | 14 +-
sound/soc/intel/Kconfig | 4 +
sound/soc/intel/atom/sst/sst_pvt.c | 1 -
sound/soc/intel/avs/board_selection.c | 27 +
sound/soc/intel/avs/boards/Kconfig | 12 +
sound/soc/intel/avs/boards/Makefile | 2 +
sound/soc/intel/avs/boards/rt5640.c | 270 ++++++
sound/soc/intel/avs/core.c | 1 -
sound/soc/intel/avs/debugfs.c | 2 -
sound/soc/intel/avs/ipc.c | 1 -
sound/soc/intel/avs/pcm.c | 1 -
sound/soc/intel/boards/cht_bsw_rt5672.c | 3 +-
sound/soc/intel/boards/skl_hda_dsp_generic.c | 13 +
sound/soc/intel/boards/sof_es8336.c | 10 +
sound/soc/intel/boards/sof_rt5682.c | 7 +
sound/soc/intel/boards/sof_sdw.c | 14 +
sound/soc/intel/catpt/pcm.c | 6 -
sound/soc/intel/catpt/sysfs.c | 1 -
sound/soc/intel/common/soc-acpi-intel-lnl-match.c | 34 +
sound/soc/intel/common/soc-acpi-intel-ptl-match.c | 57 ++
sound/soc/jz4740/Kconfig | 4 +
sound/soc/kirkwood/Kconfig | 3 +
sound/soc/loongson/Kconfig | 2 +-
sound/soc/mediatek/Kconfig | 4 +
.../soc/mediatek/common/mtk-afe-platform-driver.c | 4 +-
sound/soc/mediatek/common/mtk-base-afe.h | 1 +
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 66 +-
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 56 +-
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 7 +
sound/soc/mediatek/mt8188/mt8188-mt6359.c | 4 +-
sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 7 +
sound/soc/meson/Kconfig | 2 +-
sound/soc/meson/axg-card.c | 3 +-
sound/soc/meson/meson-card-utils.c | 16 +-
sound/soc/mxs/Kconfig | 2 +-
sound/soc/pxa/Kconfig | 4 +
sound/soc/qcom/Kconfig | 2 +-
sound/soc/qcom/lpass-platform.c | 27 +-
sound/soc/qcom/qdsp6/q6dsp-lpass-clocks.c | 8 +-
sound/soc/qcom/sc8280xp.c | 1 +
sound/soc/qcom/sm8250.c | 28 +-
sound/soc/renesas/Kconfig | 2 +-
sound/soc/renesas/rcar/core.c | 35 +-
sound/soc/renesas/rcar/ctu.c | 8 +-
sound/soc/renesas/rcar/dma.c | 4 +-
sound/soc/renesas/rcar/dvc.c | 8 +-
sound/soc/renesas/rcar/mix.c | 8 +-
sound/soc/renesas/rcar/msiof.c | 94 +-
sound/soc/renesas/rcar/src.c | 10 +-
sound/soc/renesas/rcar/ssi.c | 18 +-
sound/soc/renesas/rcar/ssiu.c | 7 +-
sound/soc/rockchip/Kconfig | 23 +-
sound/soc/rockchip/rockchip_sai.c | 52 +-
sound/soc/samsung/Kconfig | 2 +-
sound/soc/samsung/bells.c | 2 -
sound/soc/samsung/littlemill.c | 2 -
sound/soc/samsung/speyside.c | 2 -
sound/soc/samsung/tobermory.c | 2 -
sound/soc/sdca/Kconfig | 20 +
sound/soc/sdca/Makefile | 6 +-
sound/soc/sdca/sdca_asoc.c | 469 +++++++--
sound/soc/sdca/sdca_functions.c | 264 ++++-
sound/soc/sdca/sdca_hid.c | 127 +++
sound/soc/sdca/sdca_interrupts.c | 444 +++++++++
sound/soc/sdca/sdca_regmap.c | 29 +-
sound/soc/sdw_utils/soc_sdw_cs_amp.c | 10 -
sound/soc/sdw_utils/soc_sdw_maxim.c | 9 -
sound/soc/sdw_utils/soc_sdw_rt_amp.c | 6 -
sound/soc/sdw_utils/soc_sdw_rt_mf_sdca.c | 7 -
sound/soc/sdw_utils/soc_sdw_utils.c | 38 +
sound/soc/soc-component.c | 1 -
sound/soc/soc-core.c | 25 +-
sound/soc/soc-dai.c | 16 +-
sound/soc/soc-dapm.c | 1018 +++++++++-----------
sound/soc/soc-ops-test.c | 29 +-
sound/soc/soc-ops.c | 26 +-
sound/soc/soc-topology.c | 7 +-
sound/soc/sof/Kconfig | 2 +-
sound/soc/sof/amd/pci-acp70.c | 1 +
sound/soc/sof/control.c | 1 -
sound/soc/sof/debug.c | 1 -
sound/soc/sof/imx/imx-common.c | 36 +-
sound/soc/sof/intel/hda-loader.c | 7 +-
sound/soc/sof/intel/hda.c | 5 +
sound/soc/sof/ipc3-dtrace.c | 1 -
sound/soc/sof/ipc4-loader.c | 7 +-
sound/soc/sof/ipc4-pcm.c | 137 ++-
sound/soc/sof/ipc4-priv.h | 6 +
sound/soc/sof/ipc4-topology.c | 94 +-
sound/soc/sof/ipc4-topology.h | 25 +
sound/soc/sof/ipc4.c | 39 +-
sound/soc/sof/mediatek/mt8186/mt8186.c | 11 +-
sound/soc/sof/mediatek/mt8195/mt8195.c | 11 +-
sound/soc/sof/pcm.c | 27 +-
sound/soc/sof/sof-client-ipc-flood-test.c | 1 -
sound/soc/sof/sof-client-ipc-kernel-injector.c | 1 -
sound/soc/sof/sof-client-ipc-msg-injector.c | 1 -
sound/soc/sof/sof-client-probes.c | 3 -
sound/soc/sof/topology.c | 15 +-
sound/soc/spear/Kconfig | 4 +
sound/soc/sprd/Kconfig | 4 +
sound/soc/starfive/Kconfig | 12 +-
sound/soc/sti/Kconfig | 2 +-
sound/soc/stm/Kconfig | 2 +-
sound/soc/stm/stm32_i2s.c | 21 +-
sound/soc/stm/stm32_sai_sub.c | 14 +-
sound/soc/sunxi/Kconfig | 2 +-
sound/soc/tegra/Kconfig | 4 +
sound/soc/tegra/tegra210_ahub.c | 2 +-
sound/soc/ti/Kconfig | 2 +-
sound/soc/uniphier/Kconfig | 14 +-
sound/soc/ux500/Kconfig | 2 +-
sound/soc/xilinx/Kconfig | 4 +
sound/soc/xtensa/Kconfig | 4 +
253 files changed, 5171 insertions(+), 2291 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/fsl,mxs-audio-sgtl5000.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/mtk-afe-pcm.txt
delete mode 100644 Documentation/devicetree/bindings/sound/mxs-audio-sgtl5000.txt
create mode 100644 include/sound/sdca_hid.h
create mode 100644 include/sound/sdca_interrupts.h
delete mode 100644 sound/soc/codecs/hdac_hdmi.h
create mode 100644 sound/soc/codecs/rtq9124.c
create mode 100644 sound/soc/intel/avs/boards/rt5640.c
create mode 100644 sound/soc/sdca/sdca_hid.c
create mode 100644 sound/soc/sdca/sdca_interrupts.c
2
1

Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
by Holalu Yogendra, Niranjan 28 Jul '25
by Holalu Yogendra, Niranjan 28 Jul '25
28 Jul '25
Hi Krzysztof,
Thanks for the detailed review comments.
Request you to take a look at comments below.
On Fri, Jun 27, 2025 at 1:18 PM +0530, Krzysztof Kozlowski wrote:
> On Thu, Jun 26, 2025 at 11:43:31PM +0530, Niranjan H Y wrote:
> > + ti,vref:
> > + description: VREF required voltage. If node is omitted then VREF is
> Voltage is in microvolt. Use proper suffix/values.
Is this convention ? Is there any document on these I can refer ?
>
> > + oneOf:
> > + - const: 0
> > + description: VREF output is powered to 2.75V.
> > + - const: 1
> > + description: VREF output is powered to 2.5V.
> > + - const: 2
> > + description: VREF output is powered to 1.375V.
> > + ti,gpios-func:
> > + description: |
> > + Array indicating the GPIO1, GPIO2, GPO1 Functionality in the same order.
> > + Each integer elemnent in the array represent the following
> > + - 0 TAC5X1X_GPIO_DISABLE - GPIO is Disabled
> > + - 1 TAC5X1X_GPIO_GPI - General Purpose Input
> > + - 2 ADC3XXX_GPIO_GPO - General Purpose Output
> > + - 3 TAC5X1X_GPIO_IRQ - Chip Interrupt
> > + - 4 TAC5X1X_GPIO_PDMCLK - PDM CLK Output
> > + - 5 TAC5X1X_GPIO_P_DOUT - Primary ASI DOUT
> > + - 6 TAC5X1X_GPIO_P_DOUT2 - Primary ASI DOUT2
> > + - 7 TAC5X1X_GPIO_S_DOUT - Secondary ASI DOUT
> > + - 8 TAC5X1X_GPIO_S_DOUT2 - Secondary ASI DOUT2
> > + - 9 TAC5X1X_GPIO_S_BCLK - Secondary BCLK Output
> > + - 10 TAC5X1X_GPIO_S_FSYNC - Secondary FSYNC Output
> > + - 11 TAC5X1X_GPIO_CLKOUT - General Purpose Output
> > + - 12 TAC5X1X_GPIO_DOUT_MUX
> > + - 13 TAC5X1X_GPIO_DAISY_OUT
> > + $ref: /schemas/types.yaml#/definitions/uint32-array
> > + minItems: 3
> > + maxItems: 3
>
> Don't encode gpios and pins as some custom properties.
Could you please suggest what is the alternative.
Please suggest some example which I can refer ?
Regards
Niranjan
1
0
Add TAS2770 support in TI's HDA driver. And add hda_chip_id for
more products. Distinguish DSP and non-DSP in firmware
loading function.
Signed-off-by: Baojun Xu <baojun.xu(a)ti.com>
---
v2:
- Rewrite the patch description
- Move registers define for TAS2770 from tas2781.h to tas2770-tlv.h
- Add new chip ID define for HDA
- Add digital volume control in tas2770_snd_controls
- Change public kcontrol name from tas27xx_ to tasdevice_
- Create new function for kcontrol adding
- Create new function for DSP binary loading
- Rename chip_id to hda_chip_id in i2c_probe for the supported devices
---
include/sound/tas2770-tlv.h | 23 +++
.../hda/codecs/side-codecs/tas2781_hda_i2c.c | 161 +++++++++++-------
2 files changed, 127 insertions(+), 57 deletions(-)
create mode 100644 include/sound/tas2770-tlv.h
diff --git a/include/sound/tas2770-tlv.h b/include/sound/tas2770-tlv.h
new file mode 100644
index 000000000000..c0bd495b4a07
--- /dev/null
+++ b/include/sound/tas2770-tlv.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+//
+// ALSA SoC Texas Instruments TAS2770 Audio Smart Amplifier
+//
+// Copyright (C) 2025 Texas Instruments Incorporated
+// https://www.ti.com
+//
+// The TAS2770 hda driver implements for one, two, or even multiple
+// TAS2770 chips.
+//
+// Author: Baojun Xu <baojun.xu(a)ti.com>
+//
+
+#ifndef __TAS2770_TLV_H__
+#define __TAS2770_TLV_H__
+
+#define TAS2770_DVC_LEVEL TASDEVICE_REG(0x0, 0x0, 0x17)
+#define TAS2770_AMP_LEVEL TASDEVICE_REG(0x0, 0x0, 0x03)
+
+static const __maybe_unused DECLARE_TLV_DB_SCALE(tas2770_dvc_tlv, 1650, 50, 0);
+static const __maybe_unused DECLARE_TLV_DB_SCALE(tas2770_amp_tlv, 1100, 50, 0);
+
+#endif
diff --git a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
index bacc3f6ed4bd..65a48326f5b9 100644
--- a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
+++ b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
@@ -24,6 +24,7 @@
#include <sound/tas2781.h>
#include <sound/tas2781-comlib-i2c.h>
#include <sound/tlv.h>
+#include <sound/tas2770-tlv.h>
#include <sound/tas2781-tlv.h>
#include "hda_local.h"
@@ -45,9 +46,18 @@
#define TAS2563_CAL_TLIM TASDEVICE_REG(0, 0x10, 0x14)
#define TAS2563_CAL_R0 TASDEVICE_REG(0, 0x0f, 0x34)
+enum device_chip_id {
+ HDA_TAS2563,
+ HDA_TAS2770,
+ HDA_TAS2781,
+ HDA_OTHERS
+};
+
struct tas2781_hda_i2c_priv {
struct snd_kcontrol *snd_ctls[2];
int (*save_calibration)(struct tas2781_hda *h);
+
+ int hda_chip_id;
};
static int tas2781_get_i2c_res(struct acpi_resource *ares, void *data)
@@ -245,6 +255,15 @@ static int tas2781_force_fwload_put(struct snd_kcontrol *kcontrol,
return change;
}
+static const struct snd_kcontrol_new tas2770_snd_controls[] = {
+ ACARD_SINGLE_RANGE_EXT_TLV("Speaker Analog Volume", TAS2770_AMP_LEVEL,
+ 0, 0, 20, 0, tas2781_amp_getvol,
+ tas2781_amp_putvol, tas2770_amp_tlv),
+ ACARD_SINGLE_RANGE_EXT_TLV("Speaker Digital Volume", TAS2770_DVC_LEVEL,
+ 0, 0, 31, 0, tas2781_amp_getvol,
+ tas2781_amp_putvol, tas2770_dvc_tlv),
+};
+
static const struct snd_kcontrol_new tas2781_snd_controls[] = {
ACARD_SINGLE_RANGE_EXT_TLV("Speaker Analog Gain", TAS2781_AMP_LEVEL,
1, 0, 20, 0, tas2781_amp_getvol,
@@ -253,7 +272,7 @@ static const struct snd_kcontrol_new tas2781_snd_controls[] = {
tas2781_force_fwload_get, tas2781_force_fwload_put),
};
-static const struct snd_kcontrol_new tas2781_prof_ctrl = {
+static const struct snd_kcontrol_new tasdevice_prof_ctrl = {
.name = "Speaker Profile Id",
.iface = SNDRV_CTL_ELEM_IFACE_CARD,
.info = tasdevice_info_profile,
@@ -261,7 +280,7 @@ static const struct snd_kcontrol_new tas2781_prof_ctrl = {
.put = tasdevice_set_profile_id,
};
-static const struct snd_kcontrol_new tas2781_dsp_prog_ctrl = {
+static const struct snd_kcontrol_new tasdevice_dsp_prog_ctrl = {
.name = "Speaker Program Id",
.iface = SNDRV_CTL_ELEM_IFACE_CARD,
.info = tasdevice_info_programs,
@@ -269,7 +288,7 @@ static const struct snd_kcontrol_new tas2781_dsp_prog_ctrl = {
.put = tasdevice_program_put,
};
-static const struct snd_kcontrol_new tas2781_dsp_conf_ctrl = {
+static const struct snd_kcontrol_new tasdevice_dsp_conf_ctrl = {
.name = "Speaker Config Id",
.iface = SNDRV_CTL_ELEM_IFACE_CARD,
.info = tasdevice_info_config,
@@ -378,44 +397,34 @@ static void tas2781_hda_remove_controls(struct tas2781_hda *tas_hda)
snd_ctl_remove(codec->card, tas_hda->prof_ctl);
}
-static void tasdev_fw_ready(const struct firmware *fmw, void *context)
+static void tasdev_add_kcontrols(struct tasdevice_priv *tas_priv,
+ struct snd_kcontrol **ctls, struct hda_codec *codec,
+ const struct snd_kcontrol_new *tas_snd_ctrls, int num_ctls)
{
- struct tasdevice_priv *tas_priv = context;
- struct tas2781_hda *tas_hda = dev_get_drvdata(tas_priv->dev);
- struct tas2781_hda_i2c_priv *hda_priv = tas_hda->hda_priv;
- struct hda_codec *codec = tas_priv->codec;
- int i, ret, spk_id;
-
- pm_runtime_get_sync(tas_priv->dev);
- mutex_lock(&tas_priv->codec_lock);
+ int i, ret;
- ret = tasdevice_rca_parser(tas_priv, fmw);
- if (ret)
- goto out;
-
- tas_hda->prof_ctl = snd_ctl_new1(&tas2781_prof_ctrl, tas_priv);
- ret = snd_ctl_add(codec->card, tas_hda->prof_ctl);
- if (ret) {
- dev_err(tas_priv->dev,
- "Failed to add KControl %s = %d\n",
- tas2781_prof_ctrl.name, ret);
- goto out;
- }
-
- for (i = 0; i < ARRAY_SIZE(tas2781_snd_controls); i++) {
- hda_priv->snd_ctls[i] = snd_ctl_new1(&tas2781_snd_controls[i],
- tas_priv);
- ret = snd_ctl_add(codec->card, hda_priv->snd_ctls[i]);
+ for (i = 0; i < num_ctls; i++) {
+ ctls[i] = snd_ctl_new1(
+ &tas_snd_ctrls[i], tas_priv);
+ ret = snd_ctl_add(codec->card, ctls[i]);
if (ret) {
dev_err(tas_priv->dev,
"Failed to add KControl %s = %d\n",
- tas2781_snd_controls[i].name, ret);
- goto out;
+ tas_snd_ctrls[i].name, ret);
+ break;
}
}
+}
- tasdevice_dsp_remove(tas_priv);
+static void tasdevice_dspfw_init(void *context)
+{
+ struct tasdevice_priv *tas_priv = context;
+ struct tas2781_hda *tas_hda = dev_get_drvdata(tas_priv->dev);
+ struct tas2781_hda_i2c_priv *hda_priv = tas_hda->hda_priv;
+ struct hda_codec *codec = tas_priv->codec;
+ int ret, spk_id;
+ tasdevice_dsp_remove(tas_priv);
tas_priv->fw_state = TASDEVICE_DSP_FW_PENDING;
if (tas_priv->speaker_id != NULL) {
// Speaker id need to be checked for ASUS only.
@@ -441,28 +450,12 @@ static void tasdev_fw_ready(const struct firmware *fmw, void *context)
dev_err(tas_priv->dev, "dspfw load %s error\n",
tas_priv->coef_binaryname);
tas_priv->fw_state = TASDEVICE_DSP_FW_FAIL;
- goto out;
- }
-
- tas_hda->dsp_prog_ctl = snd_ctl_new1(&tas2781_dsp_prog_ctrl,
- tas_priv);
- ret = snd_ctl_add(codec->card, tas_hda->dsp_prog_ctl);
- if (ret) {
- dev_err(tas_priv->dev,
- "Failed to add KControl %s = %d\n",
- tas2781_dsp_prog_ctrl.name, ret);
- goto out;
- }
-
- tas_hda->dsp_conf_ctl = snd_ctl_new1(&tas2781_dsp_conf_ctrl,
- tas_priv);
- ret = snd_ctl_add(codec->card, tas_hda->dsp_conf_ctl);
- if (ret) {
- dev_err(tas_priv->dev,
- "Failed to add KControl %s = %d\n",
- tas2781_dsp_conf_ctrl.name, ret);
- goto out;
+ return;
}
+ tasdev_add_kcontrols(tas_priv, &tas_hda->dsp_prog_ctl, codec,
+ &tasdevice_dsp_prog_ctrl, 1);
+ tasdev_add_kcontrols(tas_priv, &tas_hda->dsp_conf_ctl, codec,
+ &tasdevice_dsp_conf_ctrl, 1);
tas_priv->fw_state = TASDEVICE_DSP_FW_ALL_OK;
tasdevice_prmg_load(tas_priv, 0);
@@ -475,9 +468,45 @@ static void tasdev_fw_ready(const struct firmware *fmw, void *context)
* calibrated data inside algo.
*/
hda_priv->save_calibration(tas_hda);
+}
+
+static void tasdev_fw_ready(const struct firmware *fmw, void *context)
+{
+ struct tasdevice_priv *tas_priv = context;
+ struct tas2781_hda *tas_hda = dev_get_drvdata(tas_priv->dev);
+ struct tas2781_hda_i2c_priv *hda_priv = tas_hda->hda_priv;
+ struct hda_codec *codec = tas_priv->codec;
+ int ret;
+
+ pm_runtime_get_sync(tas_priv->dev);
+ mutex_lock(&tas_priv->codec_lock);
+
+ ret = tasdevice_rca_parser(tas_priv, fmw);
+ if (ret)
+ goto out;
- tasdevice_tuning_switch(tas_hda->priv, 0);
- tas_hda->priv->playback_started = true;
+ tas_priv->fw_state = TASDEVICE_RCA_FW_OK;
+ tasdev_add_kcontrols(tas_priv, &tas_hda->prof_ctl, codec,
+ &tasdevice_prof_ctrl, 1);
+
+ switch (hda_priv->hda_chip_id) {
+ case HDA_TAS2770:
+ tasdev_add_kcontrols(tas_priv, hda_priv->snd_ctls, codec,
+ &tas2770_snd_controls[0],
+ ARRAY_SIZE(tas2770_snd_controls));
+ break;
+ case HDA_TAS2781:
+ tasdev_add_kcontrols(tas_priv, hda_priv->snd_ctls, codec,
+ &tas2781_snd_controls[0],
+ ARRAY_SIZE(tas2781_snd_controls));
+ tasdevice_dspfw_init(context);
+ break;
+ case HDA_TAS2563:
+ tasdevice_dspfw_init(context);
+ break;
+ default:
+ break;
+ }
out:
mutex_unlock(&tas_hda->priv->codec_lock);
@@ -581,16 +610,33 @@ static int tas2781_hda_i2c_probe(struct i2c_client *clt)
return -ENOMEM;
if (strstr(dev_name(&clt->dev), "TIAS2781")) {
- device_name = "TIAS2781";
+ /*
+ * TAS2781, integrated on-chip DSP with
+ * global I2C address supported.
+ */
+ device_name = "TIAS2781";
+ hda_priv->hda_chip_id = HDA_TAS2781;
hda_priv->save_calibration = tas2781_save_calibration;
tas_hda->priv->global_addr = TAS2781_GLOBAL_ADDR;
+ } else if (strstarts(dev_name(&clt->dev), "i2c-TXNW2770")) {
+ /*
+ * TAS2770, has no on-chip DSP, so no calibration data
+ * required; has no global I2C address supported.
+ */
+ device_name = "TXNW2770";
+ hda_priv->hda_chip_id = HDA_TAS2770;
} else if (strstarts(dev_name(&clt->dev),
"i2c-TXNW2781:00-tas2781-hda.0")) {
device_name = "TXNW2781";
hda_priv->save_calibration = tas2781_save_calibration;
tas_hda->priv->global_addr = TAS2781_GLOBAL_ADDR;
} else if (strstr(dev_name(&clt->dev), "INT8866")) {
- device_name = "INT8866";
+ /*
+ * TAS2563, integrated on-chip DSP with
+ * global I2C address supported.
+ */
+ device_name = "INT8866";
+ hda_priv->hda_chip_id = HDA_TAS2563;
hda_priv->save_calibration = tas2563_save_calibration;
tas_hda->priv->global_addr = TAS2563_GLOBAL_ADDR;
} else {
@@ -727,6 +773,7 @@ static const struct i2c_device_id tas2781_hda_i2c_id[] = {
static const struct acpi_device_id tas2781_acpi_hda_match[] = {
{"INT8866", 0 },
{"TIAS2781", 0 },
+ {"TXNW2770", 0 },
{"TXNW2781", 0 },
{}
};
--
2.43.0
3
2

tinycompress: add support for new SNDRV_COMPRESS_TSTAMP64 and _AVAIL64
by GitHub pull_request - opened 25 Jul '25
by GitHub pull_request - opened 25 Jul '25
25 Jul '25
alsa-project/tinycompress pull request #29 was opened from jorisverhaegen:
These 2 ioctl are under review to be added to kernel. See https://lore.kernel.org/linux-sound/20250725114249.2086974-1-verhaegen@goog…
This pull request should be merged after this kernel is available.
Request URL : https://github.com/alsa-project/tinycompress/pull/29
Patch URL : https://github.com/alsa-project/tinycompress/pull/29.patch
Repository URL: https://github.com/alsa-project/tinycompress
1
0

HDMI card is marked "off" on system resume and stays so until reset
by GitHub issues - opened 24 Jul '25
by GitHub issues - opened 24 Jul '25
24 Jul '25
alsa-project/alsa-lib issue #465 was opened from j39m:
(Continued from [Pipewire issue 4809](https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4809).)
# Basic Symptoms
When resuming, my device often fails to continue playback over my HDMI output. Higher-level utils (`pavucontrol`, `pw-dump`, etc.) report that the corresponding "sink" is not present (until I reset the output).
Pipewire dev `@pvir` read my logs thusly:
<details>
<summary>`alsactl monitor` and `amixer`</summary>
Last state update after resume:
```
2025-07-24 22:15:16,844: alsactl
node hw:0, #7 (0,0,0,HDMI/DP,pcm=7 Jack,0) VALUE
2025-07-24 22:15:16,854: amixer
numid=7,iface=CARD,name='HDMI/DP,pcm=7 Jack'
; type=BOOLEAN,access=r-------,values=1
: values=off
```
The next update then comes only when workaround is run:
```
2025-07-24 22:16:02,772: alsactl
node hw:0, #12 (3,7,0,ELD,0) VALUE INFO
2025-07-24 22:16:02,781: amixer
numid=7,iface=CARD,name='HDMI/DP,pcm=7 Jack'
; type=BOOLEAN,access=r-------,values=1
: values=on
```
It appears there was no notification for the off->on transition, or the off->on only happens when doing the workaround cycling displays, so probably this is ALSA or HDMI bug.
</details>
I haven't tried waiting longer than this, but I assume that if ALSA thinks the card is still gone ~45s after resume, it's already a bit too far gone to be worried about exact timing.
# System readout
<details>
```
[j39m@flaglock6 ~/Downloads/tmp]
$ rpm -q alsa-lib intel-audio-firmware
alsa-lib-1.2.14-3.fc42.x86_64
intel-audio-firmware-20250708-1.fc42.noarch
[j39m@flaglock6 ~/Downloads/tmp]
$ inxi -A
Audio:
Device-1: Advanced Micro Devices [AMD/ATI] Raven/Raven2/Fenghuang HDMI/DP
Audio driver: snd_hda_intel
Device-2: Advanced Micro Devices [AMD] Audio Coprocessor
driver: snd_pci_acp3x
Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
driver: snd_hda_intel
API: ALSA v: k6.15.6-200.fc42.x86_64 status: kernel-api
Server-1: PipeWire v: 1.4.6 status: active
```
</details>
Issue URL : https://github.com/alsa-project/alsa-lib/issues/465
Repository URL: https://github.com/alsa-project/alsa-lib
1
0
The following changes since commit 347e9f5043c89695b01e66b3ed111755afcf1911:
Linux 6.16-rc6 (2025-07-13 14:25:58 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-v6.17
for you to fetch changes up to c58c35ef6ae62e36927f506a5afc66610b7261d9:
ASoC: qcom: sm8250: Add Fairphone 4 soundcard compatible (2025-07-23 15:09:30 +0100)
----------------------------------------------------------------
ASoC: Updates for v6.17
There's a few new drivers here and quite a lot of cleanup work from
Morimoto-san but generally this has been quite a quiet release,
resulting in a fairly small diffstat. Highlights include:
- Refactoring of the Kconfig menus to be hopefully more consistant and
easier to navigate.
- Refactoring of the DAPM code, mainly hiding functionality that
doesn't need to be exposed to drivers.
- Removal of the unused upstream weak paths DAPM functionality.
- Further work on the generic handling for SoundWire SDCA devices.
- Cleanups of our usage of the PM autosuspend functions, this pulls in
some PM core changes on a shared tag.
- Support for AMD ACP7.2 and SoundWire on ACP 7.1, Fairphone 4 & 5,
various Intel systems, Qualcomm QCS8275, Richtek RTQ9124 and TI TAS5753.
----------------------------------------------------------------
Ai Chao (3):
ASoC: renesas: Use helper function for_each_child_of_node_scoped()
ASoC: meson: Use helper function for_each_child_of_node_scoped()
ASoC: imx-card: Use helper function for_each_child_of_node_scoped()
Alexander Stein (1):
ASoC: codec: tlv320aic32x4: Fix reset GPIO check
Arnd Bergmann (2):
ASoC: ops: dynamically allocate struct snd_ctl_elem_value
ASoC: SDCA: fix HID dependency
Balamurugan C (3):
ASoC: Intel: soc-acpi: Add entry for sof_es8336 in PTL match table.
ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support in PTL match table
ASoC: Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for PTL.
Bard Liao (2):
ASoC: sdw_utils: add component_name string to dai_info
ASoC: sdw_utils: generate combined spk components string
Bram Vlerick (2):
ASoC: tas571x: add support for tas5753
ASoC: dt-bindings: tas57xx: add tas5753 compatibility
Brian Masney (6):
ASoC: codecs: da7219: convert from round_rate() to determine_rate()
ASoC: codecs: rt5682: convert from round_rate() to determine_rate()
ASoC: codecs: rt5682s: convert from round_rate() to determine_rate()
ASoC: qcom: qdsp6: q6dsp-lpass-clocks: convert from round_rate() to determine_rate()
ASoC: stm: stm32_i2s: convert from round_rate() to determine_rate()
ASoC: stm: stm32_sai_sub: convert from round_rate() to determine_rate()
Cezary Rojewski (2):
ASoC: codecs: rt5640: Drop dummy register names
ASoC: Intel: avs: Add rt5640 machine board
Charles Keepax (21):
HID: core: Add bus define for SoundWire bus
MAINTAINERS: Add SDCA maintainers entry
ASoC: SDCA: Add missing default in switch in entity_pde_event()
ASoC: SDCA: Fixup some kernel doc errors
ASoC: SDCA: Minor selected/detected mode control fixups
ASoC: SDCA: Add flag for unused IRQs
ASoC: SDCA: Add some initial IRQ handlers
ASoC: SDCA: Kconfig/Makefile fixups
ASoC: SDCA: Pull HID and IRQ into the primary SDCA module
ASoC: SDCA: Fix off by one error in IRQ bound check
ASoC: SDCA: Avoid use of uninitialised local name variable
ASoC: SDCA: Update memory allocations to zero initialise
ASoC: SDCA: Allow read-only controls to be deferrable
ASoC: SDCA: Remove overly chatty input pin list warning
ASoC: SDCA: Move SDCA search functions and export
ASoC: soc-dai: Add private data to snd_soc_dai
ASoC: SDCA: Add helper to add DAI constraints
ASoC: SDCA: Add a helper to get the SoundWire port number
ASoC: SDCA: Add hw_params() helper function
ASoC: SDCA: Shrink detected_mode_handler() stack frame
ASoC: SDCA: Fix implicit cast from le16
Chen Ni (1):
ASoC: tegra: AHUB: Remove unneeded semicolon
Chen-Yu Tsai (9):
ASoC: dt-bindings: Convert MT8173 AFE binding to dt-schema
ASoC: dt-bindings: mt8173-afe-pcm: Add power domain
ASoC: dt-bindings: mt8173-afe-pcm: Allow specifying reserved memory region
ASoC: dt-bindings: mt8186-afe-pcm: Allow specifying reserved memory region
ASoC: dt-bindings: mt8192-afe-pcm: Allow specifying reserved memory region
ASoC: mediatek: use reserved memory or enable buffer pre-allocation
ASoC: mediatek: mt8183-afe-pcm: Support >32 bit DMA addresses
ASoC: mediatek: mt8173-afe-pcm: use local `dev` pointer in driver callbacks
ASoC: mediatek: mt8183-afe-pcm: use local `dev` pointer in driver callbacks
ChiYuan Huang (2):
ASoC: dt-bindings: rt9123: Append RTQ9124 description
ASoC: codecs: Add support for Richtek RTQ9124
Frank Li (1):
ASoC: dt-bindings: covert mxs-audio-sgtl5000.txt to yaml format
Geert Uytterhoeven (2):
ASoC: renesas: msiof: Convert to <linux/spi/sh_msiof.h>
ASoC: img: Imagination Technologies sound should depend on MIPS
Jyri Sarha (3):
ASoC: SOF: ipc4: Add sof_ipc4_pipeline_state_str() for debugging
ASoC: SOF: ipc4-pcm: Pipe instances to dev_dbg in multi_pipeline_state()
ASoC: SOF: ipc4-pcm: Harmonize sof_ipc4_set_pipeline_state() dbg print
Krzysztof Kozlowski (20):
ASoC: codecs: Constify regmap configuration static variables
ASoC: fsl: Constify reg_default array
ASoC: codecs: wcd9335: Drop unused sido_input_src field
ASoC: codecs: wcd934x: Drop unused num_rx_port/num_tx_port fields
ASoC: codecs: wcd937x: Drop unused 'struct wcd937x_priv' fields
ASoC: codecs: wcd938x: Drop unused 'struct wcd938x_priv' fields
ASoC: codecs: wcd938x: Drop unused variant field
ASoC: codecs: wcd939x: Drop unused 'struct wcd939x_priv' fields
ASoC: codecs: wcd937x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd938x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd939x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd939x: Simplify return from devm_gpiod_get() error
ASoC: dt-bindings: qcom,wcd939x: Document missing VDD_PX supply
ASoC: codecs: wcd939x: Add VDD_PX supply
ASoC: codecs: lpass: Drop unused AIF_INVALID first DAI identifier
ASoC: codecs: wcd937x: Use simple defines for chipid register value
ASoC: codecs: wcd938x: Use simple defines for chipid register value
ASoC: codecs: wcd939x: Use simple defines for chipid register value
ASoC: codecs: wcd939x: Add defines for major/minor version decoding
ASoC: dt-bindings: qcom,lpass-va-macro: Define clock-names in top-level
Kuninori Morimoto (62):
ASoC: soc-core: save ID if param was set in fmt_single_name()
ASoC: remove component->id
ASoC: hdac_hdmi: remove hdac_hdmi_jack[_port]_init()
ASoC: soc-dai: tidyup return value of snd_soc_xlate_tdm_slot_mask()
ASoC: soc-ops-test: dynamically allocate struct snd_ctl_elem_value
ASoC: ti: Standardize ASoC menu
ASoC: adi: Standardize ASoC menu
ASoC: amd: Standardize ASoC menu
ASoC: bcm: Standardize ASoC menu
ASoC: dwc: Standardize ASoC menu
ASoC: fsl: Standardize ASoC menu
ASoC: img: Standardize ASoC menu
ASoC: mxs: Standardize ASoC menu
ASoC: pxa: Standardize ASoC menu
ASoC: sti: Standardize ASoC menu
ASoC: stm: Standardize ASoC menu
ASoC: sof: Standardize ASoC menu
ASoC: au1x: Standardize ASoC menu
ASoC: sdca: Standardize ASoC menu
ASoC: sprd: Standardize ASoC menu
ASoC: qcom: Standardize ASoC menu
ASoC: meson: Standardize ASoC menu
ASoC: apple: Standardize ASoC menu
ASoC: atmel: Standardize ASoC menu
ASoC: intel: Standardize ASoC menu
ASoC: spear: Standardize ASoC menu
ASoC: sunxi: Standardize ASoC menu
ASoC: tegra: Standardize ASoC menu
ASoC: ux500: Standardize ASoC menu
ASoC: cirrus: Standardize ASoC menu
ASoC: google: Standardize ASoC menu
ASoC: jz4740: Standardize ASoC menu
ASoC: xilinx: Standardize ASoC menu
ASoC: xtensa: Standardize ASoC menu
ASoC: renesas: Standardize ASoC menu
ASoC: generic: Standardize ASoC menu
ASoC: samsung: Standardize ASoC menu
ASoC: kirkwood: Standardize ASoC menu
ASoC: loongson: Standardize ASoC menu
ASoC: mediatek: Standardize ASoC menu
ASoC: rockchip: Standardize ASoC menu
ASoC: starfive: Standardize ASoC menu
ASoC: uniphier: Standardize ASoC menu
ASoC: hisilicon: Standardize ASoC menu
ASoC: soc-dapm: remove unnecessary definition
ASoC: soc-dapm: remove EXPORT_SYMBOL_GPL() for snd_soc_dapm_free()
ASoC: soc-dapm: remove snd_soc_dapm_nc_pin[_unlocked]()
ASoC: soc-dapm: remove snd_soc_dapm_weak_routes()
ASoC: soc-dapm: reordering function definitions
ASoC: soc-dapm: reordering header definitions
ASoC: soc-dapm: use component instead of cmpnt
ASoC: soc-dapm: use common name for dapm
ASoC: soc-dapm: add prefix on dapm_mark_endpoints_dirty()
ASoC: soc-dapm: add prefix on dapm_xxx_event()
ASoC: soc-dapm: add prefix on soc_dapm_dev_attrs
ASoC: rt700: don't set dapm->bias_level
ASoC: rt715: don't set dapm->bias_level
ASoC: soc-dapm: set bias_level if snd_soc_dapm_set_bias_level() was successed
ASoC: samsung: bell: don't set dapm->bias_level directly
ASoC: samsung: speyside: don't set dapm->bias_level directly
ASoC: samsung: tobermory: don't set dapm->bias_level directly
ASoC: samsung: littlemill: don't set dapm->bias_level directly
Laurentiu Mihalcea (1):
ASoC: dt-bindings: cirrus,cs42xx8: add 'port' property
Luca Weiss (6):
ASoC: qcom: sm8250: set card driver name from match data
ASoC: qcom: sm8250: add DisplayPort Jack support
ASoC: qcom: sm8250: Add Fairphone 5 soundcard compatible
ASoC: dt-bindings: qcom,q6afe: Document q6usb subnode
ASoC: dt-bindings: qcom,sm8250: Add Fairphone 4 sound card
ASoC: qcom: sm8250: Add Fairphone 4 soundcard compatible
Mac Chiang (2):
ASoC: Intel: soc-acpi-intel-ptl-match: add support ptl-rt721-l0
ASoC: Intel: soc-acpi-intel-lnl-match: add rt1320_l12_rt714_l0 support
Maciej Strozek (1):
ASoC: SDCA: Generic interrupt support
Mark Brown (30):
ASoC: codecs: wcd93xx: Few simplifications of code and
ASoC: Intel: avs: Add rt5640 board support
Use helper function for_each_child_of_node_scoped()
ASoC: tas571x: add support for tas5753
ASoC: remove component->id
Cleanup in rockchip_sai.c
ASoC: Add Richtek RTQ9124 support
Add DisplayPort sound support for Fairphone 5
ASoC: codecs: More const and unused member cleanups
ASoC: mediatek: use reserved memory or enable
ASoC: core/topology/Intel:
ASoC: SOF: ipc4/Intel: Support for partial context
ASoC: SOF: ipc4-pcm: Harmonize set pipeline state dbg
ASoC: hdac_hdmi: Rate limit logging on connection and disconnection
ASoC: codecs: wcd93xx: Drop enums for chipid values
Add SoundWire machines for ACP7.0/ACP7.1 sof stack
ASoC: Standardize ASoC menu
ASoC: sdw_utils: generate combined spk components
ASoC: Add SDCA IRQ support and some misc fixups
Add sound card support for QCS8275
treewide: Remove redundant
ASoC: soc-dapm: cleanups
ASoC: Intel: add support for new devices
ASoC: don't set dapm->bias_level directly
ASoC: set bias_level at if
Update SDCA Kconfig
ASoC: codec: Convert to GPIO descriptors for
ASoC: convert from clk round_rate() to
SDCA Bug Fixes
Add SDCA DAI ops helpers
Pei Xiao (2):
ASOC: rockchip: fix capture stream handling in rockchip_sai_xfer_stop
ASOC: rockchip: Use helper function devm_clk_get_enabled()
Peng Fan (4):
ASoC: codec: rockchip_sai: Remove including of_gpio.h
ASoC: codec: tlv320aic32x4: Drop aic32x4_pdata usage
ASoC: codec: tlv320aic32x4: Sort headers alphabetically
ASoC: codec: tlv320aic32x4: Convert to GPIO descriptors
Peter Ujfalusi (13):
ASoC: topology: Do not call snd_soc_remove_pcm_runtime() for ignored links
ASoC: core: Check for rtd == NULL in snd_soc_remove_pcm_runtime()
ASoC: Intel: skl_hda_dsp_generic: Implement add_dai_link to filter HDMI PCMs
ASoC: Intel: sof_sdw: Implement add_dai_link to filter HDMI PCMs
ASoC: SOF: ipc4-priv: Add kernel doc for fw_context_save of sof_ipc4_fw_data
ASoC: SOF: ipc4/Intel: Add support for library restore firmware functionality
ASoC: SOF: ipc4-pcm: Look for best matching hw_config for SSP
ASoC: SOF: pcm: Remove local create_page_table() wrapper function
ASoC: SOF: topology: Parse the dapm_widget_tokens in case of DSPless mode
ASoC: SOF: pcm: Reverse check for prepared stream in sof_pcm_hw_params()
ASoC: SOF: Intel: hda: Do not probe Soundwire in nocodec mode
ASoC: SOF: ipc4-pcm: Enable delay reporting for ChainDMA streams
ASoC: sdw_utils: Add missed component_name strings for speaker amps
Prasad Kumpatla (2):
ASoC: dt-bindings: qcom,sm8250: Add QCS8275 sound card
ASoC: qcom: sc8280xp: Add support for QCS8275
Richard Fitzgerald (1):
firmware: cs_dsp: Remove unused struct list_head from cs_dsp_coeff_ctl
Rob Herring (Arm) (1):
ASoC: Use of_reserved_mem_region_to_resource() for "memory-region"
Sachin Mokashi (1):
ASoC: Intel: Replace deprecated strcpy() with strscpy()
Sakari Ailus (11):
PM: runtime: Document return values of suspend-related API functions
PM: runtime: Mark last busy stamp in pm_runtime_put_autosuspend()
PM: runtime: Mark last busy stamp in pm_runtime_put_sync_autosuspend()
PM: runtime: Mark last busy stamp in pm_runtime_autosuspend()
PM: runtime: Mark last busy stamp in pm_request_autosuspend()
Documentation: PM: *_autosuspend() functions update last busy time
ASoC: atmel: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: codecs: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: Intel: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: component: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls
Seppo Ingalsuo (1):
ASoC: SOF: ipc4-topology: Add load of ASRC component
Shenghao Ding (2):
ASoC: tas2781: Drop the unnecessary symbol imply
ASoC: tas2781: Move the "include linux/debugfs.h" into tas2781.h
Shengjiu Wang (4):
ASoC: wm8524: enable constraints when sysclk is configured.
ASoC: fsl_mqs: Distinguish different modules by system manager indices
ASoC: fsl_mqs: rename system manager indices for i.MX95
ASoC: fsl-asoc-card: add sysclk_ratio for calculate sysclk frequency
Shuming Fan (3):
ASoC: SDCA: add support for HIDE entity properties and HID descriptor/report
ASoC: SDCA: add a HID device for HIDE entity
ASoC: SDCA: add route by the number of input pins in MU entity
Srinivas Kandagatla (1):
ASoC: qcom: use drvdata instead of component to keep id
Stephen Rothwell (1):
ASoC: SDCA: Check devm_mutex_init() return value
Terry Cheong (1):
ASoC: hdmi-codec: use SND_JACK_AVOUT as jack status
Venkata Prasad Potturu (4):
ASoC: amd: acp: Fix pointer assignments for snd_soc_acpi_mach structures
ASoC: amd: acp: Add legacy driver support acp7.2 based platforms
ASoC: amd: acp: Enable I2S support for acp7.2 based platforms
ASoC: amd: acp: Enable acp7.2 platform based DMIC support in machine driver
Vijendar Mukunda (2):
ASoC: amd: acp: add soundwire machine for ACP7.0 and ACP7.1 sof stack
ASoC: SOF: amd: add alternate machines for ACP7.0 and ACP7.1 platforms
Weidong Wang (1):
ASoC: codecs: Add calibration function to aw88399 chip
Xinxin Wan (1):
ASoC: codecs: rt5640: Retry DEVICE_ID verification
.../devicetree/bindings/sound/cirrus,cs42xx8.yaml | 4 +
.../bindings/sound/fsl,mxs-audio-sgtl5000.yaml | 81 ++
.../bindings/sound/mediatek,mt8173-afe-pcm.yaml | 98 ++
.../devicetree/bindings/sound/mt8186-afe-pcm.yaml | 5 +
.../devicetree/bindings/sound/mt8192-afe-pcm.yaml | 5 +
.../devicetree/bindings/sound/mtk-afe-pcm.txt | 45 -
.../bindings/sound/mxs-audio-sgtl5000.txt | 42 -
.../bindings/sound/qcom,lpass-va-macro.yaml | 28 +-
.../devicetree/bindings/sound/qcom,q6afe.yaml | 13 +
.../devicetree/bindings/sound/qcom,sm8250.yaml | 2 +
.../devicetree/bindings/sound/qcom,wcd939x.yaml | 3 +
.../devicetree/bindings/sound/richtek,rt9123.yaml | 9 +-
.../devicetree/bindings/sound/ti,tas57xx.yaml | 2 +
Documentation/power/runtime_pm.rst | 50 +-
MAINTAINERS | 11 +
arch/mips/configs/generic/board-marduk.config | 1 -
drivers/firmware/cirrus/cs_dsp.c | 45 +-
drivers/hid/hid-core.c | 3 +
include/linux/firmware/cirrus/cs_dsp.h | 2 -
include/linux/firmware/imx/sm.h | 20 +-
include/linux/pm_runtime.h | 187 +++-
include/sound/sdca_asoc.h | 19 +
include/sound/sdca_function.h | 71 ++
include/sound/sdca_hid.h | 25 +
include/sound/sdca_interrupts.h | 78 ++
include/sound/soc-component.h | 1 -
include/sound/soc-dai.h | 3 +
include/sound/soc-dapm.h | 236 +++--
include/sound/soc_sdw_utils.h | 1 +
include/sound/sof/ipc4/header.h | 2 +
include/sound/tas2781.h | 4 +
include/sound/tlv320aic32x4.h | 9 -
include/uapi/linux/input.h | 1 +
sound/soc/Kconfig | 8 +-
sound/soc/adi/Kconfig | 9 +-
sound/soc/amd/Kconfig | 3 +
sound/soc/amd/acp/Kconfig | 1 +
sound/soc/amd/acp/acp-i2s.c | 3 +
sound/soc/amd/acp/acp-legacy-common.c | 2 +
sound/soc/amd/acp/acp-mach-common.c | 1 +
sound/soc/amd/acp/acp-pci.c | 9 +-
sound/soc/amd/acp/acp-platform.c | 2 +
sound/soc/amd/acp/acp70.c | 1 +
sound/soc/amd/acp/acp_common.h | 1 +
sound/soc/amd/acp/amd-acp70-acpi-match.c | 12 +
sound/soc/amd/acp/amd-acpi-mach.c | 4 +-
sound/soc/amd/acp/amd.h | 8 +-
sound/soc/amd/mach-config.h | 1 +
sound/soc/apple/Kconfig | 4 +
sound/soc/atmel/Kconfig | 11 +-
sound/soc/atmel/mchp-spdifrx.c | 6 -
sound/soc/au1x/Kconfig | 4 +
sound/soc/bcm/Kconfig | 4 +
sound/soc/cirrus/Kconfig | 3 +
sound/soc/codecs/Kconfig | 12 +-
sound/soc/codecs/Makefile | 4 +-
sound/soc/codecs/arizona-jack.c | 2 -
sound/soc/codecs/aw88395/aw88395_device.h | 21 +
sound/soc/codecs/aw88399.c | 440 ++++++++-
sound/soc/codecs/aw88399.h | 34 +
sound/soc/codecs/cros_ec_codec.c | 30 +-
sound/soc/codecs/cs35l36.c | 2 +-
sound/soc/codecs/cs35l41.c | 2 -
sound/soc/codecs/cs35l45.c | 1 -
sound/soc/codecs/cs35l56-sdw.c | 1 -
sound/soc/codecs/cs35l56.c | 1 -
sound/soc/codecs/cs42l42.c | 1 -
sound/soc/codecs/cs42l43-jack.c | 5 -
sound/soc/codecs/cs42l43.c | 2 -
sound/soc/codecs/cs48l32.c | 1 -
sound/soc/codecs/da7218.c | 2 +-
sound/soc/codecs/da7219.c | 68 +-
sound/soc/codecs/es8375.c | 2 +-
sound/soc/codecs/hda.c | 3 -
sound/soc/codecs/hdac_hdmi.c | 307 +-----
sound/soc/codecs/hdac_hdmi.h | 10 -
sound/soc/codecs/hdmi-codec.c | 6 +-
sound/soc/codecs/lpass-rx-macro.c | 1 -
sound/soc/codecs/lpass-tx-macro.c | 1 -
sound/soc/codecs/lpass-va-macro.c | 1 -
sound/soc/codecs/lpass-wsa-macro.c | 1 -
sound/soc/codecs/max98363.c | 3 +-
sound/soc/codecs/max98373-i2c.c | 2 +-
sound/soc/codecs/max98373-sdw.c | 3 +-
sound/soc/codecs/max98388.c | 2 +-
sound/soc/codecs/max98390.c | 2 +-
sound/soc/codecs/max98396.c | 4 +-
sound/soc/codecs/max98504.c | 2 +-
sound/soc/codecs/max98520.c | 2 +-
sound/soc/codecs/max98927.c | 2 +-
sound/soc/codecs/rt1017-sdca-sdw.c | 1 -
sound/soc/codecs/rt1308-sdw.c | 1 -
sound/soc/codecs/rt1316-sdw.c | 1 -
sound/soc/codecs/rt1318-sdw.c | 1 -
sound/soc/codecs/rt1320-sdw.c | 1 -
sound/soc/codecs/rt5640.c | 43 +-
sound/soc/codecs/rt5640.h | 6 +-
sound/soc/codecs/rt5682-sdw.c | 1 -
sound/soc/codecs/rt5682.c | 26 +-
sound/soc/codecs/rt5682s.c | 26 +-
sound/soc/codecs/rt700.c | 4 +-
sound/soc/codecs/rt711-sdca.c | 2 -
sound/soc/codecs/rt711.c | 2 -
sound/soc/codecs/rt712-sdca-dmic.c | 1 -
sound/soc/codecs/rt712-sdca.c | 2 -
sound/soc/codecs/rt715-sdca.c | 1 -
sound/soc/codecs/rt715.c | 3 +-
sound/soc/codecs/rt721-sdca.c | 2 -
sound/soc/codecs/rt722-sdca-sdw.c | 2 +-
sound/soc/codecs/rt722-sdca.c | 2 -
sound/soc/codecs/rt9123.c | 3 -
sound/soc/codecs/rtq9124.c | 543 +++++++++++
sound/soc/codecs/tas2552.c | 1 -
sound/soc/codecs/tas2781-i2c.c | 3 -
sound/soc/codecs/tas571x.c | 52 +
sound/soc/codecs/tlv320aic32x4.c | 53 +-
sound/soc/codecs/wcd-mbhc-v2.c | 2 -
sound/soc/codecs/wcd9335.c | 5 -
sound/soc/codecs/wcd934x.c | 4 -
sound/soc/codecs/wcd937x.c | 38 +-
sound/soc/codecs/wcd937x.h | 1 -
sound/soc/codecs/wcd938x.c | 64 +-
sound/soc/codecs/wcd939x.c | 69 +-
sound/soc/codecs/wm8524.c | 55 +-
sound/soc/codecs/wsa881x.c | 5 +-
sound/soc/codecs/wsa883x.c | 3 +-
sound/soc/codecs/wsa884x.c | 3 +-
sound/soc/dwc/Kconfig | 3 +
sound/soc/fsl/Kconfig | 2 +-
sound/soc/fsl/fsl-asoc-card.c | 13 +-
sound/soc/fsl/fsl_asrc.c | 2 +-
sound/soc/fsl/fsl_mqs.c | 11 +-
sound/soc/fsl/fsl_sai.c | 4 +-
sound/soc/fsl/imx-card.c | 13 +-
sound/soc/generic/Kconfig | 4 +
sound/soc/google/Kconfig | 3 +
sound/soc/hisilicon/Kconfig | 4 +
sound/soc/img/Kconfig | 14 +-
sound/soc/intel/Kconfig | 4 +
sound/soc/intel/atom/sst/sst_pvt.c | 1 -
sound/soc/intel/avs/board_selection.c | 27 +
sound/soc/intel/avs/boards/Kconfig | 12 +
sound/soc/intel/avs/boards/Makefile | 2 +
sound/soc/intel/avs/boards/rt5640.c | 270 ++++++
sound/soc/intel/avs/core.c | 1 -
sound/soc/intel/avs/debugfs.c | 2 -
sound/soc/intel/avs/ipc.c | 1 -
sound/soc/intel/avs/pcm.c | 1 -
sound/soc/intel/boards/cht_bsw_rt5672.c | 3 +-
sound/soc/intel/boards/skl_hda_dsp_generic.c | 13 +
sound/soc/intel/boards/sof_es8336.c | 10 +
sound/soc/intel/boards/sof_rt5682.c | 7 +
sound/soc/intel/boards/sof_sdw.c | 14 +
sound/soc/intel/catpt/pcm.c | 6 -
sound/soc/intel/catpt/sysfs.c | 1 -
sound/soc/intel/common/soc-acpi-intel-lnl-match.c | 34 +
sound/soc/intel/common/soc-acpi-intel-ptl-match.c | 57 ++
sound/soc/jz4740/Kconfig | 4 +
sound/soc/kirkwood/Kconfig | 3 +
sound/soc/loongson/Kconfig | 2 +-
sound/soc/mediatek/Kconfig | 4 +
.../soc/mediatek/common/mtk-afe-platform-driver.c | 4 +-
sound/soc/mediatek/common/mtk-base-afe.h | 1 +
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 66 +-
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 56 +-
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 7 +
sound/soc/mediatek/mt8188/mt8188-mt6359.c | 4 +-
sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 7 +
sound/soc/meson/Kconfig | 2 +-
sound/soc/meson/axg-card.c | 3 +-
sound/soc/meson/meson-card-utils.c | 16 +-
sound/soc/mxs/Kconfig | 2 +-
sound/soc/pxa/Kconfig | 4 +
sound/soc/qcom/Kconfig | 2 +-
sound/soc/qcom/lpass-platform.c | 27 +-
sound/soc/qcom/qdsp6/q6dsp-lpass-clocks.c | 8 +-
sound/soc/qcom/sc8280xp.c | 1 +
sound/soc/qcom/sm8250.c | 28 +-
sound/soc/renesas/Kconfig | 2 +-
sound/soc/renesas/rcar/core.c | 35 +-
sound/soc/renesas/rcar/ctu.c | 8 +-
sound/soc/renesas/rcar/dma.c | 4 +-
sound/soc/renesas/rcar/dvc.c | 8 +-
sound/soc/renesas/rcar/mix.c | 8 +-
sound/soc/renesas/rcar/msiof.c | 94 +-
sound/soc/renesas/rcar/src.c | 10 +-
sound/soc/renesas/rcar/ssi.c | 18 +-
sound/soc/renesas/rcar/ssiu.c | 7 +-
sound/soc/rockchip/Kconfig | 23 +-
sound/soc/rockchip/rockchip_sai.c | 52 +-
sound/soc/samsung/Kconfig | 2 +-
sound/soc/samsung/bells.c | 2 -
sound/soc/samsung/littlemill.c | 2 -
sound/soc/samsung/speyside.c | 2 -
sound/soc/samsung/tobermory.c | 2 -
sound/soc/sdca/Kconfig | 20 +
sound/soc/sdca/Makefile | 6 +-
sound/soc/sdca/sdca_asoc.c | 469 +++++++--
sound/soc/sdca/sdca_functions.c | 165 +++-
sound/soc/sdca/sdca_hid.c | 127 +++
sound/soc/sdca/sdca_interrupts.c | 444 +++++++++
sound/soc/sdw_utils/soc_sdw_cs_amp.c | 10 -
sound/soc/sdw_utils/soc_sdw_maxim.c | 9 -
sound/soc/sdw_utils/soc_sdw_rt_amp.c | 6 -
sound/soc/sdw_utils/soc_sdw_rt_mf_sdca.c | 7 -
sound/soc/sdw_utils/soc_sdw_utils.c | 38 +
sound/soc/soc-component.c | 1 -
sound/soc/soc-core.c | 25 +-
sound/soc/soc-dai.c | 16 +-
sound/soc/soc-dapm.c | 1018 +++++++++-----------
sound/soc/soc-ops-test.c | 29 +-
sound/soc/soc-ops.c | 26 +-
sound/soc/soc-topology.c | 7 +-
sound/soc/sof/Kconfig | 2 +-
sound/soc/sof/amd/pci-acp70.c | 1 +
sound/soc/sof/control.c | 1 -
sound/soc/sof/debug.c | 1 -
sound/soc/sof/imx/imx-common.c | 36 +-
sound/soc/sof/intel/hda-loader.c | 7 +-
sound/soc/sof/intel/hda.c | 5 +
sound/soc/sof/ipc3-dtrace.c | 1 -
sound/soc/sof/ipc4-loader.c | 7 +-
sound/soc/sof/ipc4-pcm.c | 137 ++-
sound/soc/sof/ipc4-priv.h | 6 +
sound/soc/sof/ipc4-topology.c | 94 +-
sound/soc/sof/ipc4-topology.h | 25 +
sound/soc/sof/ipc4.c | 39 +-
sound/soc/sof/mediatek/mt8186/mt8186.c | 11 +-
sound/soc/sof/mediatek/mt8195/mt8195.c | 11 +-
sound/soc/sof/pcm.c | 27 +-
sound/soc/sof/sof-client-ipc-flood-test.c | 1 -
sound/soc/sof/sof-client-ipc-kernel-injector.c | 1 -
sound/soc/sof/sof-client-ipc-msg-injector.c | 1 -
sound/soc/sof/sof-client-probes.c | 3 -
sound/soc/sof/topology.c | 15 +-
sound/soc/spear/Kconfig | 4 +
sound/soc/sprd/Kconfig | 4 +
sound/soc/starfive/Kconfig | 12 +-
sound/soc/sti/Kconfig | 2 +-
sound/soc/stm/Kconfig | 2 +-
sound/soc/stm/stm32_i2s.c | 21 +-
sound/soc/stm/stm32_sai_sub.c | 14 +-
sound/soc/sunxi/Kconfig | 2 +-
sound/soc/tegra/Kconfig | 4 +
sound/soc/tegra/tegra210_ahub.c | 2 +-
sound/soc/ti/Kconfig | 2 +-
sound/soc/uniphier/Kconfig | 14 +-
sound/soc/ux500/Kconfig | 2 +-
sound/soc/xilinx/Kconfig | 4 +
sound/soc/xtensa/Kconfig | 4 +
250 files changed, 4999 insertions(+), 2236 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/fsl,mxs-audio-sgtl5000.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/mtk-afe-pcm.txt
delete mode 100644 Documentation/devicetree/bindings/sound/mxs-audio-sgtl5000.txt
create mode 100644 include/sound/sdca_hid.h
create mode 100644 include/sound/sdca_interrupts.h
delete mode 100644 sound/soc/codecs/hdac_hdmi.h
create mode 100644 sound/soc/codecs/rtq9124.c
create mode 100644 sound/soc/intel/avs/boards/rt5640.c
create mode 100644 sound/soc/sdca/sdca_hid.c
create mode 100644 sound/soc/sdca/sdca_interrupts.c
2
1
The following changes since commit 347e9f5043c89695b01e66b3ed111755afcf1911:
Linux 6.16-rc6 (2025-07-13 14:25:58 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-v6.18
for you to fetch changes up to c58c35ef6ae62e36927f506a5afc66610b7261d9:
ASoC: qcom: sm8250: Add Fairphone 4 soundcard compatible (2025-07-23 15:09:30 +0100)
----------------------------------------------------------------
ASoC: Updates for v6.18
There's a few new drivers here and quite a lot of cleanup work from
Morimoto-san but generally this has been quite a quiet release,
resulting in a fairly small diffstat. Highlights include:
- Refactoring of the Kconfig menus to be hopefully more consistant and
easier to navigate.
- Refactoring of the DAPM code, mainly hiding functionality that
doesn't need to be exposed to drivers.
- Removal of the unused upstream weak paths DAPM functionality.
- Further work on the generic handling for SoundWire SDCA devices.
- Cleanups of our usage of the PM autosuspend functions, this pulls in
some PM core changes on a shared tag.
- Support for AMD ACP7.2 and SoundWire on ACP 7.1, Fairphone 4 & 5,
various Intel systems, Qualcomm QCS8275, Richtek RTQ9124 and TI TAS5753.
----------------------------------------------------------------
Ai Chao (3):
ASoC: renesas: Use helper function for_each_child_of_node_scoped()
ASoC: meson: Use helper function for_each_child_of_node_scoped()
ASoC: imx-card: Use helper function for_each_child_of_node_scoped()
Alexander Stein (1):
ASoC: codec: tlv320aic32x4: Fix reset GPIO check
Arnd Bergmann (2):
ASoC: ops: dynamically allocate struct snd_ctl_elem_value
ASoC: SDCA: fix HID dependency
Balamurugan C (3):
ASoC: Intel: soc-acpi: Add entry for sof_es8336 in PTL match table.
ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support in PTL match table
ASoC: Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for PTL.
Bard Liao (2):
ASoC: sdw_utils: add component_name string to dai_info
ASoC: sdw_utils: generate combined spk components string
Bram Vlerick (2):
ASoC: tas571x: add support for tas5753
ASoC: dt-bindings: tas57xx: add tas5753 compatibility
Brian Masney (6):
ASoC: codecs: da7219: convert from round_rate() to determine_rate()
ASoC: codecs: rt5682: convert from round_rate() to determine_rate()
ASoC: codecs: rt5682s: convert from round_rate() to determine_rate()
ASoC: qcom: qdsp6: q6dsp-lpass-clocks: convert from round_rate() to determine_rate()
ASoC: stm: stm32_i2s: convert from round_rate() to determine_rate()
ASoC: stm: stm32_sai_sub: convert from round_rate() to determine_rate()
Cezary Rojewski (2):
ASoC: codecs: rt5640: Drop dummy register names
ASoC: Intel: avs: Add rt5640 machine board
Charles Keepax (21):
HID: core: Add bus define for SoundWire bus
MAINTAINERS: Add SDCA maintainers entry
ASoC: SDCA: Add missing default in switch in entity_pde_event()
ASoC: SDCA: Fixup some kernel doc errors
ASoC: SDCA: Minor selected/detected mode control fixups
ASoC: SDCA: Add flag for unused IRQs
ASoC: SDCA: Add some initial IRQ handlers
ASoC: SDCA: Kconfig/Makefile fixups
ASoC: SDCA: Pull HID and IRQ into the primary SDCA module
ASoC: SDCA: Fix off by one error in IRQ bound check
ASoC: SDCA: Avoid use of uninitialised local name variable
ASoC: SDCA: Update memory allocations to zero initialise
ASoC: SDCA: Allow read-only controls to be deferrable
ASoC: SDCA: Remove overly chatty input pin list warning
ASoC: SDCA: Move SDCA search functions and export
ASoC: soc-dai: Add private data to snd_soc_dai
ASoC: SDCA: Add helper to add DAI constraints
ASoC: SDCA: Add a helper to get the SoundWire port number
ASoC: SDCA: Add hw_params() helper function
ASoC: SDCA: Shrink detected_mode_handler() stack frame
ASoC: SDCA: Fix implicit cast from le16
Chen Ni (1):
ASoC: tegra: AHUB: Remove unneeded semicolon
Chen-Yu Tsai (9):
ASoC: dt-bindings: Convert MT8173 AFE binding to dt-schema
ASoC: dt-bindings: mt8173-afe-pcm: Add power domain
ASoC: dt-bindings: mt8173-afe-pcm: Allow specifying reserved memory region
ASoC: dt-bindings: mt8186-afe-pcm: Allow specifying reserved memory region
ASoC: dt-bindings: mt8192-afe-pcm: Allow specifying reserved memory region
ASoC: mediatek: use reserved memory or enable buffer pre-allocation
ASoC: mediatek: mt8183-afe-pcm: Support >32 bit DMA addresses
ASoC: mediatek: mt8173-afe-pcm: use local `dev` pointer in driver callbacks
ASoC: mediatek: mt8183-afe-pcm: use local `dev` pointer in driver callbacks
ChiYuan Huang (2):
ASoC: dt-bindings: rt9123: Append RTQ9124 description
ASoC: codecs: Add support for Richtek RTQ9124
Frank Li (1):
ASoC: dt-bindings: covert mxs-audio-sgtl5000.txt to yaml format
Geert Uytterhoeven (2):
ASoC: renesas: msiof: Convert to <linux/spi/sh_msiof.h>
ASoC: img: Imagination Technologies sound should depend on MIPS
Jyri Sarha (3):
ASoC: SOF: ipc4: Add sof_ipc4_pipeline_state_str() for debugging
ASoC: SOF: ipc4-pcm: Pipe instances to dev_dbg in multi_pipeline_state()
ASoC: SOF: ipc4-pcm: Harmonize sof_ipc4_set_pipeline_state() dbg print
Krzysztof Kozlowski (20):
ASoC: codecs: Constify regmap configuration static variables
ASoC: fsl: Constify reg_default array
ASoC: codecs: wcd9335: Drop unused sido_input_src field
ASoC: codecs: wcd934x: Drop unused num_rx_port/num_tx_port fields
ASoC: codecs: wcd937x: Drop unused 'struct wcd937x_priv' fields
ASoC: codecs: wcd938x: Drop unused 'struct wcd938x_priv' fields
ASoC: codecs: wcd938x: Drop unused variant field
ASoC: codecs: wcd939x: Drop unused 'struct wcd939x_priv' fields
ASoC: codecs: wcd937x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd938x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd939x: Simplify with devm_regulator_bulk_get_enable()
ASoC: codecs: wcd939x: Simplify return from devm_gpiod_get() error
ASoC: dt-bindings: qcom,wcd939x: Document missing VDD_PX supply
ASoC: codecs: wcd939x: Add VDD_PX supply
ASoC: codecs: lpass: Drop unused AIF_INVALID first DAI identifier
ASoC: codecs: wcd937x: Use simple defines for chipid register value
ASoC: codecs: wcd938x: Use simple defines for chipid register value
ASoC: codecs: wcd939x: Use simple defines for chipid register value
ASoC: codecs: wcd939x: Add defines for major/minor version decoding
ASoC: dt-bindings: qcom,lpass-va-macro: Define clock-names in top-level
Kuninori Morimoto (62):
ASoC: soc-core: save ID if param was set in fmt_single_name()
ASoC: remove component->id
ASoC: hdac_hdmi: remove hdac_hdmi_jack[_port]_init()
ASoC: soc-dai: tidyup return value of snd_soc_xlate_tdm_slot_mask()
ASoC: soc-ops-test: dynamically allocate struct snd_ctl_elem_value
ASoC: ti: Standardize ASoC menu
ASoC: adi: Standardize ASoC menu
ASoC: amd: Standardize ASoC menu
ASoC: bcm: Standardize ASoC menu
ASoC: dwc: Standardize ASoC menu
ASoC: fsl: Standardize ASoC menu
ASoC: img: Standardize ASoC menu
ASoC: mxs: Standardize ASoC menu
ASoC: pxa: Standardize ASoC menu
ASoC: sti: Standardize ASoC menu
ASoC: stm: Standardize ASoC menu
ASoC: sof: Standardize ASoC menu
ASoC: au1x: Standardize ASoC menu
ASoC: sdca: Standardize ASoC menu
ASoC: sprd: Standardize ASoC menu
ASoC: qcom: Standardize ASoC menu
ASoC: meson: Standardize ASoC menu
ASoC: apple: Standardize ASoC menu
ASoC: atmel: Standardize ASoC menu
ASoC: intel: Standardize ASoC menu
ASoC: spear: Standardize ASoC menu
ASoC: sunxi: Standardize ASoC menu
ASoC: tegra: Standardize ASoC menu
ASoC: ux500: Standardize ASoC menu
ASoC: cirrus: Standardize ASoC menu
ASoC: google: Standardize ASoC menu
ASoC: jz4740: Standardize ASoC menu
ASoC: xilinx: Standardize ASoC menu
ASoC: xtensa: Standardize ASoC menu
ASoC: renesas: Standardize ASoC menu
ASoC: generic: Standardize ASoC menu
ASoC: samsung: Standardize ASoC menu
ASoC: kirkwood: Standardize ASoC menu
ASoC: loongson: Standardize ASoC menu
ASoC: mediatek: Standardize ASoC menu
ASoC: rockchip: Standardize ASoC menu
ASoC: starfive: Standardize ASoC menu
ASoC: uniphier: Standardize ASoC menu
ASoC: hisilicon: Standardize ASoC menu
ASoC: soc-dapm: remove unnecessary definition
ASoC: soc-dapm: remove EXPORT_SYMBOL_GPL() for snd_soc_dapm_free()
ASoC: soc-dapm: remove snd_soc_dapm_nc_pin[_unlocked]()
ASoC: soc-dapm: remove snd_soc_dapm_weak_routes()
ASoC: soc-dapm: reordering function definitions
ASoC: soc-dapm: reordering header definitions
ASoC: soc-dapm: use component instead of cmpnt
ASoC: soc-dapm: use common name for dapm
ASoC: soc-dapm: add prefix on dapm_mark_endpoints_dirty()
ASoC: soc-dapm: add prefix on dapm_xxx_event()
ASoC: soc-dapm: add prefix on soc_dapm_dev_attrs
ASoC: rt700: don't set dapm->bias_level
ASoC: rt715: don't set dapm->bias_level
ASoC: soc-dapm: set bias_level if snd_soc_dapm_set_bias_level() was successed
ASoC: samsung: bell: don't set dapm->bias_level directly
ASoC: samsung: speyside: don't set dapm->bias_level directly
ASoC: samsung: tobermory: don't set dapm->bias_level directly
ASoC: samsung: littlemill: don't set dapm->bias_level directly
Laurentiu Mihalcea (1):
ASoC: dt-bindings: cirrus,cs42xx8: add 'port' property
Luca Weiss (6):
ASoC: qcom: sm8250: set card driver name from match data
ASoC: qcom: sm8250: add DisplayPort Jack support
ASoC: qcom: sm8250: Add Fairphone 5 soundcard compatible
ASoC: dt-bindings: qcom,q6afe: Document q6usb subnode
ASoC: dt-bindings: qcom,sm8250: Add Fairphone 4 sound card
ASoC: qcom: sm8250: Add Fairphone 4 soundcard compatible
Mac Chiang (2):
ASoC: Intel: soc-acpi-intel-ptl-match: add support ptl-rt721-l0
ASoC: Intel: soc-acpi-intel-lnl-match: add rt1320_l12_rt714_l0 support
Maciej Strozek (1):
ASoC: SDCA: Generic interrupt support
Mark Brown (30):
ASoC: codecs: wcd93xx: Few simplifications of code and
ASoC: Intel: avs: Add rt5640 board support
Use helper function for_each_child_of_node_scoped()
ASoC: tas571x: add support for tas5753
ASoC: remove component->id
Cleanup in rockchip_sai.c
ASoC: Add Richtek RTQ9124 support
Add DisplayPort sound support for Fairphone 5
ASoC: codecs: More const and unused member cleanups
ASoC: mediatek: use reserved memory or enable
ASoC: core/topology/Intel:
ASoC: SOF: ipc4/Intel: Support for partial context
ASoC: SOF: ipc4-pcm: Harmonize set pipeline state dbg
ASoC: hdac_hdmi: Rate limit logging on connection and disconnection
ASoC: codecs: wcd93xx: Drop enums for chipid values
Add SoundWire machines for ACP7.0/ACP7.1 sof stack
ASoC: Standardize ASoC menu
ASoC: sdw_utils: generate combined spk components
ASoC: Add SDCA IRQ support and some misc fixups
Add sound card support for QCS8275
treewide: Remove redundant
ASoC: soc-dapm: cleanups
ASoC: Intel: add support for new devices
ASoC: don't set dapm->bias_level directly
ASoC: set bias_level at if
Update SDCA Kconfig
ASoC: codec: Convert to GPIO descriptors for
ASoC: convert from clk round_rate() to
SDCA Bug Fixes
Add SDCA DAI ops helpers
Pei Xiao (2):
ASOC: rockchip: fix capture stream handling in rockchip_sai_xfer_stop
ASOC: rockchip: Use helper function devm_clk_get_enabled()
Peng Fan (4):
ASoC: codec: rockchip_sai: Remove including of_gpio.h
ASoC: codec: tlv320aic32x4: Drop aic32x4_pdata usage
ASoC: codec: tlv320aic32x4: Sort headers alphabetically
ASoC: codec: tlv320aic32x4: Convert to GPIO descriptors
Peter Ujfalusi (13):
ASoC: topology: Do not call snd_soc_remove_pcm_runtime() for ignored links
ASoC: core: Check for rtd == NULL in snd_soc_remove_pcm_runtime()
ASoC: Intel: skl_hda_dsp_generic: Implement add_dai_link to filter HDMI PCMs
ASoC: Intel: sof_sdw: Implement add_dai_link to filter HDMI PCMs
ASoC: SOF: ipc4-priv: Add kernel doc for fw_context_save of sof_ipc4_fw_data
ASoC: SOF: ipc4/Intel: Add support for library restore firmware functionality
ASoC: SOF: ipc4-pcm: Look for best matching hw_config for SSP
ASoC: SOF: pcm: Remove local create_page_table() wrapper function
ASoC: SOF: topology: Parse the dapm_widget_tokens in case of DSPless mode
ASoC: SOF: pcm: Reverse check for prepared stream in sof_pcm_hw_params()
ASoC: SOF: Intel: hda: Do not probe Soundwire in nocodec mode
ASoC: SOF: ipc4-pcm: Enable delay reporting for ChainDMA streams
ASoC: sdw_utils: Add missed component_name strings for speaker amps
Prasad Kumpatla (2):
ASoC: dt-bindings: qcom,sm8250: Add QCS8275 sound card
ASoC: qcom: sc8280xp: Add support for QCS8275
Richard Fitzgerald (1):
firmware: cs_dsp: Remove unused struct list_head from cs_dsp_coeff_ctl
Rob Herring (Arm) (1):
ASoC: Use of_reserved_mem_region_to_resource() for "memory-region"
Sachin Mokashi (1):
ASoC: Intel: Replace deprecated strcpy() with strscpy()
Sakari Ailus (11):
PM: runtime: Document return values of suspend-related API functions
PM: runtime: Mark last busy stamp in pm_runtime_put_autosuspend()
PM: runtime: Mark last busy stamp in pm_runtime_put_sync_autosuspend()
PM: runtime: Mark last busy stamp in pm_runtime_autosuspend()
PM: runtime: Mark last busy stamp in pm_request_autosuspend()
Documentation: PM: *_autosuspend() functions update last busy time
ASoC: atmel: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: codecs: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: Intel: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: component: Remove redundant pm_runtime_mark_last_busy() calls
ASoC: SOF: Remove redundant pm_runtime_mark_last_busy() calls
Seppo Ingalsuo (1):
ASoC: SOF: ipc4-topology: Add load of ASRC component
Shenghao Ding (2):
ASoC: tas2781: Drop the unnecessary symbol imply
ASoC: tas2781: Move the "include linux/debugfs.h" into tas2781.h
Shengjiu Wang (4):
ASoC: wm8524: enable constraints when sysclk is configured.
ASoC: fsl_mqs: Distinguish different modules by system manager indices
ASoC: fsl_mqs: rename system manager indices for i.MX95
ASoC: fsl-asoc-card: add sysclk_ratio for calculate sysclk frequency
Shuming Fan (3):
ASoC: SDCA: add support for HIDE entity properties and HID descriptor/report
ASoC: SDCA: add a HID device for HIDE entity
ASoC: SDCA: add route by the number of input pins in MU entity
Srinivas Kandagatla (1):
ASoC: qcom: use drvdata instead of component to keep id
Stephen Rothwell (1):
ASoC: SDCA: Check devm_mutex_init() return value
Terry Cheong (1):
ASoC: hdmi-codec: use SND_JACK_AVOUT as jack status
Venkata Prasad Potturu (4):
ASoC: amd: acp: Fix pointer assignments for snd_soc_acpi_mach structures
ASoC: amd: acp: Add legacy driver support acp7.2 based platforms
ASoC: amd: acp: Enable I2S support for acp7.2 based platforms
ASoC: amd: acp: Enable acp7.2 platform based DMIC support in machine driver
Vijendar Mukunda (2):
ASoC: amd: acp: add soundwire machine for ACP7.0 and ACP7.1 sof stack
ASoC: SOF: amd: add alternate machines for ACP7.0 and ACP7.1 platforms
Weidong Wang (1):
ASoC: codecs: Add calibration function to aw88399 chip
Xinxin Wan (1):
ASoC: codecs: rt5640: Retry DEVICE_ID verification
.../devicetree/bindings/sound/cirrus,cs42xx8.yaml | 4 +
.../bindings/sound/fsl,mxs-audio-sgtl5000.yaml | 81 ++
.../bindings/sound/mediatek,mt8173-afe-pcm.yaml | 98 ++
.../devicetree/bindings/sound/mt8186-afe-pcm.yaml | 5 +
.../devicetree/bindings/sound/mt8192-afe-pcm.yaml | 5 +
.../devicetree/bindings/sound/mtk-afe-pcm.txt | 45 -
.../bindings/sound/mxs-audio-sgtl5000.txt | 42 -
.../bindings/sound/qcom,lpass-va-macro.yaml | 28 +-
.../devicetree/bindings/sound/qcom,q6afe.yaml | 13 +
.../devicetree/bindings/sound/qcom,sm8250.yaml | 2 +
.../devicetree/bindings/sound/qcom,wcd939x.yaml | 3 +
.../devicetree/bindings/sound/richtek,rt9123.yaml | 9 +-
.../devicetree/bindings/sound/ti,tas57xx.yaml | 2 +
Documentation/power/runtime_pm.rst | 50 +-
MAINTAINERS | 11 +
arch/mips/configs/generic/board-marduk.config | 1 -
drivers/firmware/cirrus/cs_dsp.c | 45 +-
drivers/hid/hid-core.c | 3 +
include/linux/firmware/cirrus/cs_dsp.h | 2 -
include/linux/firmware/imx/sm.h | 20 +-
include/linux/pm_runtime.h | 187 +++-
include/sound/sdca_asoc.h | 19 +
include/sound/sdca_function.h | 71 ++
include/sound/sdca_hid.h | 25 +
include/sound/sdca_interrupts.h | 78 ++
include/sound/soc-component.h | 1 -
include/sound/soc-dai.h | 3 +
include/sound/soc-dapm.h | 236 +++--
include/sound/soc_sdw_utils.h | 1 +
include/sound/sof/ipc4/header.h | 2 +
include/sound/tas2781.h | 4 +
include/sound/tlv320aic32x4.h | 9 -
include/uapi/linux/input.h | 1 +
sound/soc/Kconfig | 8 +-
sound/soc/adi/Kconfig | 9 +-
sound/soc/amd/Kconfig | 3 +
sound/soc/amd/acp/Kconfig | 1 +
sound/soc/amd/acp/acp-i2s.c | 3 +
sound/soc/amd/acp/acp-legacy-common.c | 2 +
sound/soc/amd/acp/acp-mach-common.c | 1 +
sound/soc/amd/acp/acp-pci.c | 9 +-
sound/soc/amd/acp/acp-platform.c | 2 +
sound/soc/amd/acp/acp70.c | 1 +
sound/soc/amd/acp/acp_common.h | 1 +
sound/soc/amd/acp/amd-acp70-acpi-match.c | 12 +
sound/soc/amd/acp/amd-acpi-mach.c | 4 +-
sound/soc/amd/acp/amd.h | 8 +-
sound/soc/amd/mach-config.h | 1 +
sound/soc/apple/Kconfig | 4 +
sound/soc/atmel/Kconfig | 11 +-
sound/soc/atmel/mchp-spdifrx.c | 6 -
sound/soc/au1x/Kconfig | 4 +
sound/soc/bcm/Kconfig | 4 +
sound/soc/cirrus/Kconfig | 3 +
sound/soc/codecs/Kconfig | 12 +-
sound/soc/codecs/Makefile | 4 +-
sound/soc/codecs/arizona-jack.c | 2 -
sound/soc/codecs/aw88395/aw88395_device.h | 21 +
sound/soc/codecs/aw88399.c | 440 ++++++++-
sound/soc/codecs/aw88399.h | 34 +
sound/soc/codecs/cros_ec_codec.c | 30 +-
sound/soc/codecs/cs35l36.c | 2 +-
sound/soc/codecs/cs35l41.c | 2 -
sound/soc/codecs/cs35l45.c | 1 -
sound/soc/codecs/cs35l56-sdw.c | 1 -
sound/soc/codecs/cs35l56.c | 1 -
sound/soc/codecs/cs42l42.c | 1 -
sound/soc/codecs/cs42l43-jack.c | 5 -
sound/soc/codecs/cs42l43.c | 2 -
sound/soc/codecs/cs48l32.c | 1 -
sound/soc/codecs/da7218.c | 2 +-
sound/soc/codecs/da7219.c | 68 +-
sound/soc/codecs/es8375.c | 2 +-
sound/soc/codecs/hda.c | 3 -
sound/soc/codecs/hdac_hdmi.c | 307 +-----
sound/soc/codecs/hdac_hdmi.h | 10 -
sound/soc/codecs/hdmi-codec.c | 6 +-
sound/soc/codecs/lpass-rx-macro.c | 1 -
sound/soc/codecs/lpass-tx-macro.c | 1 -
sound/soc/codecs/lpass-va-macro.c | 1 -
sound/soc/codecs/lpass-wsa-macro.c | 1 -
sound/soc/codecs/max98363.c | 3 +-
sound/soc/codecs/max98373-i2c.c | 2 +-
sound/soc/codecs/max98373-sdw.c | 3 +-
sound/soc/codecs/max98388.c | 2 +-
sound/soc/codecs/max98390.c | 2 +-
sound/soc/codecs/max98396.c | 4 +-
sound/soc/codecs/max98504.c | 2 +-
sound/soc/codecs/max98520.c | 2 +-
sound/soc/codecs/max98927.c | 2 +-
sound/soc/codecs/rt1017-sdca-sdw.c | 1 -
sound/soc/codecs/rt1308-sdw.c | 1 -
sound/soc/codecs/rt1316-sdw.c | 1 -
sound/soc/codecs/rt1318-sdw.c | 1 -
sound/soc/codecs/rt1320-sdw.c | 1 -
sound/soc/codecs/rt5640.c | 43 +-
sound/soc/codecs/rt5640.h | 6 +-
sound/soc/codecs/rt5682-sdw.c | 1 -
sound/soc/codecs/rt5682.c | 26 +-
sound/soc/codecs/rt5682s.c | 26 +-
sound/soc/codecs/rt700.c | 4 +-
sound/soc/codecs/rt711-sdca.c | 2 -
sound/soc/codecs/rt711.c | 2 -
sound/soc/codecs/rt712-sdca-dmic.c | 1 -
sound/soc/codecs/rt712-sdca.c | 2 -
sound/soc/codecs/rt715-sdca.c | 1 -
sound/soc/codecs/rt715.c | 3 +-
sound/soc/codecs/rt721-sdca.c | 2 -
sound/soc/codecs/rt722-sdca-sdw.c | 2 +-
sound/soc/codecs/rt722-sdca.c | 2 -
sound/soc/codecs/rt9123.c | 3 -
sound/soc/codecs/rtq9124.c | 543 +++++++++++
sound/soc/codecs/tas2552.c | 1 -
sound/soc/codecs/tas2781-i2c.c | 3 -
sound/soc/codecs/tas571x.c | 52 +
sound/soc/codecs/tlv320aic32x4.c | 53 +-
sound/soc/codecs/wcd-mbhc-v2.c | 2 -
sound/soc/codecs/wcd9335.c | 5 -
sound/soc/codecs/wcd934x.c | 4 -
sound/soc/codecs/wcd937x.c | 38 +-
sound/soc/codecs/wcd937x.h | 1 -
sound/soc/codecs/wcd938x.c | 64 +-
sound/soc/codecs/wcd939x.c | 69 +-
sound/soc/codecs/wm8524.c | 55 +-
sound/soc/codecs/wsa881x.c | 5 +-
sound/soc/codecs/wsa883x.c | 3 +-
sound/soc/codecs/wsa884x.c | 3 +-
sound/soc/dwc/Kconfig | 3 +
sound/soc/fsl/Kconfig | 2 +-
sound/soc/fsl/fsl-asoc-card.c | 13 +-
sound/soc/fsl/fsl_asrc.c | 2 +-
sound/soc/fsl/fsl_mqs.c | 11 +-
sound/soc/fsl/fsl_sai.c | 4 +-
sound/soc/fsl/imx-card.c | 13 +-
sound/soc/generic/Kconfig | 4 +
sound/soc/google/Kconfig | 3 +
sound/soc/hisilicon/Kconfig | 4 +
sound/soc/img/Kconfig | 14 +-
sound/soc/intel/Kconfig | 4 +
sound/soc/intel/atom/sst/sst_pvt.c | 1 -
sound/soc/intel/avs/board_selection.c | 27 +
sound/soc/intel/avs/boards/Kconfig | 12 +
sound/soc/intel/avs/boards/Makefile | 2 +
sound/soc/intel/avs/boards/rt5640.c | 270 ++++++
sound/soc/intel/avs/core.c | 1 -
sound/soc/intel/avs/debugfs.c | 2 -
sound/soc/intel/avs/ipc.c | 1 -
sound/soc/intel/avs/pcm.c | 1 -
sound/soc/intel/boards/cht_bsw_rt5672.c | 3 +-
sound/soc/intel/boards/skl_hda_dsp_generic.c | 13 +
sound/soc/intel/boards/sof_es8336.c | 10 +
sound/soc/intel/boards/sof_rt5682.c | 7 +
sound/soc/intel/boards/sof_sdw.c | 14 +
sound/soc/intel/catpt/pcm.c | 6 -
sound/soc/intel/catpt/sysfs.c | 1 -
sound/soc/intel/common/soc-acpi-intel-lnl-match.c | 34 +
sound/soc/intel/common/soc-acpi-intel-ptl-match.c | 57 ++
sound/soc/jz4740/Kconfig | 4 +
sound/soc/kirkwood/Kconfig | 3 +
sound/soc/loongson/Kconfig | 2 +-
sound/soc/mediatek/Kconfig | 4 +
.../soc/mediatek/common/mtk-afe-platform-driver.c | 4 +-
sound/soc/mediatek/common/mtk-base-afe.h | 1 +
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 66 +-
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 56 +-
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 7 +
sound/soc/mediatek/mt8188/mt8188-mt6359.c | 4 +-
sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 7 +
sound/soc/meson/Kconfig | 2 +-
sound/soc/meson/axg-card.c | 3 +-
sound/soc/meson/meson-card-utils.c | 16 +-
sound/soc/mxs/Kconfig | 2 +-
sound/soc/pxa/Kconfig | 4 +
sound/soc/qcom/Kconfig | 2 +-
sound/soc/qcom/lpass-platform.c | 27 +-
sound/soc/qcom/qdsp6/q6dsp-lpass-clocks.c | 8 +-
sound/soc/qcom/sc8280xp.c | 1 +
sound/soc/qcom/sm8250.c | 28 +-
sound/soc/renesas/Kconfig | 2 +-
sound/soc/renesas/rcar/core.c | 35 +-
sound/soc/renesas/rcar/ctu.c | 8 +-
sound/soc/renesas/rcar/dma.c | 4 +-
sound/soc/renesas/rcar/dvc.c | 8 +-
sound/soc/renesas/rcar/mix.c | 8 +-
sound/soc/renesas/rcar/msiof.c | 94 +-
sound/soc/renesas/rcar/src.c | 10 +-
sound/soc/renesas/rcar/ssi.c | 18 +-
sound/soc/renesas/rcar/ssiu.c | 7 +-
sound/soc/rockchip/Kconfig | 23 +-
sound/soc/rockchip/rockchip_sai.c | 52 +-
sound/soc/samsung/Kconfig | 2 +-
sound/soc/samsung/bells.c | 2 -
sound/soc/samsung/littlemill.c | 2 -
sound/soc/samsung/speyside.c | 2 -
sound/soc/samsung/tobermory.c | 2 -
sound/soc/sdca/Kconfig | 20 +
sound/soc/sdca/Makefile | 6 +-
sound/soc/sdca/sdca_asoc.c | 469 +++++++--
sound/soc/sdca/sdca_functions.c | 165 +++-
sound/soc/sdca/sdca_hid.c | 127 +++
sound/soc/sdca/sdca_interrupts.c | 444 +++++++++
sound/soc/sdw_utils/soc_sdw_cs_amp.c | 10 -
sound/soc/sdw_utils/soc_sdw_maxim.c | 9 -
sound/soc/sdw_utils/soc_sdw_rt_amp.c | 6 -
sound/soc/sdw_utils/soc_sdw_rt_mf_sdca.c | 7 -
sound/soc/sdw_utils/soc_sdw_utils.c | 38 +
sound/soc/soc-component.c | 1 -
sound/soc/soc-core.c | 25 +-
sound/soc/soc-dai.c | 16 +-
sound/soc/soc-dapm.c | 1018 +++++++++-----------
sound/soc/soc-ops-test.c | 29 +-
sound/soc/soc-ops.c | 26 +-
sound/soc/soc-topology.c | 7 +-
sound/soc/sof/Kconfig | 2 +-
sound/soc/sof/amd/pci-acp70.c | 1 +
sound/soc/sof/control.c | 1 -
sound/soc/sof/debug.c | 1 -
sound/soc/sof/imx/imx-common.c | 36 +-
sound/soc/sof/intel/hda-loader.c | 7 +-
sound/soc/sof/intel/hda.c | 5 +
sound/soc/sof/ipc3-dtrace.c | 1 -
sound/soc/sof/ipc4-loader.c | 7 +-
sound/soc/sof/ipc4-pcm.c | 137 ++-
sound/soc/sof/ipc4-priv.h | 6 +
sound/soc/sof/ipc4-topology.c | 94 +-
sound/soc/sof/ipc4-topology.h | 25 +
sound/soc/sof/ipc4.c | 39 +-
sound/soc/sof/mediatek/mt8186/mt8186.c | 11 +-
sound/soc/sof/mediatek/mt8195/mt8195.c | 11 +-
sound/soc/sof/pcm.c | 27 +-
sound/soc/sof/sof-client-ipc-flood-test.c | 1 -
sound/soc/sof/sof-client-ipc-kernel-injector.c | 1 -
sound/soc/sof/sof-client-ipc-msg-injector.c | 1 -
sound/soc/sof/sof-client-probes.c | 3 -
sound/soc/sof/topology.c | 15 +-
sound/soc/spear/Kconfig | 4 +
sound/soc/sprd/Kconfig | 4 +
sound/soc/starfive/Kconfig | 12 +-
sound/soc/sti/Kconfig | 2 +-
sound/soc/stm/Kconfig | 2 +-
sound/soc/stm/stm32_i2s.c | 21 +-
sound/soc/stm/stm32_sai_sub.c | 14 +-
sound/soc/sunxi/Kconfig | 2 +-
sound/soc/tegra/Kconfig | 4 +
sound/soc/tegra/tegra210_ahub.c | 2 +-
sound/soc/ti/Kconfig | 2 +-
sound/soc/uniphier/Kconfig | 14 +-
sound/soc/ux500/Kconfig | 2 +-
sound/soc/xilinx/Kconfig | 4 +
sound/soc/xtensa/Kconfig | 4 +
250 files changed, 4999 insertions(+), 2236 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/fsl,mxs-audio-sgtl5000.yaml
create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml
delete mode 100644 Documentation/devicetree/bindings/sound/mtk-afe-pcm.txt
delete mode 100644 Documentation/devicetree/bindings/sound/mxs-audio-sgtl5000.txt
create mode 100644 include/sound/sdca_hid.h
create mode 100644 include/sound/sdca_interrupts.h
delete mode 100644 sound/soc/codecs/hdac_hdmi.h
create mode 100644 sound/soc/codecs/rtq9124.c
create mode 100644 sound/soc/intel/avs/boards/rt5640.c
create mode 100644 sound/soc/sdca/sdca_hid.c
create mode 100644 sound/soc/sdca/sdca_interrupts.c
2
1