Joris Verhaegen
2c92e2fbe9
ALSA: compress_offload: Add 64-bit safe timestamp infrastructure
...
The copied_total field in struct snd_compr_tstamp is a 32-bit
value that can overflow on long-running high-bitrate streams,
leading to incorrect calculations for buffer availablility.
This patch adds a 64-bit safe timestamping mechanism.
A new UAPI struct, snd_compr_tstamp64, is added which uses 64-bit
types for byte counters. The relevant ops structures across the
ASoC and core compress code are updated to use this new struct.
ASoC drivers are updated to use u64 counters.
Internal timestamps being u64 now, a compatibility function is added
to convert the 64-bit timestamp back to the 32-bit format for legacy
ioctl callers.
Reviewed-by: Miller Liang <millerliang@google.com >
Tested-by: Joris Verhaegen <verhaegen@google.com >
Signed-off-by: Joris Verhaegen <verhaegen@google.com >
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com >
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com >
Acked-by: Mark Brown <broonie@kernel.org >
Acked-by: Vinod Koul <vkoul@kernel.org >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250905091301.2711705-2-verhaegen@google.com
2025-09-08 09:33:24 +02:00
Geoffrey D. Bennett
cbd676874e
ALSA: scarlett2: Add Vocaster speaker/headphone mute controls
...
Add support for the speaker and headphone mute controls on Focusrite
Vocaster interfaces. Unlike other Focusrite interfaces, these mute
controls are per-output, not per-channel.
Signed-off-by: Geoffrey D. Bennett <g@b4.vu >
Link: https://patch.msgid.link/aLm2Dy6+O/eLTGVn@m.b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2025-09-06 20:02:52 +02:00
Chandra Mohan Sundar
400f60b274
ALSA: cs4281: Send the PCM period elapsed notification properly
...
As part of spin lock code cleanup using guard(), a new
variable (period_elapsed) was introduced. However this variable
is never set, causing period elapsed notification to be not sent.
Set the value of period_elapsed appropiately.
This issue was reported by static coverity analyzer.
Fixes: 7a5127c2c8 ("ALSA: cs4281: Use guard() for spin locks")
Signed-off-by: Chandra Mohan Sundar <chandramohan.explore@gmail.com >
Link: https://patch.msgid.link/20250906162158.564899-1-chandramohan.explore@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2025-09-06 19:55:10 +02:00
Cryolitia PukNgae
a73349c5dd
ALSA: usb-audio: apply quirk for MOONDROP Quark2
...
It reports a MIN value -15360 for volume control, but will mute when
setting it less than -14208
Tested-by: Guoli An <anguoli@uniontech.com >
Signed-off-by: Cryolitia PukNgae <cryolitia@uniontech.com >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250903-sound-v1-4-d4ca777b8512@uniontech.com
2025-09-04 15:37:30 +02:00
Cryolitia PukNgae
806a38293f
ALSA: usb-audio: apply "mixer_min_mute" quirks on some devices
...
- QUIRK_FLAG_MIXER_CAPTURE_MIN_MUTE
- QUIRK_FLAG_MIXER_PLAYBACK_MIN_MUTE
Suggested-by: Guoli An <anguoli@uniontech.com >
Signed-off-by: Cryolitia PukNgae <cryolitia@uniontech.com >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250903-sound-v1-3-d4ca777b8512@uniontech.com
2025-09-04 15:37:30 +02:00
Cryolitia PukNgae
759b5ce3e6
ALSA: usb-audio: add quirk QUIRK_FLAG_MIXER_CAPTURE_MIN_MUTE
...
The same hardware problem to QUIRK_FLAG_MIXER_PLAYBACK_MIN_MUTE also
occurs on the capture streams on some USB devices. Add a new flag for
processing the quirk.
Link: https://lore.kernel.org/all/C22C1A172EBB9BD9+eccc2e4a-d21e-4a7d-848c-bbf3982feb94@uniontech.com/
Signed-off-by: Cryolitia PukNgae <cryolitia@uniontech.com >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250903-sound-v1-2-d4ca777b8512@uniontech.com
2025-09-04 15:37:30 +02:00
Cryolitia PukNgae
ace1817ab4
ALSA: usb-audio: rename QUIRK_FLAG_MIXER_MIN_MUTE to QUIRK_FLAG_MIXER_PLAYBACK_MIN_MUTE
...
As a preparation of introduction QUIRK_FLAG_MIXER_CAPTURE_MIN_MUTE
Also make it printing an info while applying
Signed-off-by: Cryolitia PukNgae <cryolitia@uniontech.com >
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250903-sound-v1-1-d4ca777b8512@uniontech.com
2025-09-04 15:37:30 +02:00
Thorsten Blum
c3c9a75ede
ALSA: hda/conexant: Fix typos in comments
...
s/OPLC/OLPC/
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev >
Link: https://patch.msgid.link/20250902154858.86102-2-thorsten.blum@linux.dev
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2025-09-03 12:51:32 +02:00
Dan Carpenter
8409816b1e
ALSA: rme32: Fix serialization in snd_rme32_capture_adat_open()
...
We accidentally deleted the wrong line of code when we did the
conversion to guard() locks. If the rme32->capture_substream has
already been set we should return -EBUSY.
Fixes: 8bb75ae244 ("ALSA: rme32: Use guard() for spin locks")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org >
Link: https://patch.msgid.link/aLfXmIQRFTXr5h8O@stanley.mountain
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2025-09-03 09:21:58 +02:00
Takashi Iwai
649c6e1314
ALSA: hda/realtek: Use is_s4_resume() macro
...
Use the given macro for determining the resume state instead of
referring to the raw value.
Only a cleanup for now. The infrastructure might be changed in
future, though.
Link: https://patch.msgid.link/20250902095636.21462-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de >
2025-09-02 11:57:14 +02:00
Takashi Iwai
b8e1684163
ALSA: misc: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-20-tiwai@suse.de
2025-09-01 13:54:28 +02:00
Takashi Iwai
69f374931f
ALSA: virtio: Use guard() for spin locks
...
Replace the manual spin lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-19-tiwai@suse.de
2025-09-01 13:54:28 +02:00
Takashi Iwai
c07824a14d
ALSA: ac97bus: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-18-tiwai@suse.de
2025-09-01 13:54:28 +02:00
Takashi Iwai
94f8cb2b35
ALSA: atmel: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-17-tiwai@suse.de
2025-09-01 13:54:28 +02:00
Takashi Iwai
372020ddaa
ALSA: pxa2xx: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-16-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
bc58470aa2
ALSA: aaci: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-15-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
1cb6ecbb37
ALSA: aoa: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-14-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
3d10c26fae
ALSA: sparc: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-13-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
89008621bb
ALSA: vxpocket: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-12-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
2c24032607
ALSA: pdaudiocf: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-11-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
7b4d15bcdc
ALSA: at73c213: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-10-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
3ddf4f9716
ALSA: xen: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-9-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
ab770b4163
ALSA: x86: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-8-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
10403f910a
ALSA: x86: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-7-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
826f35b829
ALSA: synth: Use guard() for preset locks
...
Define a macro for the preset locking/unlocking pairs for soundfont
using guard() macro as a further code cleanup.
The new macro is put in soundfont.h (and some function renames) along
with it for avoiding unnecessary troubles with clang.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-6-tiwai@suse.de
2025-09-01 13:54:27 +02:00
Takashi Iwai
59ede7178d
ALSA: synth: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-5-tiwai@suse.de
2025-09-01 13:54:26 +02:00
Takashi Iwai
eff259d5b9
ALSA: synth: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-4-tiwai@suse.de
2025-09-01 13:54:26 +02:00
Takashi Iwai
cc8c535320
ALSA: i2c: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-3-tiwai@suse.de
2025-09-01 13:54:26 +02:00
Takashi Iwai
7a3dc0da93
ALSA: i2c: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829151335.7342-2-tiwai@suse.de
2025-09-01 13:54:26 +02:00
Takashi Iwai
95692e3c9f
ALSA: caiaq: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-10-tiwai@suse.de
2025-09-01 13:54:06 +02:00
Takashi Iwai
cff7acfe0b
ALSA: bcd2000: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-9-tiwai@suse.de
2025-09-01 13:54:06 +02:00
Takashi Iwai
e5d3eeb426
ALSA: usb: qcom: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
The manual mutex lock/unlock are still left in
handle_uaudio_stream_req() and its callee as they have a bit complex
locking patterns.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-8-tiwai@suse.de
2025-09-01 13:54:06 +02:00
Takashi Iwai
6dcbb0a9a6
ALSA: line6: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification. The core code of line6_pcm_release() is factored out,
so that it can be covered by guard() nicely, too.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-7-tiwai@suse.de
2025-09-01 13:54:06 +02:00
Takashi Iwai
ea3bfbbc9a
ALSA: hiface: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-6-tiwai@suse.de
2025-09-01 13:54:06 +02:00
Takashi Iwai
07f55c77b9
ALSA: hiface: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-5-tiwai@suse.de
2025-09-01 13:54:06 +02:00
Takashi Iwai
9e38c362a6
ALSA: usx2y: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-4-tiwai@suse.de
2025-09-01 13:54:05 +02:00
Takashi Iwai
f9435abeb3
ALSA: ua101: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-3-tiwai@suse.de
2025-09-01 13:54:05 +02:00
Takashi Iwai
9b99749f2a
ALSA: ua101: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150724.6886-2-tiwai@suse.de
2025-09-01 13:54:05 +02:00
Takashi Iwai
b9526bff42
ALSA: serial-u16550: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-14-tiwai@suse.de
2025-09-01 13:53:35 +02:00
Takashi Iwai
ec339e149e
ALSA: portman2x4: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-13-tiwai@suse.de
2025-09-01 13:53:35 +02:00
Takashi Iwai
a28d65886b
ALSA: mts64: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-12-tiwai@suse.de
2025-09-01 13:53:35 +02:00
Takashi Iwai
316e0074ec
ALSA: mtpav: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-11-tiwai@suse.de
2025-09-01 13:53:35 +02:00
Takashi Iwai
55c52cd311
ALSA: mpu401: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-10-tiwai@suse.de
2025-09-01 13:53:34 +02:00
Takashi Iwai
638c33ef79
ALSA: dummy: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-9-tiwai@suse.de
2025-09-01 13:53:34 +02:00
Takashi Iwai
353fc3e381
ALSA: vx: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-8-tiwai@suse.de
2025-09-01 13:53:34 +02:00
Takashi Iwai
72a3017077
ALSA: opl4: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-7-tiwai@suse.de
2025-09-01 13:53:34 +02:00
Takashi Iwai
45451eb5d1
ALSA: opl4: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-6-tiwai@suse.de
2025-09-01 13:53:34 +02:00
Takashi Iwai
ec6ac1d5e1
ALSA: opl3: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-5-tiwai@suse.de
2025-09-01 13:53:34 +02:00
Takashi Iwai
6a6da5ca97
ALSA: opl3: Use guard() for mutex locks
...
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.
Only code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-4-tiwai@suse.de
2025-09-01 13:53:34 +02:00
Takashi Iwai
1ef2cb6b29
ALSA: aloop: Use guard() for spin locks
...
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://patch.msgid.link/20250829150026.6379-3-tiwai@suse.de
2025-09-01 13:53:34 +02:00