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: 272420214d26 ("dmaengine: Add DMA_CTRL_REUSE")
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
        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
 
  *     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 {
 
        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);