mirror of
https://github.com/torvalds/linux.git
synced 2024-11-07 20:51:47 +00:00
4a776f0aa9
This client tests DMA memcpy using various lengths and various offsets into the source and destination buffers. It will initialize both buffers with a repeatable pattern and verify that the DMA engine copies the requested region and nothing more. It will also verify that the bytes aren't swapped around, and that the source buffer isn't modified. The dmatest module can be configured to test a specific device, a specific channel. It can also test multiple channels at the same time, and it can start multiple threads competing for the same channel. Changes since v2: * Support testing multiple channels at the same time * Support testing with multiple threads competing for the same channel * Use counting test patterns in order to catch byte ordering issues Changes since v1: * Remove extra dashes around "help" * Remove "default n" from Kconfig * Turn TEST_BUF_SIZE into a module parameter * Return DMA_NAK instead of DMA_DUP * Print unhandled events * Support testing specific channels and devices * Move to the end of the Makefile Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com> Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
83 lines
1.9 KiB
Plaintext
83 lines
1.9 KiB
Plaintext
#
|
|
# DMA engine configuration
|
|
#
|
|
|
|
menuconfig DMADEVICES
|
|
bool "DMA Engine support"
|
|
depends on !HIGHMEM64G && HAS_DMA
|
|
help
|
|
DMA engines can do asynchronous data transfers without
|
|
involving the host CPU. Currently, this framework can be
|
|
used to offload memory copies in the network stack and
|
|
RAID operations in the MD driver. This menu only presents
|
|
DMA Device drivers supported by the configured arch, it may
|
|
be empty in some cases.
|
|
|
|
if DMADEVICES
|
|
|
|
comment "DMA Devices"
|
|
|
|
config INTEL_IOATDMA
|
|
tristate "Intel I/OAT DMA support"
|
|
depends on PCI && X86
|
|
select DMA_ENGINE
|
|
select DCA
|
|
help
|
|
Enable support for the Intel(R) I/OAT DMA engine present
|
|
in recent Intel Xeon chipsets.
|
|
|
|
Say Y here if you have such a chipset.
|
|
|
|
If unsure, say N.
|
|
|
|
config INTEL_IOP_ADMA
|
|
tristate "Intel IOP ADMA support"
|
|
depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
|
|
select ASYNC_CORE
|
|
select DMA_ENGINE
|
|
help
|
|
Enable support for the Intel(R) IOP Series RAID engines.
|
|
|
|
config FSL_DMA
|
|
bool "Freescale MPC85xx/MPC83xx DMA support"
|
|
depends on PPC
|
|
select DMA_ENGINE
|
|
---help---
|
|
Enable support for the Freescale DMA engine. Now, it support
|
|
MPC8560/40, MPC8555, MPC8548 and MPC8641 processors.
|
|
The MPC8349, MPC8360 is also supported.
|
|
|
|
config MV_XOR
|
|
bool "Marvell XOR engine support"
|
|
depends on PLAT_ORION
|
|
select ASYNC_CORE
|
|
select DMA_ENGINE
|
|
---help---
|
|
Enable support for the Marvell XOR engine.
|
|
|
|
config DMA_ENGINE
|
|
bool
|
|
|
|
comment "DMA Clients"
|
|
depends on DMA_ENGINE
|
|
|
|
config NET_DMA
|
|
bool "Network: TCP receive copy offload"
|
|
depends on DMA_ENGINE && NET
|
|
default (INTEL_IOATDMA || FSL_DMA)
|
|
help
|
|
This enables the use of DMA engines in the network stack to
|
|
offload receive copy-to-user operations, freeing CPU cycles.
|
|
|
|
Say Y here if you enabled INTEL_IOATDMA or FSL_DMA, otherwise
|
|
say N.
|
|
|
|
config DMATEST
|
|
tristate "DMA Test client"
|
|
depends on DMA_ENGINE
|
|
help
|
|
Simple DMA test client. Say N unless you're debugging a
|
|
DMA Device driver.
|
|
|
|
endif
|