mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-06-21 15:43:21 +02:00
ALSA: virtio: Add missing 384 kHz PCM rate mapping
The VirtIO sound UAPI defines VIRTIO_SND_PCM_RATE_384000, and ALSA has SNDRV_PCM_RATE_384000. However, virtio-snd's rate conversion tables stop at 192 kHz. A device advertising only 384 kHz is rejected as having no supported PCM frame rates. A device advertising 384 kHz together with lower rates does not expose 384 kHz through the ALSA hardware constraints. The selected ALSA rate also needs a reverse mapping for SET_PARAMS. Add the missing 384 kHz entries to both conversion tables. Fixes:29b96bf50b("ALSA: virtio: build PCM devices and substream hardware descriptors") Fixes:da76e9f3e4("ALSA: virtio: PCM substream operators") Cc: stable@vger.kernel.org Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com> Link: https://patch.msgid.link/20260515-alsa-virtio-384k-rate-v1-1-35ecb5df835c@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
committed by
Takashi Iwai
parent
b65020d539
commit
83fbbcb793
@@ -77,7 +77,8 @@ static const struct virtsnd_v2a_rate g_v2a_rate_map[] = {
|
||||
[VIRTIO_SND_PCM_RATE_88200] = { SNDRV_PCM_RATE_88200, 88200 },
|
||||
[VIRTIO_SND_PCM_RATE_96000] = { SNDRV_PCM_RATE_96000, 96000 },
|
||||
[VIRTIO_SND_PCM_RATE_176400] = { SNDRV_PCM_RATE_176400, 176400 },
|
||||
[VIRTIO_SND_PCM_RATE_192000] = { SNDRV_PCM_RATE_192000, 192000 }
|
||||
[VIRTIO_SND_PCM_RATE_192000] = { SNDRV_PCM_RATE_192000, 192000 },
|
||||
[VIRTIO_SND_PCM_RATE_384000] = { SNDRV_PCM_RATE_384000, 384000 }
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -90,7 +90,8 @@ static const struct virtsnd_a2v_rate g_a2v_rate_map[] = {
|
||||
{ 88200, VIRTIO_SND_PCM_RATE_88200 },
|
||||
{ 96000, VIRTIO_SND_PCM_RATE_96000 },
|
||||
{ 176400, VIRTIO_SND_PCM_RATE_176400 },
|
||||
{ 192000, VIRTIO_SND_PCM_RATE_192000 }
|
||||
{ 192000, VIRTIO_SND_PCM_RATE_192000 },
|
||||
{ 384000, VIRTIO_SND_PCM_RATE_384000 }
|
||||
};
|
||||
|
||||
static int virtsnd_pcm_sync_stop(struct snd_pcm_substream *substream);
|
||||
|
||||
Reference in New Issue
Block a user