From: "Nuno Sá" <nuno.sa@analog.com>
To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org,
linux-arm-msm@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org,
linux-sound@vger.kernel.org, linux-spi@vger.kernel.org
Cc: "Vinod Koul" <vkoul@kernel.org>, "Frank Li" <Frank.Li@kernel.org>,
"Lars-Peter Clausen" <lars@metafoo.de>,
"Eugeniy Paltsev" <Eugeniy.Paltsev@synopsys.com>,
"Amélie Delaunay" <amelie.delaunay@foss.st.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Jaroslav Kysela" <perex@perex.cz>,
"Takashi Iwai" <tiwai@suse.com>,
"Mark Brown" <broonie@kernel.org>, "Frank Li" <Frank.Li@nxp.com>,
"Jonathan Cameron" <jonathan.cameron@oss.qualcomm.com>,
"Andy Shevchenko" <andriy.shevchenko@intel.com>
Subject: Re: [PATCH v6 0/9] dmaengine: Support bus widths of 32 bytes and above
Date: Mon, 2 Nov 2026 12:36:29 +0000 [thread overview]
Message-ID: <auiDhzNcif3LhPlq@nsa> (raw)
In-Reply-To: <20261014-dmaengine-support-wider-dma-masks-v6-0-5b3ffdef8191@analog.com>
On Wed, Oct 14, 2026 at 03:19:10PM +0100, Nuno Sá wrote:
> 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 the new
> bus width capabilities, represented by a dma_buswidth_mask_t modeled
> after dma_cap_mask_t. The legacy dma_device u32 fields are kept for now
> so the remaining DMA controller drivers can be converted incrementally:
> dma_async_device_register() folds a legacy-only producer's u32 into the
> mask, so consumers only ever have to look at the mask.
>
> 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 v6:
> - Patch 1:
> - Prefix the bus width helpers with dmaengine_ (Frank).
> - Drop the wrapper macros taking the address of their mask arguments.
> The helpers are now static inline functions taking a
> dma_buswidth_mask_t pointer (Frank).
> - Drop a stray blank line in dma_get_slave_caps() (Frank).
> - Patch 2-8:
> - Use the renamed helpers, passing the masks by pointer.
> - Link to v5: https://patch.msgid.link/20261009-dmaengine-support-wider-dma-masks-v5-0-4c4e63a7a1af@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 | 23 ++-
> drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 39 +++--
> drivers/dma/qcom/gpi.c | 11 +-
> drivers/dma/stm32/stm32-dma3.c | 37 ++--
> drivers/iio/buffer/industrialio-buffer-dmaengine.c | 15 +-
> drivers/spi/spi-dw-dma.c | 7 +-
> drivers/spi/spi-dw.h | 3 +-
> include/linux/dmaengine.h | 188 +++++++++++++++++++--
> sound/core/pcm_dmaengine.c | 20 ++-
> 10 files changed, 289 insertions(+), 67 deletions(-)
> ---
> base-commit: 42c31fec1ca76b8b5f7759def122d418dff2cd4b
> change-id: 20260615-dmaengine-support-wider-dma-masks-5aac12497e27
> --
>
> Thanks!
> - Nuno Sá
>
Hi Vinod, pinging this one before resend. Already got the rb tag from Frank on the
first patch. If anything left to do, let me know please.
- Nuno Sá
prev parent reply other threads:[~2026-11-02 12:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-14 14:19 [PATCH v6 0/9] dmaengine: Support bus widths of 32 bytes and above Nuno Sá
2026-10-14 14:19 ` [PATCH v6 1/9] " Nuno Sá
2026-10-14 15:28 ` Frank Li
2026-10-14 14:19 ` [PATCH v6 2/9] dmaengine: dma-axi-dmac: Use bus width capability helpers Nuno Sá
2026-10-14 14:33 ` sashiko-bot
2026-10-14 14:19 ` [PATCH v6 3/9] dmaengine: dw-axi-dmac: " Nuno Sá
2026-10-14 14:19 ` [PATCH v6 4/9] dmaengine: qcom: gpi: " Nuno Sá
2026-10-14 14:19 ` [PATCH v6 5/9] dmaengine: stm32-dma3: " Nuno Sá
2026-10-14 14:19 ` [PATCH v6 6/9] iio: buffer-dmaengine: Use dma_slave_caps bus width accessors Nuno Sá
2026-10-14 14:19 ` [PATCH v6 7/9] ALSA: pcm_dmaengine: Use dma_slave_caps bus width helpers Nuno Sá
2026-10-14 14:19 ` [PATCH v6 8/9] spi: dw: " Nuno Sá
2026-10-14 14:19 ` [PATCH v6 9/9] dmaengine: Drop legacy bus width fields from dma_slave_caps Nuno Sá
2026-11-02 12:36 ` Nuno Sá [this message]
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=auiDhzNcif3LhPlq@nsa \
--to=nuno.sa@analog.com \
--cc=Eugeniy.Paltsev@synopsys.com \
--cc=Frank.Li@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=alexandre.torgue@foss.st.com \
--cc=amelie.delaunay@foss.st.com \
--cc=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=broonie@kernel.org \
--cc=dlechner@baylibre.com \
--cc=dmaengine@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=jonathan.cameron@oss.qualcomm.com \
--cc=lars@metafoo.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=perex@perex.cz \
--cc=tiwai@suse.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.