dmaengine: enable DMA_CTRL_REUSE
In the current state, the capability of transfer reuse can neither be
set by a slave dmaengine driver, nor used by a client driver, because
the capability is not available to dma_get_slave_caps().
Fix this by adding a way to declare the capability.
Fixes: 272420214d
("dmaengine: Add DMA_CTRL_REUSE")
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
Родитель
13bb26ae88
Коммит
9eeacd3a2f
|
@ -493,6 +493,7 @@ int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps)
|
|||
caps->dst_addr_widths = device->dst_addr_widths;
|
||||
caps->directions = device->directions;
|
||||
caps->residue_granularity = device->residue_granularity;
|
||||
caps->descriptor_reuse = device->descriptor_reuse;
|
||||
|
||||
/*
|
||||
* Some devices implement only pause (e.g. to get residuum) but no
|
||||
|
|
|
@ -659,6 +659,7 @@ enum dmaengine_alignment {
|
|||
* struct with auxiliary transfer status information, otherwise the call
|
||||
* will just return a simple status code
|
||||
* @device_issue_pending: push pending transactions to hardware
|
||||
* @descriptor_reuse: a submitted transfer can be resubmitted after completion
|
||||
*/
|
||||
struct dma_device {
|
||||
|
||||
|
@ -681,6 +682,7 @@ struct dma_device {
|
|||
u32 src_addr_widths;
|
||||
u32 dst_addr_widths;
|
||||
u32 directions;
|
||||
bool descriptor_reuse;
|
||||
enum dma_residue_granularity residue_granularity;
|
||||
|
||||
int (*device_alloc_chan_resources)(struct dma_chan *chan);
|
||||
|
|
Загрузка…
Ссылка в новой задаче