summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorRoman Prucha <zorgan.roman@gmail.com>2026-09-03 23:14:44 +0200
committerTakashi Iwai <tiwai@suse.de>2026-09-06 10:02:05 +0200
commitb26a7a80e6bbf8dd17dacb127d12435d79375cf2 (patch)
tree0cb807de166258ee59d9384d4eb2f6e498e11f5a /scripts/Makefile.thinlto
parent9fe49dbc023e82dfaee7b245997d820d01742a9a (diff)
downloadlinux-b26a7a80e6bbf8dd17dacb127d12435d79375cf2.tar.gz
linux-b26a7a80e6bbf8dd17dacb127d12435d79375cf2.zip
ALSA: ctxfi: Fix CA20K2 S/PDIF passthrough
dao_rsc_init() encodes the DAIO configuration as conf = (desc->msr & 0x7) | (desc->passthru << 3); S/PDIF passthrough uses msr=1 and passthru=1, resulting in conf=9. daio_mgr_dao_init() masks conf with 0xf, but handles only values 1, 2, 4 and 8 when programming ATXCTL_NUC. As a result, conf=9 falls through to the default case and leaves NUC at its previous setting. On a Creative X-Fi Titanium HD SB1270 (CA20K2), this breaks AC3 IEC61937 passthrough when snd_ctxfi runs with reference_rate=48000,multiple=2. The receiver detects a non-audio stream but cannot decode the AC3 payload. With the unmodified driver, multiple=1 makes the same stream work. Handle conf=9 through the same NUC=0 path as conf=1. The change was runtime tested on the SB1270 with multiple=2 using IEC958 stereo PCM, pre-encoded AC3 IEC61937 passthrough and ALSA A52 live 5.1 encoding. Fixes: 26a9630c72eb ("ALSA: ctxfi: cthw20k2: fix mask on conf to allow 4 bits") Cc: stable@vger.kernel.org Assisted-by: LLM Signed-off-by: Roman Prucha <zorgan.roman@gmail.com> Link: https://patch.msgid.link/20260903-ctxfi-spdif-conf9-fix-v1-1-5e4e3e1f801c@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions