Re: [PATCH v2 00/15] dmaengine: Support polling for out of order completions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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  
> 



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux