From: Vinod Koul Date: Fri, 7 Aug 2020 05:43:37 +0000 (+0530) Subject: Merge branch 'topic/xilinx' into fixes X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=00043a2689232631f39ebbf6719d545b1d799086;p=linux.git Merge branch 'topic/xilinx' into fixes Conflicts: Documentation/driver-api/dmaengine/provider.rst include/linux/dmaengine.h --- 00043a2689232631f39ebbf6719d545b1d799086 diff --cc Documentation/driver-api/dmaengine/provider.rst index 5773421fe9556,f896acccdfeea..56cd576039805 --- a/Documentation/driver-api/dmaengine/provider.rst +++ b/Documentation/driver-api/dmaengine/provider.rst @@@ -239,22 -239,27 +239,43 @@@ Currently, the types available are want to transfer a portion of uncompressed data directly to the display to print it +- DMA_COMPLETION_NO_ORDER + + - The device does not support in order completion. + + - The driver should return DMA_OUT_OF_ORDER for device_tx_status if + the device is setting this capability. + + - All cookie tracking and checking API should be treated as invalid if + the device exports this capability. + + - At this point, this is incompatible with polling option for dmatest. + + - If this cap is set, the user is recommended to provide an unique + identifier for each descriptor sent to the DMA device in order to + properly track the completion. + + - DMA_REPEAT + + - The device supports repeated transfers. A repeated transfer, indicated by + the DMA_PREP_REPEAT transfer flag, is similar to a cyclic transfer in that + it gets automatically repeated when it ends, but can additionally be + replaced by the client. + + - This feature is limited to interleaved transfers, this flag should thus not + be set if the DMA_INTERLEAVE flag isn't set. This limitation is based on + the current needs of DMA clients, support for additional transfer types + should be added in the future if and when the need arises. + + - DMA_LOAD_EOT + + - The device supports replacing repeated transfers at end of transfer (EOT) + by queuing a new transfer with the DMA_PREP_LOAD_EOT flag set. + + - Support for replacing a currently running transfer at another point (such + as end of burst instead of end of transfer) will be added in the future + based on DMA clients needs, if and when the need arises. + These various types will also affect how the source and destination addresses change over time. diff --cc include/linux/dmaengine.h index d718671bfd25b,328e3aca7f51b..9d8e8ebf6d120 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@@ -62,7 -61,8 +62,9 @@@ enum dma_transaction_type DMA_SLAVE, DMA_CYCLIC, DMA_INTERLEAVE, + DMA_COMPLETION_NO_ORDER, + DMA_REPEAT, + DMA_LOAD_EOT, /* last transaction type for creation of the capabilities mask */ DMA_TX_TYPE_END, };