Thread (66 messages) 66 messages, 12 authors, 2011-07-26

[PATCH 5/8] ARM: dma-mapping: move all dma bounce code to separate dma ops structure

From: arnd@arndb.de (Arnd Bergmann)
Date: 2011-06-24 15:47:23
Also in: linux-arch, linux-mm

On Monday 20 June 2011, Marek Szyprowski wrote:
On Monday, June 20, 2011 4:43 PM Russell King - ARM Linux wrote:
quoted
On Mon, Jun 20, 2011 at 09:50:10AM +0200, Marek Szyprowski wrote:
quoted
This patch removes dma bounce hooks from the common dma mapping
implementation on ARM architecture and creates a separate set of
dma_map_ops for dma bounce devices.
Why all this additional indirection for no gain?
I've did it to really separate dmabounce code and let it be completely 
independent of particular internal functions of the main generic dma-mapping
code.

dmabounce is just one of possible dma-mapping implementation and it is really
convenient to have it closed into common interface (dma_map_ops) rather than
having it spread around and hardcoded behind some #ifdefs in generic ARM
dma-mapping.

There will be also other dma-mapping implementations in the future - I 
thinking mainly of some iommu capable versions. 

In terms of speed I really doubt that these changes have any impact on the
system performance, but they significantly improves the code readability 
(see next patch with cleanup of dma-mapping.c).
Yes. I believe the main effect of splitting out dmabounce into its own
set of operations is improved readability for people that are not
familiar with the existing code (which excludes Russell ;-) ), by
separating the two codepaths and losing various #ifdef.

The simplification becomes more obvious when you look at patch 6, which
removes a lot of the code that becomes redundant after this one.

Still, patches 5 and 6 are certainly not essential, nothing depends on
that and if Russell still doesn't like them, they can easily be dropped.

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help