On Tue, 18 Mar 2003, Laurent Canet wrote:

> Hi,
> 
> On the HPPA architecture, devices (including sound ones) are memory-mapped. 
> On particular machines, memory access to devices are not consistent,
> i.e. data wrote to memory could be cached by the CPU, thus inacessible
> to the device. 
> To avoid inconsistency in memory writes, there are arch-dep functions 
> that flush write buffers. They are defined in <asm/io.h> as
> dma_cache_inv(start,size), dma_cache_wback and dma_cache_wback_inv; and should be 
> called after all DMA memory writes.
> 
> On architectures that don't have such cache issues (most ia32, ia64, alpha, mips, 
> ppc, ...), they are just NOP.
> 
> I grepped out the whole alsa source tree and didn't find any occurences
> of dma_cache_* functions. Who should implement these calls, low level drivers or PCM 
> middle layer ? 

This code belongs to both midlevel and lowlevel drivers. See 
snd_pcm_lib_*_transfer() routines in pcm_lib.c.

Also, we'll probably need to define these functions in our library, 
because we can access directly to DMA ring buffers there, too.

                                                Jaroslav

-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs



-------------------------------------------------------
This SF.net email is sponsored by: Does your code think in ink? 
You could win a Tablet PC. Get a free Tablet PC hat just for playing. 
What are you waiting for?
http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to