On Tue, 26 Jan 2010 12:11:34 -0800 Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> wrote: > FUJITA Tomonori wrote: > > 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> > >>> > > > >> 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 > > I somehow missed your post, my apologies. Agreed that dma_map/unmap_sg > would be the correct api to use here, however they still call the > dmac_.*_range to map buffers. Hmm, sounds like arm's implementation issue. dma_map_sg API doesn't require such. dma_map_sg API gives what you want, do a sync only after mapping the last buffer. > I could change those calls to do a barrier > only after mapping the last buffer. This would be much more cleaner > than introducing a .*_nobarrier API. -- 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