On 02/06/2014 10:16 PM, Alessandro Rubini wrote:
ZIO already supports dma. And mmaping the buffer from user space. It
is in the design since inception, and in the code since Feb 2012 (git
log says).
I know. And I did study the ZIO DMA code (among other things),
before I implemented the IIO DMA code. As you might remember from
our last discussion, my preference is to add the features that are
in ZIO but not in IIO to IIO and then ditch ZIO instead of having
two frameworks for the class of devices.
I remember. And we both know that the class of devices that ZIO already
supports cannot be supported by IIO, unless many incompatible changes
are made (sub-nanosecond timestamps, symmetric input and output,
hot-swap of buffer and trigger type, ...).
I still don't see why it is necessary to make incompatible changes to IIO to
support this. There is nothing wrong with extending the API, while staying
backwards compatible.
I'm happy all accelerometers have the same interface to user space,
this is definitely useful. But that's clearly not the same class of
devices.
and then ditch ZIO
How can you "ditch" something you don't use? Or is your employer
currently using zio while helping iio catch up?
I meant in general.
Our users will not stop using it, despite your desire, because it
already serves them pretty well: 100MS ADC, with DMA and mmap, all
sysfs-based, completely run-time configurable, and v2.6.24..v3.12 (13
untested yet).
I have no desire to stop anybody from stopping using ZIO. But my recommendation
is to work towards a unified framework. The sooner the switch is made the
easier the migration path will be.
I think we have systems with 4x 250MS ADCs also doing DMA and mmap and
streaming over the network[1]. All with IIO, so again, there _is_ a huge
overlap of the classes of devices supported by both IIO and ZIO.
-Lars
[1] https://wiki.analog.com/resources/fpga/xilinx/fmc/ad-fmcjesdadc1-ebz
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html