The journey into spi & dma..
So for awhile now, we've had a bug for spi users, where the system
would hardlock at the "160" byte threashold:
debian@beaglebone:~$ sudo dd if=/dev/zero of=/dev/spidev1.0 bs=159 count=1
1+0 records in
1+0 records out
159 bytes (159 B) copied, 0.000508833 s, 312 kB/s
debian@beaglebone:/sys$ dd if=/dev/zero of=/dev/spidev1.0 bs=160 count=1
^C
(hangs..)
"160" happens to be a the magic number where DMA takes over from PIO mode...
Well as of yesterday:
debian@beaglebone:~$ sudo dd if=/dev/zero of=/dev/spidev1.0 bs=320 count=1
1+0 records in
1+0 records out
320 bytes (320 B) copied, 0.00266366 s, 120 kB/s
So here's the deal, it looks to be a spi/overlay bug, as we don't seem
to get the correct dma tx/rx channels..
What interesting, when the "spi" node is enabled in the main dtb:
it works fine in dma mode...
So with "4.1.12-ti-r27" spi-dma is now disabled..
*btw:
Late last night i wrote a better fix (will be r28)
where you can disable "spi-dma" via the dt option:
ti,pio-mode;
https://github.com/beagleboard/bb.org-overlays/commit/48d33d4d22f284103db83626b343724cf18c578d
Regards,