[PATCH] ucc_geth: Rework the TX logic.
Scott Wood
scottwood at freescale.com
Wed Apr 1 01:37:48 EST 2009
Joakim Tjernlund wrote:
> I am a bit confused, what isn't worth it?
Enabling cacheing on MURAM, at least when used for buffer descriptors.
The cache line ping-pong would probably outweigh the cost of the
uncached accesses.
> Currently MURAM isn't used by ucc_geth,
Hmm. I looked in the driver and saw numerous muram allocations, but I
didn't try to follow the driver enough to ensure that they were for the
ring. I'd assumed it was similar to the CPM1/CPM2 driver.
> 3) as gianfar, dma_alloc_coherent(). I presume this is uncacheable memory?
It would be uncacheable on systems without coherent DMA, but I don't
think there are any such systems that use gianfar.
> My guess would be 2 or 3. Do they have the same synchronization
> sematics?
No, unfortunately. PowerPC sync instructions are a bit complicated.
For example, you can use eieio to sync between reading the interrupt
status register and checking the ring buffer, if they're both mapped
I+G, but not if the former is I+G and the latter is cacheable (you need
a full sync in that case).
-Scott
More information about the Linuxppc-dev
mailing list