Re: ezdma: Simple read()/write() userspace interface for dmaengine.

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

 



On Wed, May 27, 2015 at 04:33:02PM +0200, Maxime Ripard wrote:
> On Mon, May 25, 2015 at 11:23:44AM +0530, Vinod Koul wrote:
> > On Thu, May 21, 2015 at 09:34:03PM -0400, Jeremy Trimble wrote:
> > > Hello all,
> > > 
> > > I've written a kernel module that allows data to be sent to or received from
> > > any DMA device that supports the dmaengine API, using simple read()/write()
> > > calls from userspace.
> > > 
> > > Motivation:
> > > 
> > > While doing some work for my master's thesis recently using the Xilinx Zynq
> > > SoC, I needed a way to stream test data into and out of an FPGA soft-core I was
> > > developing.  I was using the Xilinx AXI DMA soft-core (and its
> > > dmaengine-compatible driver that I believe is related to Kedareswara rao
> > > Appana's patch submitted recently).
> > > 
> > > Although dmaengine provides a versatile in-kernel API, to my knowledge there's
> > > no direct userspace interface for the case where one wants to simply
> > > send/receive data through a slave dma channel -- writing a separate
> > > userspace-facing module would be required.  (Or some hack using /dev/kmem.)
> > 
> > why not use dmatest?
> 
> I guess that's not the only use case for this. Like we discussed
> already in the memset-revival patches, you might want to use these
> kind of features from the user-space for example to set or copy large
> buffers because the CPU is slower than the DMA controller to do so, or
> simply to offload these kind of operations.
> 
> I know some out-of-tree interfaces like this already exist, maybe this
> driver is the opportunity to come up with the right one :)
But in that case they would go thru the client subsystem. Like audio sends
buffers to kernel and then the respective subsystem (sound) uses dmaengine.

Do we have a real world example where we would want to DMA without a kernel
client, IOW a usermode client?

-- 
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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