ToDo 1.7 KB

123456789101112131415161718192021222324252627282930313233
  1. High Priority (we would need it for IPE Camera)
  2. =============
  3. 1. DMA without ring buffer, just send data in the newly configured buffers while there is the space...
  4. * We need a way to add (remove?) pages into the same use. Some times in the middle of existing pages, i.e. tructuring seems complicated.
  5. * vmsplice them out trough the device?
  6. 2. Allow DMA into the user pages
  7. * Dangerous as hardware accessed memory is only valid during life-time of one application. Instead the kernel pages can be re-assembled as big buffer using vmmngr_map_page (?)
  8. 3. Use huge-pages + dynamicaly configure DMA page size
  9. 4. DirectGMA/GPUDirect support
  10. 5. High-speed interface to Infiniband
  11. Normal Priority (it would make just few things a bit easier)
  12. ===============
  13. 1. Integrate base streaming model into the pcitool
  14. 2. Implement pcilib_configure_autotrigger
  15. 3. Really check the specified min, max values while setting registers
  16. 4. Provide OR and AND operations on registers in cli
  17. 5. Support writting a data from a binary file in cli
  18. Low Priority (only as generalization for other projects)
  19. ============
  20. 1. We managed kmem performance using next kmem prediction, but it is still wise to provide additionally a binary tree for faster search
  21. 2. Support for Network Registers and Network DMA
  22. 3. Define a syntax for register dependencies / delays (?)
  23. 4. Use pthread_condition_t instead of polling
  24. 5. Support FIFO reads/writes from/to registers
  25. 6. OPC UA interface to the registers
  26. 7. Generate XML models from SystemRDL descriptions
  27. Performance
  28. ===========
  29. 1. Even with fully algined data, glibc defaults to __memcpy_sse2_unaligned (called from ipecamera_data_callback and fastwriter_push). Can we do something?