Open
Description
Doing a quick look at the DMA SPI code, it seems to have some issues with the case where multiple SPI instances, pointing to different chip selects but the same peripheral and mosi/miso/sclk pins, are used at the same time. For instance:
- What happens if you call abort() and the current transaction is being done by a different SPI instance on this bus? Behavior is not documented.
- Calling abort_all() will abort transactions enqueued by other SPI instances on this bus, which is probably not desired.
- There are a number of DMA related class variables in SPI which might be better in the per-peripheral structure instead of the class.