omap4 mcspi interrupts do not appear

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello linux-omap community,

 I am an open source enthusiast and I am trying to modify
omap4 mcspi drivers in order to use interrupts instead of polling.
I use beaglebone black.
  After I set CS active and enable channel 0 and interrupts,
I receive only two interrupts (in fact a pair):
- tx0_empty and after this I fill the tx buffer by writing in the
mcspi tx reg n-times
and then reset the flag in IRQSTATUS
- as a follow up to the actions taken for tx0_empty,
rx0_full interrupt is risen and I read the mcspi rx reg n-times
and reset the flag in IRQSTATUS.
After that no interrupt comes (neither of tx_empty, rx_full or EOT)
even if interrupts and channel0 are enabled and CS is active,
so I can not transfer remaining data.
  FIFO is enabled and OMAP2_MCSPI_XFERLEVEL is setup accordingly to
transfer size.
  Note that if I want to transfer a message that needs only one pair
of interrupts,
then EOT interrupt comes, which is the expected behavior.
  If I use the polling method to see if something is pending on channel0
everything works well, but need to use interrupts
because I want to port this driver to Xenomai real-time linux.
  The dts for spi0 and spi1 is not changed.

  Any ideas? Did anybody successfully used interrupts (not dma) on omap4 mcspi?

Thank you and kind regards,
L-C. Duca



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux