summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorGabriel Krisman Bertazi <krisman@collabora.com>2021-05-05 22:12:17 -0400
committerCristian Ciocaltea <cristian.ciocaltea@collabora.com>2023-09-11 23:31:23 +0300
commit702cde8d6a95a9b5f7be4d54f5222ae142d33b9e (patch)
tree16b5ba1d1f5d95f5012e0999870b97ca0571912d /include
parent59b13c2b647e464dd85622c89d7f16c15d681e96 (diff)
downloadlinux-702cde8d6a95a9b5f7be4d54f5222ae142d33b9e.tar.gz
pinctrl-amd: Add quirk to timeout irq pin reconfiguration
Since commit 37b635b47124 ("Add support for AMD SPI controller-1 (v2)"),
which enabled the SPI bus on jupiter, the probe of cs35l41 hangs the
entire kernel, because pinctrl-amd spins forever when attempting to
reconfigure the cs35l41 irq pin with interrupts disabled and holding the
spinlock of the irq controller.  The infinite loop happens because of a
board design issue (according to AMD), that tries to use a pin that
can't even trigger the interruption that would otherwise signal the
reconfiguratiion completion.

This patch detects the condition and aborts the reconfiguration when the
problem occurs, failing the probe of the device, but allowing the kernel
to recover.

With this patch, it should be safe to reenable CONFIG_SPI_AMD.

Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
[Fix conflicts while rebasing on v6.0]
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions