Re: Generic DMA-capable streaming device driver looking for home

From: Sinan Kaya
Date: Thu Apr 27 2017 - 10:50:34 EST


On 4/27/2017 10:00 AM, Jon Masters wrote:
> On 04/20/2017 06:10 PM, Alex Williams wrote:
>> Hi all,
>>
>> We're writing a device driver and having some difficulty matching a
>> subsystem to the driver/device properties. Can anyone help with
>> direction?
>>
>> These are some basic properties:
>> 1) Device is used to carry generic data to/from userspace. It's a pair
>> of dumb streams with one sink and one source for each direction (no
>> addressable endpoints for the other side).
>> 2) Data goes to/from a DMA engine in an FPGA at high throughput.
>> 3) The driver enables userspace to queue multiple DMA-able buffers for
>> asynchronous, pipelined data transfer. We currently use the
>> videobuf2 API to provide the feature. We're not carrying video data
>> in general, though.
>>
>> It's a piece of a software-defined radio system, and while it can carry
>> data from DACs/ADCs, the device is only a generic transport. It doesn't
>> know what data it's carrying, so neither would the driver.
>>
>> Some guidance would be greatly appreciated. Thanks!
>
> This might be close enough to hidma that Sinan would have suggestions?
>

I added dmaengine group to CC above. I have recently experimented
with a similar concept by hacking the rapidio code.

http://lxr.free-electrons.com/source/drivers/rapidio/devices/rio_mport_cdev.c

It sounds like your code belongs to dmaengine.

>
>


--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.