Re: [PATCH RFC 0/2] staging: Support Avalon-MM DMA Interface for PCIe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 19, 2019 at 11:59:11AM +0200, Alexander Gordeev wrote:
> The Avalon-MM DMA Interface for PCIe is a design found in hard IPs for
> Intel Arria, Cyclone or Stratix FPGAs. It transfers data between on-chip
> memory and system memory. This RFC is an attempt to provide a generic API:
> 
> 	typedef void (*avalon_dma_xfer_callback)(void *dma_async_param);
>  
> 	int avalon_dma_submit_xfer(
> 		struct avalon_dma *avalon_dma,
> 		enum dma_data_direction direction,
> 		dma_addr_t dev_addr, dma_addr_t host_addr,
> 		unsigned int size,
> 		avalon_dma_xfer_callback callback,
> 		void *callback_param);
>  
> 	int avalon_dma_submit_xfer_sg(struct avalon_dma *avalon_dma,
> 		enum dma_data_direction direction,
> 		dma_addr_t dev_addr,
> 		struct sg_table *sg_table,
> 		avalon_dma_xfer_callback callback,
> 		void *callback_param);
>  
> 	int avalon_dma_issue_pending(struct avalon_dma *avalon_dma);
> 
> Patch 1 introduces "avalon-dma" driver that provides the above-mentioned
> generic interface.
> 
> Patch 2 adds "avalon-drv" driver using "avalon-dma" to transfer user-
> provided data. This driver was used to debug and stress "avalon-dma"
> and could be used as a code base for other implementations. Strictly
> speaking, it does not need to be part of the kernel tree.
> A companion tool using "avalon-drv" to DMA files (not part of this
> patchset) is located at git@xxxxxxxxxx:a-gordeev/avalon-drv-tool.git
> 
> The suggested interface is developed with the standard "dmaengine"
> in mind and could be reworked to suit it. I would appreciate, however
> gathering some feedback on the implemenation first - as the hardware-
> specific code would persist. It is also a call for testing - I only
> have access to a single Arria 10 device to try on.
> 
> This series is against v5.3 and could be found at
> git@xxxxxxxxxx:a-gordeev/linux.git avalon-dma-engine

Why is this being submitted for drivers/staging/ and not the "real" part
of the kernel tree?

All staging code must have a TODO file listing what needs to be done in
order to get it out of staging, and be self-contained (i.e. no files
include/linux/)

Please fix that up when resending this series.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux