Open acf-bwl opened 3 years ago
Thanks for the patch. I'll pass it on for inclusion in the 4.9 kernel release for BeagleBoard.org and make the change in the new kernel version release.
Will mark this fixed once the fix has been merged into BeagleBoard.org kernels.
Hello,
It appears that some of the from_bl_irq_1 IRQs are lost on my system. This happens presumably because the interrupt request flag set by the PRU has only two states, so setting the already set flag again won't cause the interrupt handler to be run a second time. I assume this is happening due to the ARM CPU being stuck in some other higher-priority interrupt or something of that sort.
As the kernel driver assumes the interrupt handler will be run once for each buffer written by the PRU, read calls are blocked awaiting interrupts which will never arrive. The capture in PulseView stalls out, and the system must be rebooted before another capture can be made.
I have created a patch that resolves this problem by changing the interrupt handler to process all buffers written by the PRU since the last interrupt. Note that my patch is against commit 83b48e33cea160577e673830069c94c4fa965024 as I am still running the 4.9.36-ti-r46 kernel.
Thanks, Alan