Re: [PATCH v2] dmaengine: dw-edma: Decouple dw-edma-core.c from struct pci_dev
From: Vinod Koul
Date: Fri Apr 17 2020 - 07:50:39 EST
On 15-04-20, 10:27, Alan Mikhak wrote:
> From: Alan Mikhak <alan.mikhak@xxxxxxxxxx>
>
> Decouple dw-edma-core.c from struct pci_dev as a step toward integration
> of dw-edma with pci-epf-test so the latter can initiate dma operations
> locally from the endpoint side. A barrier to such integration is the
> dependency of dw_edma_probe() and other functions in dw-edma-core.c on
> struct pci_dev.
>
> The Synopsys DesignWare dw-edma driver was designed to run on host side
> of PCIe link to initiate DMA operations remotely using eDMA channels of
> PCIe controller on the endpoint side. This can be inferred from seeing
> that dw-edma uses struct pci_dev and accesses hardware registers of dma
> channels across the bus using BAR0 and BAR2.
>
> The ops field of struct dw_edma in dw-edma-core.h is currenty undefined:
>
> const struct dw_edma_core_ops *ops;
>
> However, the kernel builds without failure even when dw-edma driver is
> enabled. Instead of removing the currently undefined and usued ops field,
> define struct dw_edma_core_ops and use the ops field to decouple
> dw-edma-core.c from struct pci_dev.
Applied, thanks
--
~Vinod