On Tue, 09 Jun 2020 13:40:59 +0200, Christoph Hellwig wrote:
On Tue, Jun 09, 2020 at 01:38:46PM +0200, Takashi Iwai wrote:
On Tue, 09 Jun 2020 13:31:23 +0200, Christoph Hellwig wrote:
On Tue, Jun 09, 2020 at 11:31:20AM +0200, Takashi Iwai wrote:
How would be a proper way to get the virtually mapped SG-buffer pages with coherent memory? (Also allowing user-space mmap, too)
dma_mmap_coherent / dma_mmap_attrs for userspace. We don't really have a good way for kernel space mappings.
And that's the missing piece right now... :-<
Can you point me to the relevant places (allocation and vmap mostly) so that I can take a look at how to fix this mess?
Found in sound/core/sgbuf.c. It's specific to x86.
So it looks like we could just turn off CONFIG_SND_DMA_SGBUF and be done with it? After all this works on other architectures just fine..
Yes, for the sound stuff, something below should make things working. But it means that we'll lose the SG-buffer allocation and the allocation of large buffers might fail on some machines.
Takashi
--- a/sound/core/Kconfig +++ b/sound/core/Kconfig @@ -192,6 +192,6 @@ config SND_VMASTER
config SND_DMA_SGBUF def_bool y - depends on X86 + depends on X86 && BROKEN
source "sound/core/seq/Kconfig"