]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ALSA: aoa: onyx: Update IEC958 sample-rate status for PCM playback
authorCássio Gabriel <cassiogabrielcontato@gmail.com>
Fri, 3 Apr 2026 03:47:13 +0000 (00:47 -0300)
committerTakashi Iwai <tiwai@suse.de>
Mon, 6 Apr 2026 08:41:00 +0000 (10:41 +0200)
commit9551af27f8167bbb5f862a12f7f9bc5830e8f4e1
tree64c68ef1025e9faaf9a198e39f260aa05d134e0d
parent6692ed9b4ced29aa819c95cc4ad9e2dc8720c081
ALSA: aoa: onyx: Update IEC958 sample-rate status for PCM playback

onyx_prepare() accepts 32/44.1/48 kHz PCM playback, but it leaves the
Onyx IEC958 sample-rate status bits at the driver's initial 44.1 kHz
setting in DIG_INFO3. As a result, 32 kHz and 48 kHz PCM streams
advertise a stale IEC958 sample rate unless userspace rewrites IEC958
Playback Default first.

Update only the consumer sample-frequency bits in DIG_INFO3 from the PCM
runtime during prepare, resolving the long-standing FIXME in the PCM
playback path while leaving the other user-controlled IEC958 status bits
unchanged.

Mark IEC958 Playback Default as volatile as well, since prepare() now
changes the exposed register contents outside the control put callback.

Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260403-onyx-spdif-pcm-rate-v1-1-dcfaf931cf83@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/aoa/codecs/onyx.c