- SPI slave controller processes one request at a time. No batch processing of
requests
- Linux slave cannot respond in real time
- No flow control or protocol negotiation support
- No support for multiple outstanding DMA request in SPI slave(and master)
framework
- Userspace stack running on master and slave needs to implement and agree on
certain protocol
- Slave RX: Slave needs to know in advance how much data to receive and
when
- Slave TX: Slave needs to be ready with data and queue DMA before Master
starts clock
Kernel does not take care of meeting
above requirements, its up to protocol drivers at users pace to make sure above
conditions are met.