[PATCH 03/04] Freescale Ethernet combined driver

Dan Malek dan at embeddededge.com
Wed May 11 04:14:23 EST 2005


On May 10, 2005, at 9:14 AM, Pantelis Antoniou wrote:

> What's the recommended function to call to go from a
> virtual -> physical address, but without doing a cache
> flush/invalidate?

It doesn't have anything to do with cache flush/invalidate,
it has to do with the way the memory is mapped to a different
VM space.  You do not (and in some cases can't) perform
invalidate/flush on uncached addresses.

What we need to do is fix up the CPM allocation functions,
so when it does the dma_alloc_consistent (or whatever the
name is today) it keeps both the physical and virtual addresses.
When we call cpm_hostalloc(), it has to return both the physical
and virtual addresses, and the driver must take note of them.
I had this in the drivers at one time in 2.4, I don't know where
it went ......

The drivers themselves must do the dma_consistent_alloc
on large buffers, and also keep track of both physical and
virtual addresses.  Again, this was done once before ....


Thanks.


	-- Dan




More information about the Linuxppc-embedded mailing list