From: Vinod Koul <vkoul@kernel.org>
To: Ben Walker <benjamin.walker@intel.com>
Cc: dmaengine@vger.kernel.org, herbert@gondor.apana.org.au,
davem@davemloft.net, mchehab@kernel.org,
mporter@kernel.crashing.org, alex.bou9@gmail.com
Subject: Re: [PATCH v2 00/15] dmaengine: Support polling for out of order completions
Date: Thu, 9 Jun 2022 12:23:05 +0530 [thread overview]
Message-ID: <YqGY0fIvuIS88XGl@matsya> (raw)
In-Reply-To: <20220503200728.2321188-1-benjamin.walker@intel.com>
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...
>
> 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
--
~Vinod
next prev parent reply other threads:[~2022-06-09 6:53 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-03 20:07 [PATCH v2 00/15] dmaengine: Support polling for out of order completions Ben Walker
2022-05-03 20:07 ` [PATCH v2 01/15] dmaengine: Remove dma_async_is_complete from client API Ben Walker
2022-05-03 20:07 ` [PATCH v2 02/15] dmaengine: Move dma_set_tx_state to the provider API header Ben Walker
2022-05-03 20:07 ` [PATCH v2 03/15] dmaengine: Add dmaengine_async_is_tx_complete Ben Walker
2022-05-03 20:07 ` [PATCH v2 04/15] crypto: stm32/hash: Use dmaengine_async_is_tx_complete Ben Walker
2022-05-03 20:07 ` [PATCH v2 05/15] media: omap_vout: " Ben Walker
2022-05-03 20:07 ` [PATCH v2 06/15] rapidio: " Ben Walker
2022-05-03 20:07 ` [PATCH v2 07/15] media: pxa_camera: " Ben Walker
2022-05-03 20:07 ` [PATCH v2 08/15] dmaengine: Remove dma_async_is_tx_complete Ben Walker
2022-05-03 20:07 ` [PATCH v2 09/15] dmaengine: Remove last, used from dma_tx_state Ben Walker
2022-05-03 20:07 ` [PATCH v2 10/15] dmaengine: Providers should prefer dma_set_residue over dma_set_tx_state Ben Walker
2022-05-03 20:07 ` [PATCH v2 11/15] dmaengine: Remove dma_set_tx_state Ben Walker
2022-05-03 20:07 ` [PATCH v2 12/15] dmaengine: Add provider documentation on cookie assignment Ben Walker
2022-05-03 20:07 ` [PATCH v2 13/15] dmaengine: idxd: idxd_desc.id is now a u16 Ben Walker
2022-05-03 20:07 ` [PATCH v2 14/15] dmaengine: idxd: Support device_tx_status Ben Walker
2022-05-03 20:07 ` [PATCH v2 15/15] dmaengine: Revert "cookie bypass for out of order completion" Ben Walker
2022-06-09 6:53 ` Vinod Koul [this message]
2022-06-22 6:29 ` [PATCH v2 00/15] dmaengine: Support polling for out of order completions Mauro Carvalho Chehab
2022-06-22 19:37 ` [PATCH v4 " Ben Walker
2022-06-22 19:37 ` [PATCH v4 01/15] dmaengine: Remove dma_async_is_complete from client API Ben Walker
2022-06-22 19:37 ` [PATCH v4 02/15] dmaengine: Move dma_set_tx_state to the provider API header Ben Walker
2022-06-22 19:37 ` [PATCH v4 03/15] dmaengine: Add dmaengine_async_is_tx_complete Ben Walker
2022-06-22 19:37 ` [PATCH v4 04/15] crypto: stm32/hash: Use dmaengine_async_is_tx_complete Ben Walker
2022-06-22 19:37 ` [PATCH v4 05/15] media: omap_vout: " Ben Walker
2022-06-22 19:37 ` [PATCH v4 06/15] rapidio: " Ben Walker
2022-06-22 19:37 ` [PATCH v4 07/15] media: pxa_camera: " Ben Walker
2022-06-22 19:37 ` [PATCH v4 08/15] dmaengine: Remove dma_async_is_tx_complete Ben Walker
2022-06-22 19:37 ` [PATCH v4 09/15] dmaengine: Remove last, used from dma_tx_state Ben Walker
2022-06-22 19:37 ` [PATCH v4 10/15] dmaengine: Providers should prefer dma_set_residue over dma_set_tx_state Ben Walker
2022-06-22 19:37 ` [PATCH v4 11/15] dmaengine: Remove dma_set_tx_state Ben Walker
2022-06-22 19:37 ` [PATCH v4 12/15] dmaengine: Add provider documentation on cookie assignment Ben Walker
2022-06-22 19:37 ` [PATCH v4 13/15] dmaengine: idxd: idxd_desc.id is now a u16 Ben Walker
2022-06-22 19:37 ` [PATCH v4 14/15] dmaengine: idxd: Support device_tx_status Ben Walker
2022-06-22 19:37 ` [PATCH v4 15/15] dmaengine: Revert "cookie bypass for out of order completion" Ben Walker
2022-06-27 6:29 ` [PATCH v4 00/15] dmaengine: Support polling for out of order completions Vinod Koul
2022-08-29 20:35 ` [PATCH v5 0/7] " Ben Walker
2022-08-29 20:35 ` [PATCH v5 1/7] dmaengine: Remove dma_async_is_complete from client API Ben Walker
2022-08-29 20:35 ` [PATCH v5 2/7] dmaengine: Move dma_set_tx_state to the provider API header Ben Walker
2022-08-29 20:35 ` [PATCH v5 3/7] dmaengine: Add dmaengine_async_is_tx_complete Ben Walker
2022-10-19 16:31 ` Vinod Koul
2022-10-19 17:08 ` Walker, Benjamin
2022-08-29 20:35 ` [PATCH v5 4/7] dmaengine: Add provider documentation on cookie assignment Ben Walker
2022-10-19 16:34 ` Vinod Koul
2022-10-19 17:21 ` Walker, Benjamin
2022-10-20 4:12 ` Vinod Koul
2022-10-21 17:33 ` Walker, Benjamin
2022-08-29 20:35 ` [PATCH v5 5/7] dmaengine: idxd: idxd_desc.id is now a u16 Ben Walker
2022-08-29 20:35 ` [PATCH v5 6/7] dmaengine: idxd: Support device_tx_status Ben Walker
2022-09-01 17:24 ` Dave Jiang
2022-08-29 20:35 ` [PATCH v5 7/7] dmaengine: Revert "cookie bypass for out of order completion" Ben Walker
2022-09-01 17:25 ` [PATCH v5 0/7] dmaengine: Support polling for out of order completions Dave Jiang
2022-10-28 20:48 ` [PATCH v6 " Ben Walker
2022-10-28 20:48 ` [PATCH v6 1/7] dmaengine: Remove dma_async_is_complete from client API Ben Walker
2022-10-28 20:48 ` [PATCH v6 2/7] dmaengine: Move dma_set_tx_state to the provider API header Ben Walker
2022-10-28 20:48 ` [PATCH v6 3/7] dmaengine: Add dmaengine_is_tx_complete Ben Walker
2022-10-28 20:48 ` [PATCH v6 4/7] dmaengine: Add provider documentation on cookie assignment Ben Walker
2022-10-28 20:48 ` [PATCH v6 5/7] dmaengine: idxd: idxd_desc.id is now a u16 Ben Walker
2022-10-28 20:48 ` [PATCH v6 6/7] dmaengine: idxd: Support device_tx_status Ben Walker
2022-10-28 20:48 ` [PATCH v6 7/7] dmaengine: Revert "cookie bypass for out of order completion" Ben Walker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YqGY0fIvuIS88XGl@matsya \
--to=vkoul@kernel.org \
--cc=alex.bou9@gmail.com \
--cc=benjamin.walker@intel.com \
--cc=davem@davemloft.net \
--cc=dmaengine@vger.kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=mchehab@kernel.org \
--cc=mporter@kernel.crashing.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).