From: Dan Williams <dan.j.williams@intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>,
Maciej Sosnowski <maciej.sosnowski@intel.com>,
g.liakhovetski@gmx.de, sfr@canb.auug.org.au,
linux-kernel <linux-kernel@vger.kernel.org>,
netdev@vger.kernel.org
Subject: [git pull] async_tx/dmaengine update for 2.6.29 (part 1)
Date: Wed, 07 Jan 2009 12:19:09 -0700 [thread overview]
Message-ID: <1231355949.4895.28.camel@dwillia2-linux.ch.intel.com> (raw)
Hi Linus, please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx.git next
...to receive:
Dan Williams (22):
async_tx, dmaengine: document channel allocation and api rework
dmaengine: remove dependency on async_tx
dmaengine: up-level reference counting to the module level
dmaengine: centralize channel allocation, introduce dma_find_channel
dmaengine: provide a common 'issue_pending_all' implementation
net_dma: convert to dma_find_channel
dmaengine: introduce dma_request_channel and private channels
dmatest: convert to dma_request_channel
atmel-mci: convert to dma_request_channel and down-level dma_slave
dmaengine: replace dma_async_client_register with dmaengine_get
dmaengine: kill struct dma_client and supporting infrastructure
dmaengine: remove 'bigref' infrastructure
dmaengine: kill enum dma_state_client
iop-adma: let devm do its job, don't duplicate free
iop-adma: kill debug BUG_ON
iop-adma: enable module removal
ioat: do not perform removal actions at shutdown
dmaengine: add a release for dma class devices and dependent infrastructure
dmaengine: use idr for registering dma device numbers
dmaengine: advertise all channels on a device to dma_filter_fn
dmaengine: bump initcall level to arch_initcall
ioat: fix self test for multi-channel case
Documentation/crypto/async-tx-api.txt | 96 ++---
Documentation/dmaengine.txt | 1 +
arch/avr32/include/asm/atmel-mci.h | 6 +-
arch/avr32/mach-at32ap/at32ap700x.c | 15 +-
crypto/async_tx/async_tx.c | 350 +---------------
drivers/dca/dca-core.c | 2 +-
drivers/dma/Kconfig | 2 -
drivers/dma/dmaengine.c | 778 ++++++++++++++++++++++++---------
drivers/dma/dmatest.c | 129 ++----
drivers/dma/dw_dmac.c | 119 +++---
drivers/dma/fsldma.c | 5 +-
drivers/dma/ioat.c | 92 ++---
drivers/dma/ioat_dma.c | 18 +-
drivers/dma/iop-adma.c | 30 +--
drivers/dma/mv_xor.c | 11 +-
drivers/mmc/host/atmel-mci.c | 103 ++----
include/linux/async_tx.h | 17 +-
include/linux/dmaengine.h | 181 +++------
include/linux/dw_dmac.h | 31 +-
include/linux/netdevice.h | 3 -
include/net/netdma.h | 11 -
net/core/dev.c | 149 +------
net/ipv4/tcp.c | 5 +-
net/ipv4/tcp_input.c | 2 +-
net/ipv4/tcp_ipv4.c | 2 +-
net/ipv6/tcp_ipv6.c | 2 +-
26 files changed, 900 insertions(+), 1260 deletions(-)
create mode 100644 Documentation/dmaengine.txt
1) Channel allocation rework
The dmaengine subsystem collects and advertises dma channels for two
classes of users in the kernel, memory-to-memory offload and traditional
device-to-memory DMA. The original design was driven by the
memory-to-memory case and is starting to show its limitations now that
more device-to-memory DMA users are appearing. The primary difference
between the two classes is that memory-to-memory offload is very
amenable to channel sharing and is tolerant of dynamic channel changes.
Compare this to the device-to-memory case where a channel must be
dedicated to a device and may have platform-specific reasons why it
cannot talk to a different device.
This rework allows channels to be targeted to a public mem-to-mem pool
or be reserved for an exclusive (private) dev-to-mem allocation.
2) Fixes for dmaengine
Stephen Hemminger pointed out that the dmaengine sysfs implementation
was broken. It now has a proper ->release() routine.
3) Fixes for ioat
The previous channel allocation scheme covered a shutdown bug.
4) Fixes for iop-adma
Some devm fixups, and module removal enablement.
These commits have been in linux-next, although I bit the bullet and
rebased recently to cover a git-bisect breakage case. This was caused
by net-next-2.6.git moving a routine that was deleted by this branch.
Thanks to Stephen Rothwell for pointing this out.
There is at least 1 pending driver that depends on this code, it may
come in a "part 2" pull request once some final comments are resolved.
Thanks!
Dan
reply other threads:[~2009-01-07 19:19 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1231355949.4895.28.camel@dwillia2-linux.ch.intel.com \
--to=dan.j.williams@intel.com \
--cc=akpm@linux-foundation.org \
--cc=g.liakhovetski@gmx.de \
--cc=hskinnemoen@atmel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.sosnowski@intel.com \
--cc=netdev@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.