Thread (25 messages) read the whole thread 25 messages, 6 authors, 2020-07-17

Re: [PATCH v10 5/5] iommu/arm-smmu: Add global/context fault implementation hooks

From: Robin Murphy <robin.murphy@arm.com>
Date: 2020-07-17 11:58:13
Also in: linux-devicetree, linux-iommu, linux-tegra, lkml

On 2020-07-13 14:44, Will Deacon wrote:
On Tue, Jul 07, 2020 at 10:00:17PM -0700, Krishna Reddy wrote:
quoted
Add global/context fault hooks to allow vendor specific implementations
override default fault interrupt handlers.

Update NVIDIA implementation to override the default global/context fault
interrupt handlers and handle interrupts across the two ARM MMU-500s that
are programmed identically.

Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
---
  drivers/iommu/arm-smmu-nvidia.c | 99 +++++++++++++++++++++++++++++++++
  drivers/iommu/arm-smmu.c        | 17 +++++-
  drivers/iommu/arm-smmu.h        |  3 +
  3 files changed, 117 insertions(+), 2 deletions(-)
Given that faults shouldn't occur during normal operation, is this patch
actually necessary?
Indeed they shouldn't, but if something *does* happen to go wrong then I 
think it's worth having proper handling in place, since the consequences 
otherwise include a screaming "spurious" fault or just silently losing 
some transactions and possibly locking up part of the system altogether 
(depending on HUPCF at least - I recall MMU-500 also behaving funnily 
WRT TLB maintenance while an IRQ is outstanding, but that was long 
enough ago that it might have been related to the old CFCFG behaviour).

Until we sort out the reserved memory regions thing (the new IORT spec 
is due Real Soon Now(TM)...) some systems are going to keep suffering 
transient context faults during boot - those may make the display 
unhappy until it gets reset, but we certainly don't want to invite the 
possibility of them wedging the SMMU itself.

Robin.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help