Re: ALSA on MIPS platform

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

 



At Sat, 28 Jan 2006 00:45:40 +0900 (JST),
Atsushi Nemoto wrote:
> 
> >>>>> On Thu, 26 Jan 2006 19:19:22 +0000 (GMT), Hugh Dickins <[email protected]> said:
> 
> >> Well, the whole page-reserve kludge should disappear anyway in near
> >> future.  Right now it's in the process.
> 
> hugh> Yes, mark_pages() and unmark_pages() can just be removed as soon
> hugh> as you like.
> 
> When I tried undefining NEED_RESERVE_PAGES for MIPS on 2.6.13,
> something did not work (I can not remember details...).  But it seems
> things have been changed in 2.6.15.  I'll try again.  Thanks.

Yes, it was changed pretty much.

> hugh> I didn't reply to the original posting because I noticed they're
> hugh> not all of the virt_to_page()s in sound/core, and sometimes a
> hugh> part-answer distracts someone more competent from responding
> hugh> with the full answer.
> 
> Yes, there is still virt_to_page() in snd_pcm_mmap_data_nopage() and
> snd_malloc_sgbuf_pages().  If dma_mmap_coherent() was ported, former
> might disappear but latter might not.  So it seems virt_to_page()
> issue still remains...

In theory, you can call dma_mmap_coherent() on each page obtained via
dma_alloc_coherent() in the case of sg-buffer.  It should work without
much overhead on most of archs, but ones like sparc32 may have
problems because each alloc_coherent call results in another
allocation a resource struct (if I understand the code correctly).

So, I rewrote the code to use the normal get_page() + map/sync.
Hopefully this works for archs with non-coherent mm...


Takashi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux