lkml.org 
[lkml]   [2022]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v5 0/7] dmaengine: Support polling for out of order completions
From

On 8/29/2022 1:35 PM, Ben Walker wrote:
> This series adds support for polling async transactions for completion
> even if interrupts are disabled and transactions can complete out of
> order.
>
> 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). Now, cookies
> are treated as opaque handles. The series also does some API clean up and
> documents how dma_cookie_t should behave.
>
> 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 dmaengine API.
>
> Changes since version 4:
> - Rebased
> - Removed updates to the various drivers that call dma_async_is_tx_complete.
> These clean ups will be spun off into a separate patch series since they need
> acks from other maintainers.
>
> Changes since version 3:
> - Fixed Message-Id in emails. Sorry they were all stripped! Won't
> happen again.
>
> Changes since version 2:
> - None. Rebased as requested without conflict.
>
> 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 (7):
> 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
> 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/dma/dmaengine.c | 2 +-
> drivers/dma/dmaengine.h | 21 ++++-
> drivers/dma/dmatest.c | 14 +--
> drivers/dma/idxd/device.c | 1 +
> drivers/dma/idxd/dma.c | 86 ++++++++++++++++++-
> drivers/dma/idxd/idxd.h | 3 +-
> include/linux/dmaengine.h | 43 +++-------
> 9 files changed, 164 insertions(+), 94 deletions(-)
Besides the stray white space, Reviewed-by: Dave Jiang
<dave.jiang@gmail.com>

\
 
 \ /
  Last update: 2022-09-01 19:26    [W:0.164 / U:0.520 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site