On Tue, 26 Jan 2010 15:30:10 +1100 Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote: > On Mon, 2010-01-25 at 18:35 -0800, adharmap@xxxxxxxxxxxxxx wrote: > > From: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxx> > > > > Tests have shown that there is a significant performance gain > > when a driver uses mapping/unmapping functions without a barrier > > multiple times and calls dsb() only after the last buffer. This > > api adds support for barrierless dma operations on ARMv6 > > and ARMv7. > > Gotta love when each architecture has subtely different barriers > semantics ... > > This is ARM stuff at this stage and as such not a huge deal to me but I > don't like seeing new arch specific API extending generic ones for > drivers, it's just going to make it harder when those drivers start > using them and those devices are use on other archs. Completely agreed. Adding architecture specific DMA API is a really bad idea. We need to keep the DMA API that works for all the architectures. > There are people nowadays putting AXI bridges and the whole ARM > paraphernalia of IP cores behind them on PowerPC cores for example and I > can see that happening with x86 as well. > > In your case, I believe your are fixing the wrong problem anyways. The > right approach would be instead to put all your buffer into an sglist > and use dma_map/unmap_sg(). Agreed again. That's exactly what I suggested before: http://marc.info/?l=linux-kernel&m=126294076917753&w=2 -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html