Things to fix and add in ZIO
Code Changes
- Add support to write a binary control block in /sys to set a new configuration
- Support DMA to user space
New Features
A discussion of our suggestion for these is on the mailing list archive: http://lists.ohwr.org/sympa/arc/zio/2011-11/msg00026.html
- Interleaved channels
- Double buffering
- Multi-threaded access
- fasync support
- Tag complex data structures
- Implement channel flags and alarms
New Drivers
- Complete and publish the line discipline for uart-driven input and output
- Write zio-tzero, a zio-zero driver with internal timing for samples (or add it to zio-zero)
- Add internal timing to zio-gpio
- Write a buffers/zio-buf-circ, a buffer that discards control structures and regenerates them as needed, to reduce overhead when little blocks are used.
- Write more drivers for real hardware (accelerometers, DACs and so on)
Audit, Consistency, Documentation
- Update documentation to really reflect code status
- Audit all spinlocks and related stuff, writing a policy for drivers triggers and buffer
- Audit all allocations, again writing a policy document
- Offer defaults in zio-core wherever possible, likes push_block