All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nuno Sá" <noname.nuno@gmail.com>
To: Frank Li <Frank.li@oss.nxp.com>
Cc: nuno.sa@analog.com, dmaengine@vger.kernel.org,
	 linux-iio@vger.kernel.org, Vinod Koul <vkoul@kernel.org>,
	Frank Li <Frank.Li@kernel.org>,
	 Lars-Peter Clausen <lars@metafoo.de>,
	Jonathan Cameron <jic23@kernel.org>,
	 David Lechner <dlechner@baylibre.com>,
	Andy Shevchenko <andy@kernel.org>
Subject: Re: [PATCH 0/9] dmaengine: Support bus widths of 32 bytes and above
Date: Fri, 31 Jul 2026 16:34:16 +0100	[thread overview]
Message-ID: <amzASrOOjJjFun3M@nsa> (raw)
In-Reply-To: <amugh4vtD4BIl3mQ@SMW015318>

On Thu, Jul 30, 2026 at 02:05:43PM -0500, Frank Li wrote:
> On Thu, Jul 30, 2026 at 03:23:07PM +0100, Nuno Sá via B4 Relay wrote:
> > [You don't often get email from devnull+nuno.sa.analog.com@kernel.org. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> >
> > The DMA engine slave capabilities advertise the supported source and
> > destination bus widths through src_addr_widths / dst_addr_widths. These
> > are plain u32 bitmasks where a set bit's position equals the
> > corresponding enum dma_slave_buswidth value, e.g.
> > DMA_SLAVE_BUSWIDTH_4_BYTES sets bit 4.
> >
> > The consequence is that widths of 32 bytes and above cannot be
> > represented at all: DMA_SLAVE_BUSWIDTH_32/64/128_BYTES would need bits
> > 32, 64 and 128, which do not fit in a u32. Hardware with wider data
> > paths is becoming common, so add a representation that can express these
> > widths while still using enum dma_slave_buswidth.
> >
> > This series switches consumers and a small set of producers to bitmap
> > based bus width capabilities. The legacy dma_device u32 fields are kept
> > for now so the remaining DMA controller drivers can be converted
> > incrementally. dma_get_slave_caps() folds legacy producer masks into the
> > new bitmap representation returned to consumers.
> >
> > Once the remaining producers are converted, the legacy dma_device
> > src/dst_addr_widths fields can be removed as a final cleanup.
> >
> > This issue was discussed before here:
> >
> > https://lore.kernel.org/dmaengine/abkoXXbaxaiqbBuX@vaman/
> >
> > ---
> > Changes in v1:
> 
> this should be v2, RFC is v1

Ups! Sorry about that! But I guess now we keep this path? I mean, I
should not bump to v3 next right?

- Nuno Sá

> 
> Frank
> > - Drop RFC tag.
> > - Rename the new capability representation and helpers from address
> >   width terminology to bus width terminology.
> > - Convert all current dma_get_slave_caps() consumers that used the
> >   legacy src/dst_addr_widths fields.
> > - Convert a small set of DMA controller producers and the stm32-dma3
> >   per-channel capability callback.
> > - Add helper documentation for the new public API.
> > - Link to RFC: https://lore.kernel.org/dmaengine/20260616-dmaengine-support-wider-dma-masks-v1-0-da23a8dcb756@analog.com/
> >
> > ---
> > Nuno Sá (9):
> >       dmaengine: Support bus widths of 32 bytes and above
> >       dmaengine: dma-axi-dmac: Use bus width capability helpers
> >       dmaengine: dw-axi-dmac: Use bus width capability helpers
> >       dmaengine: qcom: gpi: Use bus width capability helpers
> >       dmaengine: stm32-dma3: Use bus width capability helpers
> >       iio: buffer-dmaengine: Use dma_slave_caps bus width accessors
> >       ALSA: pcm_dmaengine: Use dma_slave_caps bus width helpers
> >       spi: dw: Use dma_slave_caps bus width helpers
> >       dmaengine: Drop legacy bus width fields from dma_slave_caps
> >
> >  drivers/dma/dma-axi-dmac.c                         |  13 +-
> >  drivers/dma/dmaengine.c                            |  20 +-
> >  drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c     |  39 ++--
> >  drivers/dma/qcom/gpi.c                             |  11 +-
> >  drivers/dma/stm32/stm32-dma3.c                     |  32 +--
> >  drivers/iio/buffer/industrialio-buffer-dmaengine.c |  15 +-
> >  drivers/spi/spi-dw-dma.c                           |   6 +-
> >  drivers/spi/spi-dw.h                               |   3 +-
> >  include/linux/dmaengine.h                          | 234 ++++++++++++++++++++-
> >  sound/core/pcm_dmaengine.c                         |  14 +-
> >  10 files changed, 323 insertions(+), 64 deletions(-)
> > ---
> > base-commit: 7524fe142b5a772f8421aeee2132cf7e21a00103
> > change-id: 20260615-dmaengine-support-wider-dma-masks-5aac12497e27
> > --
> >
> > Thanks!
> > - Nuno Sá
> >
> >

  reply	other threads:[~2026-07-31 15:33 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-30 14:23 [PATCH 0/9] dmaengine: Support bus widths of 32 bytes and above Nuno Sá via B4 Relay
2026-07-30 14:23 ` Nuno Sá
2026-07-30 14:23 ` [PATCH 1/9] " Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 14:38   ` sashiko-bot
2026-07-30 19:16   ` Frank Li
2026-08-01  2:42     ` Jonathan Cameron
2026-08-01  2:46       ` Jonathan Cameron
2026-07-30 14:23 ` [PATCH 2/9] dmaengine: dma-axi-dmac: Use bus width capability helpers Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 14:39   ` sashiko-bot
2026-07-30 19:23   ` Frank Li
2026-07-30 14:23 ` [PATCH 3/9] dmaengine: dw-axi-dmac: " Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 14:36   ` sashiko-bot
2026-07-30 19:24   ` Frank Li
2026-07-30 14:23 ` [PATCH 4/9] dmaengine: qcom: gpi: " Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 14:43   ` sashiko-bot
2026-07-30 19:25   ` Frank Li
2026-07-30 14:23 ` [PATCH 5/9] dmaengine: stm32-dma3: " Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 14:35   ` sashiko-bot
2026-07-30 19:26   ` Frank Li
2026-07-30 14:23 ` [PATCH 6/9] iio: buffer-dmaengine: Use dma_slave_caps bus width accessors Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 19:27   ` Frank Li
2026-07-30 14:23 ` [PATCH 7/9] ALSA: pcm_dmaengine: Use dma_slave_caps bus width helpers Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 19:30   ` Frank Li
2026-07-30 14:23 ` [PATCH 8/9] spi: dw: " Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 14:43   ` sashiko-bot
2026-07-30 19:31   ` Frank Li
2026-07-30 14:23 ` [PATCH 9/9] dmaengine: Drop legacy bus width fields from dma_slave_caps Nuno Sá via B4 Relay
2026-07-30 14:23   ` Nuno Sá
2026-07-30 19:34   ` Frank Li
2026-07-30 19:05 ` [PATCH 0/9] dmaengine: Support bus widths of 32 bytes and above Frank Li
2026-07-31 15:34   ` Nuno Sá [this message]
2026-07-31 15:51     ` Frank Li

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=amzASrOOjJjFun3M@nsa \
    --to=noname.nuno@gmail.com \
    --cc=Frank.Li@kernel.org \
    --cc=Frank.li@oss.nxp.com \
    --cc=andy@kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=nuno.sa@analog.com \
    --cc=vkoul@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.