Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+5
+5
include/linux/dmaengine.h
··· 418 418 * @slave_id: Slave requester id. Only valid for slave channels. The dma 419 419 * slave peripheral will have unique id as dma requester which need to be 420 420 * pass as slave config. 421 + * @peripheral_config: peripheral configuration for programming peripheral 422 + * for dmaengine transfer 423 + * @peripheral_size: peripheral configuration buffer size 421 424 * 422 425 * This struct is passed in as configuration data to a DMA engine 423 426 * in order to set up a certain channel for DMA transport at runtime. ··· 446 443 u32 dst_port_window_size; 447 444 bool device_fc; 448 445 unsigned int slave_id; 446 + void *peripheral_config; 447 + size_t peripheral_size; 449 448 }; 450 449 451 450 /**