> > >No, just map an uncached, unbuffered memmory space for the PCI environment 
> > >and the problem will go away (if it is a cache related issue, that is...)
> > 
> > It's not quite that simple.  We already map PCI I/O and memory uncached.  The 
> > difficulty with DMA-enabled network drivers is that they want to access main 
> > memory which obviously needs to be cached for performance reasons.  So 
> > explicit synchronisation instructions are needed.
> > 
> > We've previously kicked around the idea of adding a GFP_UNCACHED flag to 
> > __get_free_page to help with this but nobody has implemented it yet.
> 
> This doesnt help you in general. Having the ring buffer uncached on a
> lance is the wrong solution (tm) for most platforms. Its better to flush
> the page out of cache and push it to memory when writing. That gets you
> things like burst writes.

Accept my apologies. I re-read the code once again (and not as fast as the 
last time) and found that only some parts of the PCI stuff had uncached 
MMU entries and that there did, indeed, exist calls to SysDcacheFlush() in 
my code at those points mentioned above.

/Olof

Olof Backing     Net Insight AB              Phone: +46-8 449 22 36
                 Ingenj�rsv�gen 3, 2tr       Fax:   +46-8 449 22 40
                 S-117 43 Stockholm          mailto:[EMAIL PROTECTED]
                 Sweden                      http://www.netinsight.se
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to