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
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to