Hello,
I would like to create following scenario:
We need to have a never stopping continuous spi transfer between dm365 and an another chip on our board. I can imagine this on bare metal application level - having two data buffers I can link DMA transfers, which will automatically switch these buffers in an interrupt at the end of the transfer so the SPI peripheral will by continuously sending/receiving the data without any CPU interaction. Unfortunately I do not know if something similar is possible in linux. Surprisingly I can use dm365 as a slave even in linux, because davinci spi driver enables using external clock for spi even in master mode.
Using linux spi framework I can define a struct spi_message which contains several transfers (struct spi_transfer). Then the function spi_async will perform the transfer and it can also trigger a callback (spi_message::complete) when the transfer ends. Is it safe to call spi_async again in this callback? Is it fast enough to prevent a loss of some data when we have external spi_clock?
with best regards
Jan