aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/dmaengine.h
diff options
context:
space:
mode:
authorVinod Koul <vkoul@kernel.org>2020-11-09 14:24:49 +0530
committerVinod Koul <vkoul@kernel.org>2020-11-24 21:42:04 +0530
commite7bbb7acabf47d74672e0e314bed4d452d2097b4 (patch)
tree0837f935cda2ac42a6bc6ac10cc53fbd9a3c6ef6 /include/linux/dmaengine.h
parentdt-bindings: dmaengine: Document qcom,gpi dma binding (diff)
downloadlinux-dev-e7bbb7acabf47d74672e0e314bed4d452d2097b4.tar.xz
linux-dev-e7bbb7acabf47d74672e0e314bed4d452d2097b4.zip
dmaengine: add peripheral configuration
Some complex dmaengine controllers have capability to program the peripheral device, so pass on the peripheral configuration as part of dma_slave_config Link: https://lore.kernel.org/r/20201109085450.24843-3-vkoul@kernel.org Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r--include/linux/dmaengine.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index dd357a747780..493a047ed0a2 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -418,6 +418,9 @@ enum dma_slave_buswidth {
* @slave_id: Slave requester id. Only valid for slave channels. The dma
* slave peripheral will have unique id as dma requester which need to be
* pass as slave config.
+ * @peripheral_config: peripheral configuration for programming peripheral
+ * for dmaengine transfer
+ * @peripheral_size: peripheral configuration buffer size
*
* This struct is passed in as configuration data to a DMA engine
* in order to set up a certain channel for DMA transport at runtime.
@@ -443,6 +446,8 @@ struct dma_slave_config {
u32 dst_port_window_size;
bool device_fc;
unsigned int slave_id;
+ void *peripheral_config;
+ size_t peripheral_size;
};
/**