summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-02-17 11:47:17 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2026-02-17 11:47:17 -0800
commite81dd54f62c753dd423d1a9b62481a1c599fb975 (patch)
treeab37f1250243f750ee9ce551007179931238a5b3 /include/linux
parent9b725d5959a1d9bb670ccdb23add45f0eaafefb5 (diff)
parentab736ed52e3409b58a4888715e4425b6e8ac444f (diff)
Merge tag 'dmaengine-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
Pull dmaengine updates from Vinod Koul: "Core: - Add Frank Li as susbstem reviewer to help with reviews New Support: - Mediatek support for Dimensity 6300 and 9200 controller - Qualcomm Kaanapali and Glymur GPI DMA engine - Synopsis DW AXI Agilex5 - Renesas RZ/V2N SoC - Atmel microchip lan9691-dma - Tegra ADMA tegra264 Updates: - sg_nents_for_dma() helper use in subsystem - pm_runtime_mark_last_busy() redundant call update for subsystem - Residue support for xilinx AXIDMA driver - Intel Max SGL Size Support and capabilities for DSA3.0 - AXI dma larger than 32bits address support" * tag 'dmaengine-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (64 commits) dmaengine: add Frank Li as reviewer dt-bindings: dma: qcom,gpi: Update max interrupts lines to 16 dmaengine: fsl-edma: don't explicitly disable clocks in .remove() dmaengine: xilinx: xdma: use sg_nents_for_dma() helper dmaengine: sh: use sg_nents_for_dma() helper dmaengine: sa11x0: use sg_nents_for_dma() helper dmaengine: qcom: bam_dma: use sg_nents_for_dma() helper dmaengine: qcom: adm: use sg_nents_for_dma() helper dmaengine: pxa-dma: use sg_nents_for_dma() helper dmaengine: lgm: use sg_nents_for_dma() helper dmaengine: k3dma: use sg_nents_for_dma() helper dmaengine: dw-axi-dmac: use sg_nents_for_dma() helper dmaengine: bcm2835-dma: use sg_nents_for_dma() helper dmaengine: axi-dmac: use sg_nents_for_dma() helper dmaengine: altera-msgdma: use sg_nents_for_dma() helper scatterlist: introduce sg_nents_for_dma() helper dmaengine: idxd: Add Max SGL Size Support for DSA3.0 dmaengine: idxd: Expose DSA3.0 capabilities through sysfs dmaengine: sh: rz-dmac: Make channel irq local dmaengine: pl08x: Fix comment stating the difference between PL080 and PL081 ...
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/dma/edma.h24
-rw-r--r--include/linux/scatterlist.h2
-rw-r--r--include/linux/shdma-base.h28
3 files changed, 27 insertions, 27 deletions
diff --git a/include/linux/dma/edma.h b/include/linux/dma/edma.h
index 3080747689f6..270b5458aecf 100644
--- a/include/linux/dma/edma.h
+++ b/include/linux/dma/edma.h
@@ -27,7 +27,7 @@ struct dw_edma_region {
};
/**
- * struct dw_edma_core_ops - platform-specific eDMA methods
+ * struct dw_edma_plat_ops - platform-specific eDMA methods
* @irq_vector: Get IRQ number of the passed eDMA channel. Note the
* method accepts the channel id in the end-to-end
* numbering with the eDMA write channels being placed
@@ -63,19 +63,17 @@ enum dw_edma_chip_flags {
/**
* struct dw_edma_chip - representation of DesignWare eDMA controller hardware
* @dev: struct device of the eDMA controller
- * @id: instance ID
* @nr_irqs: total number of DMA IRQs
- * @ops DMA channel to IRQ number mapping
- * @flags dw_edma_chip_flags
- * @reg_base DMA register base address
- * @ll_wr_cnt DMA write link list count
- * @ll_rd_cnt DMA read link list count
- * @rg_region DMA register region
- * @ll_region_wr DMA descriptor link list memory for write channel
- * @ll_region_rd DMA descriptor link list memory for read channel
- * @dt_region_wr DMA data memory for write channel
- * @dt_region_rd DMA data memory for read channel
- * @mf DMA register map format
+ * @ops: DMA channel to IRQ number mapping
+ * @flags: dw_edma_chip_flags
+ * @reg_base: DMA register base address
+ * @ll_wr_cnt: DMA write link list count
+ * @ll_rd_cnt: DMA read link list count
+ * @ll_region_wr: DMA descriptor link list memory for write channel
+ * @ll_region_rd: DMA descriptor link list memory for read channel
+ * @dt_region_wr: DMA data memory for write channel
+ * @dt_region_rd: DMA data memory for read channel
+ * @mf: DMA register map format
* @dw: struct dw_edma that is filled by dw_edma_probe()
*/
struct dw_edma_chip {
diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h
index 29f6ceb98d74..6de1a2434299 100644
--- a/include/linux/scatterlist.h
+++ b/include/linux/scatterlist.h
@@ -441,6 +441,8 @@ static inline void sg_init_marker(struct scatterlist *sgl,
int sg_nents(struct scatterlist *sg);
int sg_nents_for_len(struct scatterlist *sg, u64 len);
+int sg_nents_for_dma(struct scatterlist *sgl, unsigned int sglen, size_t len);
+
struct scatterlist *sg_last(struct scatterlist *s, unsigned int);
void sg_init_table(struct scatterlist *, unsigned int);
void sg_init_one(struct scatterlist *, const void *, unsigned int);
diff --git a/include/linux/shdma-base.h b/include/linux/shdma-base.h
index 03ba4dab2ef7..b6827c06d332 100644
--- a/include/linux/shdma-base.h
+++ b/include/linux/shdma-base.h
@@ -19,11 +19,11 @@
#include <linux/types.h>
/**
- * shdma_pm_state - DMA channel PM state
- * SHDMA_PM_ESTABLISHED: either idle or during data transfer
- * SHDMA_PM_BUSY: during the transfer preparation, when we have to
+ * enum shdma_pm_state - DMA channel PM state
+ * @SHDMA_PM_ESTABLISHED: either idle or during data transfer
+ * @SHDMA_PM_BUSY: during the transfer preparation, when we have to
* drop the lock temporarily
- * SHDMA_PM_PENDING: transfers pending
+ * @SHDMA_PM_PENDING: transfers pending
*/
enum shdma_pm_state {
SHDMA_PM_ESTABLISHED,
@@ -74,18 +74,18 @@ struct shdma_chan {
/**
* struct shdma_ops - simple DMA driver operations
- * desc_completed: return true, if this is the descriptor, that just has
+ * @desc_completed: return true, if this is the descriptor, that just has
* completed (atomic)
- * halt_channel: stop DMA channel operation (atomic)
- * channel_busy: return true, if the channel is busy (atomic)
- * slave_addr: return slave DMA address
- * desc_setup: set up the hardware specific descriptor portion (atomic)
- * set_slave: bind channel to a slave
- * setup_xfer: configure channel hardware for operation (atomic)
- * start_xfer: start the DMA transfer (atomic)
- * embedded_desc: return Nth struct shdma_desc pointer from the
+ * @halt_channel: stop DMA channel operation (atomic)
+ * @channel_busy: return true, if the channel is busy (atomic)
+ * @slave_addr: return slave DMA address
+ * @desc_setup: set up the hardware specific descriptor portion (atomic)
+ * @set_slave: bind channel to a slave
+ * @setup_xfer: configure channel hardware for operation (atomic)
+ * @start_xfer: start the DMA transfer (atomic)
+ * @embedded_desc: return Nth struct shdma_desc pointer from the
* descriptor array
- * chan_irq: process channel IRQ, return true if a transfer has
+ * @chan_irq: process channel IRQ, return true if a transfer has
* completed (atomic)
*/
struct shdma_ops {