|
@@ -758,37 +758,7 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_sg(
|
|
|
src_sg, src_nents, flags);
|
|
|
}
|
|
|
|
|
|
-static inline int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps)
|
|
|
-{
|
|
|
- struct dma_device *device;
|
|
|
-
|
|
|
- if (!chan || !caps)
|
|
|
- return -EINVAL;
|
|
|
-
|
|
|
- device = chan->device;
|
|
|
-
|
|
|
- /* check if the channel supports slave transactions */
|
|
|
- if (!test_bit(DMA_SLAVE, device->cap_mask.bits))
|
|
|
- return -ENXIO;
|
|
|
-
|
|
|
- /*
|
|
|
- * Check whether it reports it uses the generic slave
|
|
|
- * capabilities, if not, that means it doesn't support any
|
|
|
- * kind of slave capabilities reporting.
|
|
|
- */
|
|
|
- if (!device->directions)
|
|
|
- return -ENXIO;
|
|
|
-
|
|
|
- caps->src_addr_widths = device->src_addr_widths;
|
|
|
- caps->dst_addr_widths = device->dst_addr_widths;
|
|
|
- caps->directions = device->directions;
|
|
|
- caps->residue_granularity = device->residue_granularity;
|
|
|
-
|
|
|
- caps->cmd_pause = !!device->device_pause;
|
|
|
- caps->cmd_terminate = !!device->device_terminate_all;
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
+int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps);
|
|
|
|
|
|
static inline int dmaengine_terminate_all(struct dma_chan *chan)
|
|
|
{
|