Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1632119 > unrolled thread
| Started by | Jon Masters <jcm@jonmasters.org> |
|---|---|
| First post | 2017-04-27 16:10 +0200 |
| Last post | 2017-04-27 18:40 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Generic DMA-capable streaming device driver looking for home Jon Masters <jcm@jonmasters.org> - 2017-04-27 16:10 +0200
Re: Generic DMA-capable streaming device driver looking for home Sinan Kaya <okaya@codeaurora.org> - 2017-04-27 17:00 +0200
Re: Generic DMA-capable streaming device driver looking for home Lars-Peter Clausen <lars@metafoo.de> - 2017-04-27 18:40 +0200
| From | Jon Masters <jcm@jonmasters.org> |
|---|---|
| Date | 2017-04-27 16:10 +0200 |
| Subject | Re: Generic DMA-capable streaming device driver looking for home |
| Message-ID | <tAShj-1ET-5@gated-at.bofh.it> |
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?
[toc] | [next] | [standalone]
| From | Sinan Kaya <okaya@codeaurora.org> |
|---|---|
| Date | 2017-04-27 17:00 +0200 |
| Message-ID | <tAT3H-20u-1@gated-at.bofh.it> |
| In reply to | #1632119 |
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.
[toc] | [prev] | [next] | [standalone]
| From | Lars-Peter Clausen <lars@metafoo.de> |
|---|---|
| Date | 2017-04-27 18:40 +0200 |
| Message-ID | <tAUCu-3ai-11@gated-at.bofh.it> |
| In reply to | #1632154 |
On 04/27/2017 04:50 PM, Sinan Kaya wrote: > 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. If you want to be able to use the DMA from within different frameworks inside the kernel (e.g. ALSA for audio, V4L2 for video, IIO for general-purpose data converters) then DMAengine is the right place. If you only ever want to access the DMA from userspace application logic use VFIO.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web