Em Thu, 9 Jun 2022 12:23:05 +0530 Vinod Koul <vkoul@xxxxxxxxxx> escreveu: > On 03-05-22, 13:07, Ben Walker wrote: > > This series adds support for polling async transactions for completion > > even if interrupts are disabled and trasactions can complete out of > > order. > > > > To do this, all DMA client assumptions about the behavior of > > dma_cookie_t have to be removed. Prior to this series, dma_cookie_t was > > a monotonically increasing integer and cookies could be compared to one > > another to determine if earlier operations had completed (up until the > > cookie wraps around, then it would break). > > > > Fortunately, only one out of the many, many DMA clients had any > > dependency on dma_cookie_t being anything more than an opaque handle. > > This is the pxa_camera driver and it is dealt with in patch 7 of this > > series. > > > > The series also does some API clean up and documents how dma_cookie_t > > should behave (i.e. there are no rules, it's just a handle). > > > > This closes out by adding support for .device_tx_status() to the idxd > > driver and then reverting the DMA_OUT_OF_ORDER patch that previously > > allowed idxd to opt-out of support for polling, which I think is a nice > > overall simplification to the damengine API. > > > > Herbert, David - Need an ack on patch 4. > > > > Mauro - Need an ack on patches 5 and 7. > > > > Matt, Alexandre - Need an ack on patch 6. > > Can you rebase and resend this, hopefully folks can ack the change... The mailing lists for each subsystem should also be c/c, in order to allow usual reviewers to take a look at the patches. In case of patches 5 and 7, they both should be c/c to linux-media@xxxxxxxxxxxxxxx. It also makes sense to c/c LKML, in case some of the reviewers want to see the full patch series. Regards, Mauro > > > > > Changes since version 1: > > - Broke up the change to remove dma_async_is_tx_complete into a single > > patch for each driver > > - Renamed dma_async_is_tx_complete to dmaengine_async_is_tx_complete. > > > > Ben Walker (15): > > dmaengine: Remove dma_async_is_complete from client API > > dmaengine: Move dma_set_tx_state to the provider API header > > dmaengine: Add dmaengine_async_is_tx_complete > > crypto: stm32/hash: Use dmaengine_async_is_tx_complete > > media: omap_vout: Use dmaengine_async_is_tx_complete > > rapidio: Use dmaengine_async_is_tx_complete > > media: pxa_camera: Use dmaengine_async_is_tx_complete > > dmaengine: Remove dma_async_is_tx_complete > > dmaengine: Remove last, used from dma_tx_state > > dmaengine: Providers should prefer dma_set_residue over > > dma_set_tx_state > > dmaengine: Remove dma_set_tx_state > > dmaengine: Add provider documentation on cookie assignment > > dmaengine: idxd: idxd_desc.id is now a u16 > > dmaengine: idxd: Support device_tx_status > > dmaengine: Revert "cookie bypass for out of order completion" > > > > Documentation/driver-api/dmaengine/client.rst | 24 ++---- > > .../driver-api/dmaengine/provider.rst | 64 ++++++++------ > > drivers/crypto/stm32/stm32-hash.c | 3 +- > > drivers/dma/amba-pl08x.c | 1 - > > drivers/dma/at_hdmac.c | 3 +- > > drivers/dma/dmaengine.c | 2 +- > > drivers/dma/dmaengine.h | 12 ++- > > drivers/dma/dmatest.c | 14 +-- > > drivers/dma/idxd/device.c | 1 + > > drivers/dma/idxd/dma.c | 86 ++++++++++++++++++- > > drivers/dma/idxd/idxd.h | 3 +- > > drivers/dma/imx-sdma.c | 3 +- > > drivers/dma/mmp_tdma.c | 3 +- > > drivers/dma/mxs-dma.c | 3 +- > > drivers/media/platform/omap/omap_vout_vrfb.c | 2 +- > > drivers/media/platform/pxa_camera.c | 15 +++- > > drivers/rapidio/devices/rio_mport_cdev.c | 3 +- > > include/linux/dmaengine.h | 58 +------------ > > 18 files changed, 164 insertions(+), 136 deletions(-) > > > > -- > > 2.35.1 >