Skip to content

towards an async_tx update for 2.6.25

Dan Williams lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4async_tx: kill ASYNC_TX_ASSUME_COHERENTcrypto/async_tx/async_memcpy.c crypto/async_tx/async_memset.c crypto/async_tx/async_xor.c +1 more+14 -330 replies
2/4async_tx: kill tx_set_src and tx_set_dest methodscrypto/async_tx/async_memcpy.c crypto/async_tx/async_memset.c crypto/async_tx/async_xor.c +5 more+178 -1961 reply
3/4async_tx: replace 'int_en' with operation preparation flagscrypto/async_tx/async_memcpy.c crypto/async_tx/async_memset.c crypto/async_tx/async_xor.c +5 more+62 -432 replies
4/4async_tx: allow architecture specific async_tx_find_channel implementationscrypto/async_tx/async_memcpy.c crypto/async_tx/async_memset.c crypto/async_tx/async_tx.c +2 more+22 -90 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] towards an async_tx update for 2.6.25

Prompted by Yuri's RAID6 acceleration implementation [1], and Haavard's DMA-slave interface [2], this series cleans up the async_tx api and prepares it for these new features. The most invasive change is the removal of the tx_set_src and tx_set_dest methods in patch 2/4, drivers now receive all necessary operation information at 'prep' time.

Still on the to do list:
* Pull the mpc85xx driver from -mm and integrate these api changes
* Apply Haavard's dma-test-client [3]. Look into extending it for other operations and async_tx channel switching testing
* Teach async_tx about drivers that do not support channel switching

This series is based on 2.6.24-rc6.

Dan Williams (4):
async_tx: kill ASYNC_TX_ASSUME_COHERENT
async_tx: kill tx_set_src and tx_set_dest methods
async_tx: replace 'int_en' with operation preparation flags
async_tx: allow architecture specific async_tx_find_channel implementations

 crypto/async_tx/async_memcpy.c         |   38 ++++-----
 crypto/async_tx/async_memset.c         |   28 +++---
 crypto/async_tx/async_tx.c             |    6 +-
 crypto/async_tx/async_xor.c            |  120 +++++++++++++++++------------
 drivers/dma/Kconfig                    |    1 +
 drivers/dma/dmaengine.c                |   49 +++++++-----
 drivers/dma/ioat_dma.c                 |   43 ++++------
 drivers/dma/iop-adma.c                 |  136 ++++++++++++--------------------
 include/asm-arm/arch-iop13xx/adma.h    |   18 +++--
 include/asm-arm/hardware/iop3xx-adma.h |   30 ++++---
 include/linux/async_tx.h               |   13 ++-
 include/linux/dmaengine.h              |   29 ++++---
 12 files changed, 253 insertions(+), 258 deletions(-)

--
Dan

[1] http://marc.info/?l=linux-raid&m=119676789912370&w=2
[2] http://marc.info/?l=linux-kernel&m=119582072930013&w=2
[3] http://marc.info/?l=linux-kernel&m=119583211214496&w=2