[5.14 regression] "ALSA: core: Add continuous and vmalloc mmap ops" breaks Intel SST audio
Hi All;,
As discussed in the "5.14 regression, Intel SST (BYT) audio no longer works" thread, audio on X86 devices using the Intel SST driver no longer works with 5.14.
After poking at this for a while I've found the culprit: 30b7ba6972d5 ("ALSA: core: Add continuous and vmalloc mmap ops")
If I revert that single commit then everything works fine again with 5.14.
This is with a Fedora 34 userspace using pipewire as audiodaemon
Regards,
Hans
On Fri, 30 Jul 2021 22:04:00 +0200, Hans de Goede wrote:
Hi All;,
As discussed in the "5.14 regression, Intel SST (BYT) audio no longer works" thread, audio on X86 devices using the Intel SST driver no longer works with 5.14.
After poking at this for a while I've found the culprit: 30b7ba6972d5 ("ALSA: core: Add continuous and vmalloc mmap ops")
If I revert that single commit then everything works fine again with 5.14.
Does the patch below fix the problem?
thanks,
Takashi
--- --- a/sound/core/memalloc.c +++ b/sound/core/memalloc.c @@ -215,7 +215,7 @@ static int snd_dma_continuous_mmap(struct snd_dma_buffer *dmab, struct vm_area_struct *area) { return remap_pfn_range(area, area->vm_start, - dmab->addr >> PAGE_SHIFT, + page_to_pfn(virt_to_page(dmab->area)), area->vm_end - area->vm_start, area->vm_page_prot); }
Hi,
On 7/31/21 10:10 AM, Takashi Iwai wrote:
On Fri, 30 Jul 2021 22:04:00 +0200, Hans de Goede wrote:
Hi All;,
As discussed in the "5.14 regression, Intel SST (BYT) audio no longer works" thread, audio on X86 devices using the Intel SST driver no longer works with 5.14.
After poking at this for a while I've found the culprit: 30b7ba6972d5 ("ALSA: core: Add continuous and vmalloc mmap ops")
If I revert that single commit then everything works fine again with 5.14.
Does the patch below fix the problem?
Yes that seems to fix things, thank you.
Regards,
Hans
--- a/sound/core/memalloc.c +++ b/sound/core/memalloc.c @@ -215,7 +215,7 @@ static int snd_dma_continuous_mmap(struct snd_dma_buffer *dmab, struct vm_area_struct *area) { return remap_pfn_range(area, area->vm_start,
dmab->addr >> PAGE_SHIFT,
page_to_pfn(virt_to_page(dmab->area)), area->vm_end - area->vm_start, area->vm_page_prot);
}
On Sun, 01 Aug 2021 12:27:28 +0200, Hans de Goede wrote:
Hi,
On 7/31/21 10:10 AM, Takashi Iwai wrote:
On Fri, 30 Jul 2021 22:04:00 +0200, Hans de Goede wrote:
Hi All;,
As discussed in the "5.14 regression, Intel SST (BYT) audio no longer works" thread, audio on X86 devices using the Intel SST driver no longer works with 5.14.
After poking at this for a while I've found the culprit: 30b7ba6972d5 ("ALSA: core: Add continuous and vmalloc mmap ops")
If I revert that single commit then everything works fine again with 5.14.
Does the patch below fix the problem?
Yes that seems to fix things, thank you.
Great, I'll cook up and submit the proper patch.
thanks,
Takashi
participants (2)
-
Hans de Goede
-
Takashi Iwai