| #
8d78e4f9 |
| 17-Sep-2026 |
Arnd Bergmann <arnd@arndb.de> |
ASoC: rt766: fix HID dependency for SND_SOC_SDCA_HID
Selecting SND_SOC_SDCA_HID only works if HID is enabled:
WARNING: unmet direct dependencies detected for SND_SOC_SDCA_HID Depends on [n]: SOUN
ASoC: rt766: fix HID dependency for SND_SOC_SDCA_HID
Selecting SND_SOC_SDCA_HID only works if HID is enabled:
WARNING: unmet direct dependencies detected for SND_SOC_SDCA_HID Depends on [n]: SOUND [=y] && SND [=y] && SND_SOC [=y] && SND_SOC_SDCA [=y] && (HID [=n]=y [=y] || HID [=n]=SND_SOC_SDCA [=y]) Selected by [y]: - SND_SOC_RT766_SDCA_SDW [=y] && SOUND [=y] && SND [=y] && SND_SOC [=y] && SOUNDWIRE [=y] && SND_SOC_SDCA [=y]
Change the dependency to require SND_SOC_SDCA_CLASS instead, which solves the problem without extra selects.
Fixes: b50ecf5873df ("ASoC: rt766: add RT766/RT767 SDCA driver") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://patch.msgid.link/20260917135950.405423-1-arnd@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
0030f626 |
| 14-Sep-2026 |
Alvin Šipraga <alvin.sipraga@analog.com> |
ASoC: adau1977: make the Kconfig symbols user selectable
SND_SOC_ADAU1977_{SPI,I2C} are missing Kconfig text, so they don't show up in menuconfig and can't be selected by a user - only by another sy
ASoC: adau1977: make the Kconfig symbols user selectable
SND_SOC_ADAU1977_{SPI,I2C} are missing Kconfig text, so they don't show up in menuconfig and can't be selected by a user - only by another symbol such as a machine driver. Add the text to make these symbols selectable and usable with generic machine drivers like the simple audio card.
Signed-off-by: Alvin Šipraga <alvin.sipraga@analog.com> Reviewed-by: Nuno Sá <nuno.sa@analog.com> Link: https://patch.msgid.link/20260914-asoc-adau1977-fixes-v1-1-aa2f0cabd728@analog.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
b2b82ce1 |
| 18-Aug-2026 |
Takashi Iwai <tiwai@suse.de> |
Merge tag 'asoc-v7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v7.3
A very busy release, a combination of a lot of new device work and more
Merge tag 'asoc-v7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v7.3
A very busy release, a combination of a lot of new device work and more people than usual doing various subsystem wide improvements in the code. The main subsystem level change is the work Morimoto-san has been doing to get automatic DAI format selection more widely deployed, and even that is largely changes in the drivers to enable use of the feature rather than framework work.
- Conversions of a lot of drivers to use the automatic DAI format selection code from Morimoto-san. - Many fixes and code improvements from bui duc phuc and Morimoto-san. - Fixes for ordering problems in register default tables from Peter Ujfalusi. - Changes to use auto-cleanup for firmware to improve robustness from Takashi Iwai. - Support for firmware on more Awinc devices. - Many changes in the Qualcomm driver stack, mostly around new platform support. - Support for AMD ACP7.B/F, Cirrus Logic CS35L62, Loongson 2K0300, Meson GX formatter and interface, Qualcomm LPI MI2S, SM8475 and WSA855 and Realtek RT1321 VA1/2 and RT766/7.
show more ...
|
| #
692719a9 |
| 17-Aug-2026 |
Takashi Iwai <tiwai@suse.de> |
Merge branch 'for-next' into for-linus
|
| #
ac47e22f |
| 14-Aug-2026 |
Mark Brown <broonie@kernel.org> |
ASoC: cs35l56: Switch to using the IRQ from the SoundWire core
Richard Fitzgerald <rf@opensource.cirrus.com> says:
At the time the cs35l56 driver was written the only way to get interrupts from the
ASoC: cs35l56: Switch to using the IRQ from the SoundWire core
Richard Fitzgerald <rf@opensource.cirrus.com> says:
At the time the cs35l56 driver was written the only way to get interrupts from the SoundWire core was to implement a custom handler inside the interrupt_callback() function.
The SoundWire core now provides a virtual IRQ for notifying ImpDef interrupts, and switching to this simplifies the code and also makes it more similar to the normal interrupt handling of I2C/SPI (though some SoundWire specials are still needed).
Patches #1 and #2 do some preparatory code shuffling so that there is less clutter in patch #4.
Patch #3 changes the SoundWire core code to create the virtual ImpDef IRQ before calling the codec drive probe() so that the IRQ can be requested in probe().
Link: https://patch.msgid.link/20260810104045.60701-1-rf@opensource.cirrus.com
show more ...
|
| #
243ca1fb |
| 10-Aug-2026 |
Richard Fitzgerald <rf@opensource.cirrus.com> |
ASoC: cs35l56: Use IRQ provided by the SoundWire core
Replace the custom SoundWire IRQ handling with the generic nested IRQ provided by the SoundWire core. This removes the local IRQ work function a
ASoC: cs35l56: Use IRQ provided by the SoundWire core
Replace the custom SoundWire IRQ handling with the generic nested IRQ provided by the SoundWire core. This removes the local IRQ work function and the convoluted IRQ masking and pm_runtime management around it.
We still need the local functions to mask/disable and unmask/enable the SoundWire interrupts because the devices handled by the cs35l56 driver don't have the generic mask bit for the ImpDef1 interrupt so masking and unmasking has to use a custom mask bit.
cs35l56_sdw_remove() doesn't need to call cs35l56_disable_sdw_interrupts() now that there isn't a local work function to be flushed. It only masks the custom interrupt mask bit and the rest of the handler cleanup will be done the normal way by devm_free_irq() in cs35l56_remove().
Similar applies to cs35l56_sdw_system_suspend() - it is enough to write the custom mask bits.
cs35l56_irq() doesn't need to be exported because cs35l56_sdw.c isn't calling it.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Link: https://patch.msgid.link/20260810104045.60701-5-rf@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
071497d2 |
| 11-Aug-2026 |
Mark Brown <broonie@kernel.org> |
ASoC: amd: enable audio on HP OmniBook X Flip 14
Ville Saarinen <wiza@saarinenkoti.fi> says:
The HP OmniBook X Flip 14-kc0xxx (board 8EA1, Strix Point, ACP 7.2) has no usable audio on mainline at a
ASoC: amd: enable audio on HP OmniBook X Flip 14
Ville Saarinen <wiza@saarinenkoti.fi> says:
The HP OmniBook X Flip 14-kc0xxx (board 8EA1, Strix Point, ACP 7.2) has no usable audio on mainline at all. Its BIOS reports an ACP configuration flag of FLAG_AMD_LEGACY_ONLY_DMIC, which binds the legacy ACP driver and registers a PDM-only card, so the SoundWire links are never scanned. The two TAS2783 speaker amplifiers on link 0 and the RT712-VB jack codec on link 1 never enumerate, and the machine has no playback path whatsoever.
Patch 1 adds a DMI quirk overriding the flag so snd_pci_ps probes. Patch 2 adds the machine entry describing the link topology.
With both applied the card comes up and every path on the machine works: internal speakers, headphone jack with detection, headset microphone and the internal DMIC array. Two further patches are needed for the speakers to render stereo rather than mono, and to survive a system resume; those are in the TAS2783 codec driver and are being sent separately to the TI maintainers, since they have no build dependency on this pair.
Related reports for the same root cause on other machines:
- kernel bugzilla #221226 (ASUS Zenbook S16) - CachyOS linux-cachyos#820 (HP OmniBook X Flip 16, board 8EA2 -- the sibling board, which would need its own entry; I have no access to one and have not added it)
Tested on the affected machine only. I do not have any other ACP 7.2 board, so the gating on patch 2 is written to be conservative rather than broad.
Testing =======
The hardware testing was done on v7.1.6, where an equivalent version of this pair is what makes audio work on the machine. Against the master commit named below, both patches have been compile-tested only (gcc, W=1, no new warnings, no new external symbol references).
Patch 2 has been reworked slightly relative to the tested build: the RT712-VB entry now reuses the existing jack_dmic_endpoints array, which already describes exactly the AIF1 jack + AIF3 DMIC pairing this board needs, instead of adding a second identical copy of it. That was a mechanical substitution, but it has not been through hardware.
Tool disclosure, per Documentation/process/generated-content.rst ================================================================
This work was done in extended interactive sessions with Claude (Anthropic, model claude-opus-5) acting as a coding and debugging assistant, and a substantial amount of the analysis and of the patch text originated with it. Both patches carry an Assisted-by tag as described in Documentation/process/coding-assistants.rst.
The division of work:
- The assistant read the DMI data and ACP configuration flag off the running machine, identified the flag override as the fix, derived the SoundWire topology from the enumerated peripherals, and drafted both patches and both changelogs. - I ran everything that needed root or physical access, rebooted into each build, and did the listening tests. The left/right ordering in patch 2 is set by the order of the two amplifier entries; the first version had the sides reversed and that was caught by ear, not by the assistant. - No single prompt generated these patches. The session was iterative over roughly a day: inspect state, form a hypothesis, build, reboot, measure, discard the hypothesis if the measurement disagreed. Several confident intermediate conclusions were wrong and were only caught by measurement.
I have reviewed both patches, I understand what they do, and I take responsibility for them.
Link: https://patch.msgid.link/20260809101439.4798-1-wiza@saarinenkoti.fi
show more ...
|
| #
78983d82 |
| 07-Aug-2026 |
Niranjan H Y <niranjan.hy@ti.com> |
ASoC: tac5xx2-sdw: select REGMAP_SOUNDWIRE_MBQ
"select REGMAP_SOUNDWIRE_MBQ" to fix build error: ERROR: modpost: "__devm_regmap_init_sdw_mbq" [sound/soc/codecs/snd-soc-tac5xx2-sdw.ko] undefined!
ASoC: tac5xx2-sdw: select REGMAP_SOUNDWIRE_MBQ
"select REGMAP_SOUNDWIRE_MBQ" to fix build error: ERROR: modpost: "__devm_regmap_init_sdw_mbq" [sound/soc/codecs/snd-soc-tac5xx2-sdw.ko] undefined!
Signed-off-by: Niranjan H Y <niranjan.hy@ti.com> Link: https://patch.msgid.link/20260807151623.3005-1-niranjan.hy@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
b50ecf58 |
| 04-Aug-2026 |
Shuming Fan <shumingf@realtek.com> |
ASoC: rt766: add RT766/RT767 SDCA driver
This patch adds the initial SDCA multi-function codec driver for the RT766 and RT767.
Signed-off-by: Shuming Fan <shumingf@realtek.com> Reviewed-by: Charles
ASoC: rt766: add RT766/RT767 SDCA driver
This patch adds the initial SDCA multi-function codec driver for the RT766 and RT767.
Signed-off-by: Shuming Fan <shumingf@realtek.com> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260804104828.557228-1-shumingf@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
58885264 |
| 03-Aug-2026 |
Rudi Heitbaum <rudi@heitbaum.com> |
ASoC: rt5645: Make the Kconfig symbol user selectable
SND_SOC_RT5645 has no prompt, so it can only be turned on by a machine driver that selects it. Every such driver is x86, MediaTek or Rockchip, w
ASoC: rt5645: Make the Kconfig symbol user selectable
SND_SOC_RT5645 has no prompt, so it can only be turned on by a machine driver that selects it. Every such driver is x86, MediaTek or Rockchip, which leaves the codec unreachable on any other platform.
The part has a devicetree binding of its own, Documentation/devicetree/bindings/sound/realtek,rt5645.yaml, and nothing in the driver is machine specific, so a board that describes it with simple-audio-card or audio-graph-card should be able to build it. Today there is no configuration in which that is possible.
Give the symbol a prompt, matching SND_SOC_RT5640 immediately above it. The machine drivers that select it are unaffected.
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com> Link: https://patch.msgid.link/anCcciWmO6QOLTsl@5e001e58230e Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
dbc2afea |
| 01-Aug-2026 |
Mark Brown <broonie@kernel.org> |
ASoC: Add support for the Qualcomm WSA885X Stereo smart speaker amplifier
Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com> says:
The series first documents the WSA885X devicetree binding, includi
ASoC: Add support for the Qualcomm WSA885X Stereo smart speaker amplifier
Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com> says:
The series first documents the WSA885X devicetree binding, including supplies, GPIOs, Interrupt and battery configuration.
It then adds the ASoC codec driver with register programming, serial interface setup, clock handling, mute and gain control, reset handling, interrupt support, runtime TDM slot-count configuration, and stream-time power-state sequencing.
validated speaker playback on Shikra and Hawi platforms.
Link: https://patch.msgid.link/20260715115220.3093799-1-prasad.kumpatla@oss.qualcomm.com
show more ...
|
| #
1d0368c9 |
| 15-Jul-2026 |
Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com> |
ASoC: codecs: add Qualcomm WSA885X codec driver
Add an ASoC codec driver for the Qualcomm WSA885X stereo smart speaker amplifier.
The driver programs the register map, handles reset and interrupt s
ASoC: codecs: add Qualcomm WSA885X codec driver
Add an ASoC codec driver for the Qualcomm WSA885X stereo smart speaker amplifier.
The driver programs the register map, handles reset and interrupt support, exposes DAI operations for PCM/TDM playback, and provides mixer controls for usage mode, speaker volume and RX slot mask.
Keep stream-time power-state sequencing in the DAI callbacks and use regmap for the control path.
Signed-off-by: Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com> Link: https://patch.msgid.link/20260715115220.3093799-3-prasad.kumpatla@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
18a44e70 |
| 21-Jul-2026 |
Mark Brown <broonie@kernel.org> |
ALSA: hda: Add AW88399 HDA side codec driver for Lenovo Legion
Marco Giunta <marco_giunta@outlook.it> says:
Several Lenovo Legion laptops (Pro 7i 16IAX10H, Y9000P IAX10, Pro 7 16AFR10H, R9000P ADR1
ALSA: hda: Add AW88399 HDA side codec driver for Lenovo Legion
Marco Giunta <marco_giunta@outlook.it> says:
Several Lenovo Legion laptops (Pro 7i 16IAX10H, Y9000P IAX10, Pro 7 16AFR10H, R9000P ADR10) use AWINIC AW88399 smart amplifiers to drive their bass woofers, connected via I2C as side codecs to a Realtek ALC287 HDA codec.
Without a driver for these amplifiers, only the tweeters produce sound, resulting in quiet and tinny audio.
An ASoC driver for the AW88399 already exists in-tree (sound/soc/codecs/aw88399.c), contributed by AWINIC, but it targets ASoC topologies and cannot drive the chip when it sits behind an HDA controller. This series adds a proper HDA side codec driver, following the established pattern used by the CS35L41, CS35L56, and TAS2781 drivers.
Patch 1 extracts the device-level functions from the existing ASoC driver into a shared library module (SND_SOC_AW88399_LIB) with a shared header at include/sound/aw88399.h, following the CS35L41 precedent (SND_SOC_CS35L41_LIB / include/sound/cs35l41.h). This avoids a build-time dependency on the full ASoC codec module and ensures clean separation between the ASoC and HDA drivers.
Patches 2 through 5 prepare the shared library for use on ACPI-based HDA systems: patch 2 extends channel assignment to work without Device Tree properties, patch 3 adds a per-instance flag to bypass an unreliable hardware status bit on certain boards, patch 4 adds a firmware reload flag so that the HDA driver can signal that DSP firmware needs to be re-uploaded after system sleep, and patch 5 adds a channel setter so that the HDA driver can configure the amplifier without depending on ASoC-internal device headers.
NOTE ON FIRMWARE: This driver requires the firmware file aw88399_acf.bin, which uses the same format and request path as the existing ASoC driver. This firmware is not yet available in the linux-firmware repository. We intend to coordinate with the AWINIC maintainers (CC'd) to arrange its inclusion. In the meantime, users can extract the firmware from the Windows driver and place it in /lib/firmware/.
This work builds on the initial driver development by Yakov Till ("Lyapsus") and the bounty effort organized by Nadim Kobeissi: https://github.com/nadimkobeissi/16iax10h-linux-sound-saga
Link: https://patch.msgid.link/DS7PR19MB77247D9AD698CF0FF37DB58BFCC62@DS7PR19MB7724.namprd19.prod.outlook.com
show more ...
|
| #
7fa44519 |
| 17-Jul-2026 |
Marco Giunta <marco_giunta@outlook.it> |
ASoC: aw88399: extract shared device library
Extract the device-level functions from aw88399.c into a new shared library module (aw88399-lib.c) with a shared header at include/sound/aw88399.h, follo
ASoC: aw88399: extract shared device library
Extract the device-level functions from aw88399.c into a new shared library module (aw88399-lib.c) with a shared header at include/sound/aw88399.h, following the pattern established by CS35L41 (cs35l41-lib.c / include/sound/cs35l41.h) for chips that need both ASoC and HDA drivers.
The shared header at include/sound/aw88399.h contains the register definitions, bit-field masks, hardware constants, device enums, the struct aw88399 definition, and the library function declarations. The ASoC-private header at sound/soc/codecs/aw88399.h is reduced to ASoC-specific definitions (PCM formats/rates, ALSA kcontrol helpers, calibration constants) and includes the shared header.
The library contains the chip initialization, firmware loading, playback start/stop sequences, and all their internal dependencies (PLL checks, DSP management, volume control, calibration, CRC verification, etc.). The ASoC codec driver retains the ALSA controls, DAPM widgets, codec probe/remove, calibration service, and I2C bus driver registration.
A new Kconfig symbol SND_SOC_AW88399_LIB is introduced. SND_SOC_AW88399 (the existing ASoC codec) selects it, ensuring no change for current users. The HDA side codec driver (introduced later in this series) selects the library without pulling in the full ASoC codec module. This avoids a build-time dependency on the full ASoC driver and follows the established pattern used by CS35L41 (SND_SOC_CS35L41_LIB) for chips with both ASoC and HDA drivers.
Some library functions (DSP control, volume setting, mute, calibration updates, profile management, and status helpers) are used internally by the library's start/stop sequences but are also called directly by the ASoC driver's remaining code. These are exported from the library so the ASoC module can access them.
This is a pure code movement with no functional changes. The moved functions are identical to their originals in aw88399.c.
Tested-by: Nadim Kobeissi <nadim@symbolic.software> Tested-by: Xia Yun'an <imitoy@imitoy.top> Tested-by: Munzir Taha <munzirtaha@gmail.com> Signed-off-by: Marco Giunta <marco_giunta@outlook.it> Link: https://patch.msgid.link/DS7PR19MB772415C485FAF74297673FD7FCC62@DS7PR19MB7724.namprd19.prod.outlook.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
a5ee3180 |
| 10-Jul-2026 |
Mark Brown <broonie@kernel.org> |
ASoC: codecs: lpass-{tx,rx}-macro: switch to PM clock framework
Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> says:
Convert the LPASS TX and RX macro codec drivers to runtime PM clock management
ASoC: codecs: lpass-{tx,rx}-macro: switch to PM clock framework
Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> says:
Convert the LPASS TX and RX macro codec drivers to runtime PM clock management using the PM clock framework, completing the LPASS macro PM clock migration started with the WSA/VA macros [1].
The conversion follows the same pattern established in the WSA/VA series: - PM clocks created and populated from DT via devm_pm_clk_create() + of_pm_clk_add_clks(), inlined in probe (no helper wrapper). - Runtime PM enabled via devm_pm_runtime_enable() with 100 ms autosuspend. - runtime_suspend: regcache_cache_only first, pm_clk_suspend, then regcache_mark_dirty only on success; rollback on failure. - runtime_resume: pm_clk_resume with regcache unwind, regcache_sync with full unwind on failure. - SWR clock gate prepare/unprepare routed through pm_runtime_resume_and_get / pm_runtime_put_autosuspend. - Probe error paths tightened with dev_warn on PM put failures. - Empty remove callbacks dropped (devm handles cleanup). - PM_CLK Kconfig dependency added.
Patch 3 adds clk_set_rate() return value checking as suggested by Konrad.
[1] https://lore.kernel.org/linux-arm-msm/20260629-xo-sd-codec-v7-b4-v7-0-fb37ce457c42@oss.qualcomm.com/
Link: https://patch.msgid.link/20260707-xo-sd-codec-tx-rx-v2-0-f61b4622f97f@oss.qualcomm.com
show more ...
|
| #
b9b23e72 |
| 07-Jul-2026 |
Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> |
ASoC: codecs: lpass-tx-macro: switch to PM clock framework for runtime PM
Convert the LPASS TX macro codec driver to runtime PM clock management using the PM clock framework.
Replace manual macro/d
ASoC: codecs: lpass-tx-macro: switch to PM clock framework for runtime PM
Convert the LPASS TX macro codec driver to runtime PM clock management using the PM clock framework.
Replace manual macro/dcodec/mclk/npl/fsgen clock toggling with PM clock helpers and runtime PM callbacks. Keep the SWR gate runtime PM reference from SWR clock enable until disable so autosuspend does not gate clocks while SWR is still prepared.
Set autosuspend delay to 100 ms so PM-clock-managed votes are dropped soon after idle while still avoiding suspend/resume churn on short gaps.
Add a PM_CLK dependency to SND_SOC_LPASS_TX_MACRO since this patch introduces PM clock APIs.
Tighten error unwind by checking pm_runtime_put_sync_suspend() in probe and by restoring regcache state if pm_clk_resume()/regcache_sync() fails.
Co-developed-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> Link: https://patch.msgid.link/20260707-xo-sd-codec-tx-rx-v2-1-f61b4622f97f@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
4119e9b3 |
| 03-Jul-2026 |
Mark Brown <broonie@kernel.org> |
ASoC: qcom: lpass: Switch VA/WSA macros to PM clock framework
Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> says:
This series converts the LPASS WSA and VA macro codec drivers to the PM clock fr
ASoC: qcom: lpass: Switch VA/WSA macros to PM clock framework
Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> says:
This series converts the LPASS WSA and VA macro codec drivers to the PM clock framework for runtime PM clock handling.
The runtime clock enable/disable sequencing is moved to PM clock helpers for clocks described in device tree, while regcache state handling remains in the codec runtime PM callbacks. This keeps register cache synchronization explicit in the driver and lets runtime PM drop codec clock votes when the macros are idle.
The series also keeps WSA MCLK-output clock registration resource-managed by switching it to devm_clk_hw_register(), which allows the empty WSA remove callback to be dropped.
Link: https://patch.msgid.link/20260702-xo-sd-codec-v7-b4-v8-0-d39d0fdb7859@oss.qualcomm.com
show more ...
|
| #
eb667d0f |
| 01-Jul-2026 |
Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> |
ASoC: codecs: lpass-va-macro: Switch to PM clock framework for runtime PM
Convert the LPASS VA macro codec driver to runtime PM clock management by using the PM clock framework.
Replace manual macr
ASoC: codecs: lpass-va-macro: Switch to PM clock framework for runtime PM
Convert the LPASS VA macro codec driver to runtime PM clock management by using the PM clock framework.
Replace manual macro/dcodec/mclk/npl clock handling with PM clock helpers and runtime PM callbacks, and keep runtime PM references around fsgen clock gating so PM-clock-managed clocks remain active while fsgen is enabled.
Set autosuspend delay to 100 ms so PM-clock-managed votes are dropped soon after idle while still avoiding suspend/resume churn on short gaps.
Add a PM_CLK dependency to SND_SOC_LPASS_VA_MACRO since this patch introduces PM clock APIs.
Improve failure unwind paths: handle runtime PM put errors in probe/fsgen paths and restore regcache state correctly on resume failure.
Suggested-by: Mark Brown <broonie@kernel.org> Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Tested-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://patch.msgid.link/20260702-xo-sd-codec-v7-b4-v8-2-d39d0fdb7859@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
cd054a6e |
| 01-Jul-2026 |
Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> |
ASoC: codecs: lpass-wsa-macro: Switch to PM clock framework for runtime PM
Convert the LPASS WSA macro codec driver to runtime PM clock management by using the PM clock framework.
Replace manual ma
ASoC: codecs: lpass-wsa-macro: Switch to PM clock framework for runtime PM
Convert the LPASS WSA macro codec driver to runtime PM clock management by using the PM clock framework.
Replace manual macro/dcodec/mclk/npl/fsgen clock toggling with PM clock helpers and runtime PM callbacks. Keep the SWR gate runtime PM reference from SWR clock enable until disable so autosuspend does not gate clocks while SWR is still prepared.
Set autosuspend delay to 100 ms so PM-clock-managed votes are dropped soon after idle while still avoiding suspend/resume churn on short gaps.
Add a PM_CLK dependency to SND_SOC_LPASS_WSA_MACRO since this patch introduces PM clock APIs.
Tighten error unwind by checking pm_runtime_put_sync_suspend() in probe and by restoring regcache state if pm_clk_resume()/regcache_sync() fails.
Suggested-by: Mark Brown <broonie@kernel.org> Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com> Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Tested-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Link: https://patch.msgid.link/20260702-xo-sd-codec-v7-b4-v8-1-d39d0fdb7859@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
2f82d58a |
| 30-Jun-2026 |
Julian Braha <julianbraha@gmail.com> |
ASoC: codecs: cleanup kconfig indentations
Cleanup various bad indentations in the kconfig: 1. spaces instead of tabs (this file mostly uses tabs) 2. too much indentation 3. not enough indentation
ASoC: codecs: cleanup kconfig indentations
Cleanup various bad indentations in the kconfig: 1. spaces instead of tabs (this file mostly uses tabs) 2. too much indentation 3. not enough indentation
Signed-off-by: Julian Braha <julianbraha@gmail.com> Link: https://patch.msgid.link/20260630085249.380365-1-julianbraha@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
a5edc45d |
| 20-Jun-2026 |
Diogo Ivo <diogo.ivo@bootlin.com> |
ASoC: rt5677: Enable standalone compilation for generic card use
Add a prompt string to make the RT5677 driver user-selectable, allowing it to be built independently for use with generic sound card
ASoC: rt5677: Enable standalone compilation for generic card use
Add a prompt string to make the RT5677 driver user-selectable, allowing it to be built independently for use with generic sound card bindings.
Signed-off-by: Diogo Ivo <diogo.ivo@bootlin.com> Link: https://patch.msgid.link/20260620-smaug-audio-v1-2-e318acdf5abd@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
19b79397 |
| 03-Jun-2026 |
Mark Brown <broonie@kernel.org> |
ASoC: cs42xx8: Add SPI bus support for CS42448/CS42888 codec
Chancel Liu <chancel.liu@nxp.com> says:
The existing cs42xx8 driver only supported I2C control interface. Add SPI bus support for the Ci
ASoC: cs42xx8: Add SPI bus support for CS42448/CS42888 codec
Chancel Liu <chancel.liu@nxp.com> says:
The existing cs42xx8 driver only supported I2C control interface. Add SPI bus support for the Cirrus Logic CS42448/CS42888 Audio CODEC.
Link: https://patch.msgid.link/20260603095041.3906558-1-chancel.liu@oss.nxp.com
show more ...
|
| #
3158f585 |
| 03-Jun-2026 |
Chancel Liu <chancel.liu@nxp.com> |
ASoC: cs42xx8: Add SPI bus support for CS42448/CS42888 codec
The existing cs42xx8 driver only supported I2C control interface. Add SPI bus support for the Cirrus Logic CS42448/CS42888 Audio CODEC.
ASoC: cs42xx8: Add SPI bus support for CS42448/CS42888 codec
The existing cs42xx8 driver only supported I2C control interface. Add SPI bus support for the Cirrus Logic CS42448/CS42888 Audio CODEC.
Signed-off-by: Chancel Liu <chancel.liu@nxp.com> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20260603095041.3906558-3-chancel.liu@oss.nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
74baa9df |
| 26-May-2026 |
Nathan Chancellor <nathan@kernel.org> |
ASoC: es9356-sdca: Depend on CONFIG_SND_SOC_SDCA
When building without CONFIG_SND_SOC_SDCA, there is an error at link time when building the es9356-sdca driver:
ERROR: modpost: "sdca_asoc_q78_get
ASoC: es9356-sdca: Depend on CONFIG_SND_SOC_SDCA
When building without CONFIG_SND_SOC_SDCA, there is an error at link time when building the es9356-sdca driver:
ERROR: modpost: "sdca_asoc_q78_get_volsw" [sound/soc/codecs/snd-soc-es9356.ko] undefined! ERROR: modpost: "sdca_asoc_q78_put_volsw" [sound/soc/codecs/snd-soc-es9356.ko] undefined!
Add an explicit dependency on CONFIG_SND_SOC_SDCA to ensure these symbols are always present when building the driver.
Fixes: 5d9cb740cd38 ("ASoC: es9356-sdca: Add ES9356 SDCA driver") Signed-off-by: Nathan Chancellor <nathan@kernel.org> Link: https://patch.msgid.link/20260526-es9356-dep-fixes-v1-3-39ac16f43d54@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|
| #
bf6dfd0e |
| 26-May-2026 |
Nathan Chancellor <nathan@kernel.org> |
ASoC: codecs: Adjust indentation in CONFIG_SND_SOC_ES9356 definition
The indentation of CONFIG_SND_SOC_ES9356 uses spaces, instead of the Kconfig standard using tabs. Adjust it.
Signed-off-by: Nath
ASoC: codecs: Adjust indentation in CONFIG_SND_SOC_ES9356 definition
The indentation of CONFIG_SND_SOC_ES9356 uses spaces, instead of the Kconfig standard using tabs. Adjust it.
Signed-off-by: Nathan Chancellor <nathan@kernel.org> Link: https://patch.msgid.link/20260526-es9356-dep-fixes-v1-2-39ac16f43d54@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
show more ...
|