linux/Documentation/driver-api
Frank Li 796bdb33e8 dmaengine: Add API to combine configuration and preparation (sg and single)
Previously, configuration and preparation required two separate calls. This
works well when configuration is done only once during initialization.

However, in cases where the burst length or source/destination address must
be adjusted for each transfer, calling two functions is verbose and
requires additional locking to ensure both steps complete atomically.

Add a new API dmaengine_prep_config_single() and dmaengine_prep_config_sg()
and callback device_prep_config_sg() that combines configuration and
preparation into a single operation. If the configuration argument is
passed as NULL, fall back to the existing implementation.

Tested-by: Niklas Cassel <cassel@kernel.org>
Acked-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260521-dma_prep_config-v7-1-1f73f4899883@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2026-06-30 16:42:30 +05:30
..
80211 Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
acpi docs: driver-api: fix 6 spelling typos in Documentation/driver-api 2026-03-25 12:36:02 -06:00
backlight
coco Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
crypto Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
cxl docs: driver-api: fix 6 spelling typos in Documentation/driver-api 2026-03-25 12:36:02 -06:00
dmaengine dmaengine: Add API to combine configuration and preparation (sg and single) 2026-06-30 16:42:30 +05:30
driver-model driver core: platform: set mod_name in driver registration 2026-06-08 23:28:24 +02:00
early-userspace doc: early_userspace_support.rst: trivial fix: directory -> file 2026-02-23 14:52:36 -07:00
firmware Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
fpga
gpio Documentation: gpio: update the preferred method for using software node lookup 2026-04-08 15:52:26 +02:00
hte
i3c docs: driver-api: fix spelling of "buses". 2025-09-18 10:40:46 -06:00
iio docs: iio: triggered-buffers: use new helpers in example 2026-05-31 11:01:46 +01:00
md
media [GIT PULL for v7.2] media updates 2026-06-18 17:21:54 -07:00
mei
memory-devices Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
mmc Documentation: mmc: Add mmc-test doc 2024-09-05 12:13:39 +02:00
mtd mtd: spi-nor: Add steps for testing locking with CMP 2026-05-27 14:36:02 +02:00
nfc
nvdimm nvdimm/btt: Handle preemption in BTT lane acquisition 2026-06-01 13:53:24 -07:00
pci docs: driver-api: fix 6 spelling typos in Documentation/driver-api 2026-03-25 12:36:02 -06:00
phy docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
pldmfw Documentation: pldmfw: Demote library overview section 2025-11-05 11:29:30 -07:00
pm Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
rapidio
serial dt-bindings: serial: rs485: remove deprecated .txt binding stub 2026-05-22 11:47:18 +02:00
soundwire Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
surface_aggregator Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
thermal thermal: int340x: processor_thermal: Enable slow workload type hints 2026-01-07 21:42:10 +01:00
tty docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
usb docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
virtio
xilinx Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
aperture.rst
auxiliary_bus.rst drivers/base: Remove unused auxiliary_find_device 2024-10-14 08:21:09 +02:00
basics.rst docs: Update documentation to avoid mentioning of kernel.h 2025-12-22 14:59:18 -07:00
clk.rst clk: remove round_rate() clk ops 2026-02-22 17:38:21 -05:00
component.rst
connector.rst
console.rst
devfreq.rst
device_link.rst
device-io.rst docs: driver-api: fix spelling of "buses". 2025-09-18 10:40:46 -06:00
dma-buf.rst dma-buf: Remove DMA-BUF sysfs stats 2026-01-19 19:10:01 +05:30
dpll.rst dpll: add fractional frequency offset to pin-parent-device 2026-05-12 18:48:07 -07:00
edac.rst
eisa.rst docs: driver-api: eisa: add SPDX license identifier 2026-05-03 09:08:37 -06:00
extcon.rst Documentation: extcon: add documentation for Extcon subsystem 2024-12-08 21:59:40 +09:00
firewire.rst firewire: core: expose kernel API to schedule work item to process isochronous context 2024-09-08 13:05:48 +09:00
frame-buffer.rst
generic_pt.rst iommupt: Documentation fixes 2025-11-07 11:12:03 +01:00
generic-counter.rst docs: arm: generic-counter: Allow creating cross-references for ABI 2025-02-18 13:42:46 -07:00
hsi.rst
hw-recoverable-errors.rst vmcoreinfo: track and log recoverable hardware errors 2025-11-27 14:24:44 -08:00
i2c.rst
index.rst Documentation: use a source-read extension for the index link boilerplate 2026-01-23 11:59:34 -07:00
infiniband.rst RDMA/hfi1: Remove opa_vnic 2026-03-10 07:51:30 -04:00
infrastructure.rst driver core: add a faux bus for use when a simple device/bus is needed 2025-02-13 16:58:51 +01:00
input.rst
interconnect.rst docs: interconnect: Document consumer APIs and drop outdated text 2026-03-17 08:51:28 -06:00
io_ordering.rst
io-mapping.rst
ioctl.rst
ipmb.rst
ipmi.rst docs: ipmi: Fix path of the "hotmod" module parameter 2026-06-20 10:23:03 -05:00
isa.rst
libata.rst docs: driver-api: fix 6 spelling typos in Documentation/driver-api 2026-03-25 12:36:02 -06:00
mailbox.rst Documentation: adopt new coding style of type-aware kmalloc-family 2026-05-03 08:54:21 -06:00
men-chameleon-bus.rst
message-based.rst
misc_devices.rst
miscellaneous.rst
mtdnand.rst treewide: Update email address 2026-01-11 06:09:11 -10:00
ntb.rst Documentation: NTB: Fix typo 2025-05-19 09:04:21 -06:00
nvmem.rst nvmem: Remove unused nvmem cell table support 2025-05-21 14:28:27 +02:00
parport-lowlevel.rst Documentation: parport-lowlevel: Separate function listing code blocks 2025-11-10 12:47:36 -07:00
pin-control.rst pci-v6.18-changes 2025-10-06 10:41:03 -07:00
pps.rst Documentation: driver-api: pps: Add Intel Timed I/O PPS generator 2025-02-21 10:46:49 +01:00
ptp.rst
pwm.rst docs: pwm: Adapt Locking paragraph to reality 2025-07-07 08:39:36 +02:00
pwrseq.rst Documentation: pwrseq: Fix trivial misspellings 2024-11-22 10:36:53 -07:00
regulator.rst
reset.rst reset: convert the core API to using firmware nodes 2026-03-09 10:20:04 +01:00
rfkill.rst
s390-drivers.rst
scsi.rst docs: driver-api: fix spelling of "buses". 2025-09-18 10:40:46 -06:00
slimbus.rst
sm501.rst
spi.rst docs: driver-api: fix spelling of "buses". 2025-09-18 10:40:46 -06:00
switchtec.rst
sync_file.rst
target.rst
tee.rst tee: Adapt documentation to cover recent additions 2025-12-17 18:28:28 +01:00
uio-howto.rst Docs/driver-api/uio-howto: document mmap_prepare callback 2026-06-23 14:33:38 -06:00
vfio-mediated-device.rst
vfio-pci-device-specific-driver-acceptance.rst
vfio.rst
vme.rst staging: vme_user: replace deprecated mmap hook with mmap_prepare 2026-04-05 13:53:44 -07:00
w1.rst
wbrf.rst
wmi.rst platform/wmi: Add helper functions for WMI string conversions 2026-01-20 15:47:51 +02:00
xillybus.rst
zorro.rst