anyone have mainline drivers/staging/fbtft working?

fbtft is a collection of Linux kernel framebuffer drivers for small
LCD and OLED displays.

It is was developed out-of-tree in this github repo:

    https://github.com/notro/fbtft

I compiled those fbtft kernel modules for 3.8.13-bone79, and it does
work OK for me with 1.8" & 2.2" TFT LCD displays:

  https://gist.github.com/pdp7/2fba066dcf23b049781a

Photos of displays working:

  https://plus.google.com/photos/+DrewFustini/albums/6211546193314906001

Earlier this year, fbtft was added to the mainline Linux kernel in
drivers/staging dir:

    https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/drivers/staging/fbtft

I compiled Linux 4.3-rc7 with staging fbtft modules enabled using the
am33x-v4.3 branch of bb-kernel:

     https://github.com/RobertCNelson/bb-kernel/tree/am33x-v4.3

I load the SPIDEV1 cape OK after compiling the dtbo's from:

    https://github.com/beagleboard/bb.org-overlays

I modprobe the fbtft_device module for adafruit18 like I did in
v3.8.13, but this time the SPI code hangs. Here is the backtrace from
kernel log:

    https://gist.github.com/pdp7/579c1d5c48670c92db44

It seems the hang occurs in omap2_mcspi_driver:

    spi_transfer_one_message() -> omap2_mcspi_transfer_one() ->
wait_for_completion()

Anyways, I just thought I would ping the list to see if anyone has
tried this as well. I will continue troubleshooting and followup on
the list if I figure out a solution.

thanks,
drew

kconfig-fbtft-staging.png

I think it's related too:

https://groups.google.com/forum/#!msg/beagleboard/udVR5aJvifg/_hbAw4EzuaoJ

background:

debian@beaglebone:/sys$ 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..)

I should really start a bisect run, as it broke before mainline v4.1.x..

Regards,

thanks for the quick the response! that gives a me a good place to
start looking.

okay seems to work in v4.0.x so it's a regression in v4.1.x..

debian@beaglebone:~$ uname -r
4.0.9-bone-rt-r8.1
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

Regards,

I'm trying to build bb-kernel am33x-v4.0 but a patch conflict occurs:

  CONFLICT (content): Merge conflict in include/linux/compiler-gcc.h
  Patch failed at 0052 overflow-arith: begin to add support for
overflow builtin functions

Full log: https://gist.github.com/pdp7/73eb4857d38054ebcf9f

I can do a fresh git clone of bb-kernel (which takes quite awhile), so
I'm wondering if this is a problem for "just me".

thanks,
drew

Just try re-checking out the branch..

git reset HEAD --hard
git checkout master -f
git branch -D (current one)
git checkout origin/am33x-v4.0 -b tmp

Regards,