FBTFT doesn't work by default on the Beaglebone Black #55
A workaround is to use DMA allocated buffers:
On the BBB (drivers/spi/spi-omap2-mcspi.c), non-DMA SPI transfers above 160 bytes uses DMA mapping on the transfer buffer. This fails with FBTFT because it uses vmalloc to allocate the transfer buffer. vmalloc doesn't give physically contiguous memory.
The solution is to use kmalloc/kzalloc instead of vmalloc/vzalloc in fbtft-core.c
I tried to use kzalloc on the display memory allocation as well, but that failed. Maybe deferred io only works on vmalloc'ed memory?
mmap memory usage