iommu/arm-smmu: Allow using a threaded handler for context interrupts
authorGeorgi Djakov <quic_c_gdjako@quicinc.com>
Wed, 17 Apr 2024 13:37:27 +0000 (06:37 -0700)
committerWill Deacon <will@kernel.org>
Thu, 18 Apr 2024 14:48:01 +0000 (15:48 +0100)
commit960be6e10d4fcb18cfe863e0ceb3213a75eecb81
tree866bcad3e5e9898b2eba8f2b18db4a1854fb66a8
parent414ecb030870a31262e5fd29fd372ee73b32a6be
iommu/arm-smmu: Allow using a threaded handler for context interrupts

Threaded IRQ handlers run in a less critical context compared to normal
IRQs, so they can perform more complex and time-consuming operations
without causing significant delays in other parts of the kernel.
During a context fault, it might be needed to do more processing and
gather debug information from TBUs in the handler. These operations may
sleep, so add an option to use a threaded IRQ handler in these cases.

Signed-off-by: Georgi Djakov <quic_c_gdjako@quicinc.com>
Link: https://lore.kernel.org/r/20240417133731.2055383-4-quic_c_gdjako@quicinc.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm/arm-smmu/arm-smmu.c
drivers/iommu/arm/arm-smmu/arm-smmu.h