On 3/18/2022 5:59 AM, Lukas Wunner wrote:
[cc += linux-spi; please do not write developers directly without cc'ing
relevant lists]
On Fri, Mar 18, 2022 at 11:54:35AM +0100, Miguel Angel Ajo wrote:
On Fri, Mar 18, 2022 at 11:47 AM Miguel Angel Ajo <majopela@xxxxxxxxxx>
wrote:
I wanted to share a regression found after commit:
d62069c22eda spi: bcm2835: Remove shared interrupt support
[...]
After this commit I get:
[root@rpi4-64 ~]# dmesg | grep spi
[ 18.781250] spi-bcm2835 fe204000.spi: could not register SPI
controller: -517
[ 19.134138] spi-bcm2835 fe204000.spi: could not register SPI
controller: -517
[ 19.895147] spi-bcm2835 fe204000.spi: could not register SPI
controller: -517
[ 20.400137] spi-bcm2835 fe204000.spi: could not register SPI
controller: -517
Those are transient errors, -517 is -EPROBE_DEFER. Probing fails
because a resource is not available (yet), to be retried again later
if/when it becomes available.
You would want to check whether you have these two commits in your tree
as well:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=266423e60ea1b953fcc0cd97f3dad85857e434d1
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e8f24c58d1b69ecf410a673c22f546dc732bb879
or neither, because the first commit forces a lockstep update of the DTS.
The SPI driver does not uses that many shared resources besides
interrupts, clocks and chip-select overs GPIOs, the first one is
unlikely to be the problem, and so is the second, thus leaving the third
resource as a candidate to defer on.
ecfbd3c introduced support for the bcm2711 SoC that shares
one interrupt over multiple spi controller instances.
Do we have a more detailed description of the exact issue for
which we reverted?, is there a plan to re-introduce the shared interrupt
support while fixing the issue?
See here for why the commit was reverted:
https://lore.kernel.org/linux-spi/20200529174358.som3snunfxch6phi@xxxxxxxxx/
There was a second attempt to introduce shared interrupt support,
but after a lengthy discussion, it was not pursued to fruition:
https://lore.kernel.org/linux-spi/20200604212819.715-1-f.fainelli@xxxxxxxxx/
So I believe shared interrupt support only exists in the Raspberry Pi
Foundation's downstream kernel, but not yet in the mainline kernel.
Thanks,
Lukas
--
Florian