Re: Audio buffer mmap-ing on sh arch vs. cache aliasing problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > IIRC, a similar buffer handling (via vmalloc) is used in video> > drivers.  I suppose they don't work as well, right?
Well, our FB driver is aware of the problem. I can't say much aboutother ones...
> > DRM driver uses __vmalloc() with PAGE_KERNEL_NOCACHE, but it's only> > for PPC32 non-coherent.
Hm. PPC with non-coherent cache?
/* * Only on coherent architectures, we can mmap the status and the control records * for effcient data transfer.  On others, we have to use HWSYNC ioctl... */#if defined(CONFIG_X86) || defined(CONFIG_PPC) || defined(CONFIG_ALPHA)                                   ^^^^^^^^^^/* * mmap status record */static struct page * snd_pcm_mmap_status_nopage(struct vm_area_struct *area,                                                unsigned long address, int *type)
> x86 does it also, via its PAGE_AGP definition.> > There are not that many platforms that define PAGE_KERNEL_NOCACHE though,> so this gets a bit messy..
Oh, bloody hell, I haven't realised that!
> Yeah, that's not sexy, but maybe the only working case right now> > (better with arch-specific ifdefs).
The question is what ifdefs to use ;-) Because the cached/uncacheddecision must be consistent between snd_pcm_default_mmap() and bufferallocation...
What a mess! ;-)
Paweł
_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux