lkml.org 
[lkml]   [2010]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [RFC PATCH] dma: Add barrierless dma mapping/unmapping api
From
On Tue, 26 Jan 2010 15:30:10 +1100
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:

> On Mon, 2010-01-25 at 18:35 -0800, adharmap@codeaurora.org wrote:
> > From: Abhijeet Dharmapurikar <adharmap@quicinc.com>
> >
> > 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


\
 
 \ /
  Last update: 2010-01-26 05:47    [W:0.070 / U:24.632 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site