DMA Engine development
 help / color / mirror / Atom feed
* [PATCH 00/11] dmaengine: dw-edma: flatten desc structions and simple code
@ 2025-12-12 22:24 Frank Li
  2025-12-12 22:24 ` [PATCH 01/11] dmaengine: dw-edma: Add spinlock to protect DONE_INT_MASK and ABORT_INT_MASK Frank Li
                   ` (10 more replies)
  0 siblings, 11 replies; 19+ messages in thread
From: Frank Li @ 2025-12-12 22:24 UTC (permalink / raw)
  To: Manivannan Sadhasivam, Vinod Koul, Gustavo Pimentel, Kees Cook,
	Gustavo A. R. Silva, Krzysztof Wilczyński,
	Kishon Vijay Abraham I, Bjorn Helgaas, Christoph Hellwig,
	Niklas Cassel
  Cc: dmaengine, linux-kernel, linux-hardening, linux-pci, linux-nvme,
	imx, Frank Li

This patch week depend on the below serise.
https://lore.kernel.org/imx/20251208-dma_prep_config-v1-0-53490c5e1e2a@nxp.com/

Basic change

struct dw_edma_desc *desc
       └─ chunk list
            └─ burst list

To

struct dw_edma_desc *desc
            └─ burst[n]

And reduce at least 2 times kzalloc() for each dma descriptor create.

I only test eDMA part, not hardware test hdma part.

The finial goal is dymatic add DMA request when DMA running. So needn't
wait for irq for fetch next round DMA request.

This work is neccesary to for dymatic DMA request appending.

The post this part first to review and test firstly during working dymatic
DMA part.

To: Manivannan Sadhasivam <mani@kernel.org>
To: Vinod Koul <vkoul@kernel.org>
To: Gustavo Pimentel <Gustavo.Pimentel@synopsys.com>
To: Kees Cook <kees@kernel.org>
To: Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: dmaengine@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-hardening@vger.kernel.org
To: Manivannan Sadhasivam <mani@kernel.org>
To: Krzysztof Wilczyński <kwilczynski@kernel.org>
To: Kishon Vijay Abraham I <kishon@kernel.org>
To: Bjorn Helgaas <bhelgaas@google.com>
To: Christoph Hellwig <hch@lst.de>
To: Niklas Cassel <cassel@kernel.org>
Cc: linux-pci@vger.kernel.org
Cc: linux-nvme@lists.infradead.org
Cc: imx@lists.linux.dev

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Frank Li (11):
      dmaengine: dw-edma: Add spinlock to protect DONE_INT_MASK and ABORT_INT_MASK
      dmaengine: dw-edma: Move control field update of DMA link to the last step
      dmaengine: dw-edma: Add xfer_sz field to struct dw_edma_chunk
      dmaengine: dw-edma: Remove ll_max = -1 in dw_edma_channel_setup()
      dmaengine: dw-edma: Move ll_region from struct dw_edma_chunk to struct dw_edma_chan
      dmaengine: dw-edma: Pass down dw_edma_chan to reduce one level of indirection
      dmaengine: dw-edma: Add helper dw_(edma|hdma)_v0_core_ch_enable()
      dmaengine: dw-edma: Add new callback to fill link list entry
      dmaengine: dw-edma: Use common dw_edma_core_start() for both edma and hdmi
      dmaengine: dw-edma: Use burst array instead of linked list
      dmaengine: dw-edma: Remove struct dw_edma_chunk

 drivers/dma/dw-edma/dw-edma-core.c    | 205 ++++++++---------------------
 drivers/dma/dw-edma/dw-edma-core.h    |  64 +++++++---
 drivers/dma/dw-edma/dw-edma-v0-core.c | 234 +++++++++++++++++-----------------
 drivers/dma/dw-edma/dw-hdma-v0-core.c | 147 +++++++++++----------
 4 files changed, 294 insertions(+), 356 deletions(-)
---
base-commit: 0f24bd936ac069ca15657b11b6c326ffb0926f3c
change-id: 20251211-edma_ll-0904ba089f01

Best regards,
--
Frank Li <Frank.Li@nxp.com>


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2026-01-05 17:50 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-12 22:24 [PATCH 00/11] dmaengine: dw-edma: flatten desc structions and simple code Frank Li
2025-12-12 22:24 ` [PATCH 01/11] dmaengine: dw-edma: Add spinlock to protect DONE_INT_MASK and ABORT_INT_MASK Frank Li
2025-12-30 16:30   ` Manivannan Sadhasivam
2026-01-05 17:42     ` Frank Li
2025-12-12 22:24 ` [PATCH 02/11] dmaengine: dw-edma: Move control field update of DMA link to the last step Frank Li
2025-12-12 22:24 ` [PATCH 03/11] dmaengine: dw-edma: Add xfer_sz field to struct dw_edma_chunk Frank Li
2025-12-12 22:24 ` [PATCH 04/11] dmaengine: dw-edma: Remove ll_max = -1 in dw_edma_channel_setup() Frank Li
2025-12-12 22:24 ` [PATCH 05/11] dmaengine: dw-edma: Move ll_region from struct dw_edma_chunk to struct dw_edma_chan Frank Li
2025-12-12 22:24 ` [PATCH 06/11] dmaengine: dw-edma: Pass down dw_edma_chan to reduce one level of indirection Frank Li
2025-12-12 22:24 ` [PATCH 07/11] dmaengine: dw-edma: Add helper dw_(edma|hdma)_v0_core_ch_enable() Frank Li
2025-12-12 22:24 ` [PATCH 08/11] dmaengine: dw-edma: Add new callback to fill link list entry Frank Li
2025-12-30 16:40   ` Manivannan Sadhasivam
2025-12-12 22:24 ` [PATCH 09/11] dmaengine: dw-edma: Use common dw_edma_core_start() for both edma and hdmi Frank Li
2025-12-30 16:54   ` Manivannan Sadhasivam
2026-01-05 17:47     ` Frank Li
2025-12-12 22:24 ` [PATCH 10/11] dmaengine: dw-edma: Use burst array instead of linked list Frank Li
2025-12-12 22:24 ` [PATCH 11/11] dmaengine: dw-edma: Remove struct dw_edma_chunk Frank Li
2025-12-30 17:01   ` Manivannan Sadhasivam
2026-01-05 17:50     ` Frank Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox