Re: [PATCH] iommu: arm-smmu: handle client iommu translation fault handlers

From: Will Deacon
Date: Fri Oct 19 2018 - 13:44:56 EST


On Thu, Oct 11, 2018 at 03:26:57PM +0300, Stanimir Varbanov wrote:
> On 10/10/2018 08:08 PM, Will Deacon wrote:
> > On Wed, Oct 10, 2018 at 05:44:07PM +0300, Stanimir Varbanov wrote:
> >> Call iommu client translation fault handler(s).
> >>
> >> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx>
> >> ---
> >> drivers/iommu/arm-smmu.c | 3 +++
> >> 1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
> >> index 066f4c8daf4e..02a8aab0cc59 100644
> >> --- a/drivers/iommu/arm-smmu.c
> >> +++ b/drivers/iommu/arm-smmu.c
> >> @@ -568,6 +568,9 @@ static irqreturn_t arm_smmu_context_fault(int irq, void *dev)
> >> fsr, iova, fsynr, cfg->cbndx);
> >>
> >> writel(fsr, cb_base + ARM_SMMU_CB_FSR);
> >> +
> >> + report_iommu_fault(domain, smmu->dev, iova, 0);
> >
> > Who's using this? Generally, the callback here isn't so useful because it's
>
> The idea was to use it from video driver to dump few multimedia
> interconnect registers which will give us some more info about the fault.
>
> > called in irq context. We also don't enable stalling since 3714ce1d6655.
> >
> > We previously had fairly detailed discussions on the list with Rob Clark
> > about alternative ways to design this, but I don't remember where it ended
> > up.
>
> It will be useful if you point me to the discussion. Thanks!

There's more, but some stuff I managed to dig up is here:

https://lists.linuxfoundation.org/pipermail/iommu/2017-January/019931.html
https://lists.linuxfoundation.org/pipermail/iommu/2017-September/024143.html

Will