HI ,
How SPI can use DMA?
The SPI driver default are using DMA for using the kernel SPI interface to transfer data.
Hi Shane, you mean if I use spy_sync or spi_async, I use the DMA to transfer data?
That is indeed what ShaneCCC was saying.
Thanks snarky. I mean, for example
00000427 struct spi_transfer {
00000428 /* it's ok if tx_buf == rx_buf (right?)
00000429 * for MicroWire, one buffer must be null
00000430 * buffers must work with dma_*map_single() calls, unless
00000431 * spi_message.is_dma_mapped reports a pre-existing mapping
00000432 */
00000433 const void *tx_buf;
00000434 void *rx_buf;
00000435 unsigned len;
00000436
00000437 dma_addr_t tx_dma;
00000438 dma_addr_t rx_dma;
00000439
00000440 unsigned cs_change:1;
00000441 u8 bits_per_word;
00000442 u16 delay_usecs;
00000443 u32 speed_hz;
00000444
00000445 struct list_head transfer_list;
00000446 };
if I create a transfer instence, when I use tx_dma, I use the DMA, if I use just tx_buf, I do not use the DMA, am I right?