Open ShawnHymel opened 8 years ago
Hi ShawnHymel,
I'm having a similar issue. I have dma disabled in the fbtft controller and stopped getting the : ERROR : DMA buffers already mapped.
My error is related to slub.c file.
[ 69.954789] BUG: sleeping function called from invalid context at /home/usuario/edison/workspace/linux-kernel/mm/slub.c:928 [ 69.954899] in_atomic(): 1, irqs_disabled(): 1, pid: 293, name: modprobe root@edison:~# [ 70.251017] fb_ili9341 spi5.0: fbtft_update_display: write_vmem failed to update display buffer [ 70.336753] fb_ili9341 spi5.0: fbtft_update_display: write_vmem failed to update display buffer
Actually I do get fb0, but if I try to
cat /dev/urandom > /dev/fv0
I get the error
cat: write error: No space left on device
Did you get to solve your problem ? Regards, Viktor
@vsobolyev I never did solve the issue, but I've head that the new kernel on the latest Yocto build for Edison fixed the DMA issues. Haven't tried them yet, though.
Thanx for the reply @ShawnHymel. What a bummer. I'll have another try with the @presslab-us version of fbtft. Next thing is to give a try to the newer versions of kernel. I was thinking of 4.1-rc.
This is a cross-post from https://github.com/notro/fbtft/issues/353, but I figured I would ask here as well to see if you have run into this issue.
I managed to get fbtft compiled with the Edison kernel using the Yocto Project and wallacezq's recipe. I have an Adafruit 1.8" LCD connected to the Edison (SPI bus 5.0). I try to load the module with
but dmesg gives me the following:
I do not get a /dev/fb? device, so it seems the module is running into an issue with DMA buffers. As far as I can tell, between the recipe's patches and dma=0, I should be disabling DMA on fbtft, but it does not seem to be the case. I do not want DMA because as far as I know, the Edison does not have DMA on SPI.
How do I prevent fbtft from using DMA? Any help would be appreciated!