Re: [PATCH] iommu/arm: fix ARM_SMMU_QCOM compilation

From: Arnd Bergmann
Date: Wed Oct 13 2021 - 04:34:28 EST


On Wed, Oct 13, 2021 at 9:58 AM Will Deacon <will@xxxxxxxxxx> wrote:
> On Tue, Oct 12, 2021 at 05:18:00PM +0200, Arnd Bergmann wrote:
> > From: Arnd Bergmann <arnd@xxxxxxxx>
> >
> > My previous bugfix ended up making things worse for the QCOM IOMMU
> > driver when it forgot to add the Kconfig symbol that is getting used to
> > control the compilation of the SMMU implementation specific code
> > for Qualcomm.
> >
> > Fixes: 424953cf3c66 ("qcom_scm: hide Kconfig symbol")
> > Reported-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
> > Reported-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> > Reported-by: John Stultz <john.stultz@xxxxxxxxxx>
> > Link: https://lore.kernel.org/lkml/20211010023350.978638-1-dmitry.baryshkov@xxxxxxxxxx/
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> > ---
> > In case we want fix it this way after all, here is the patch
> > I made. Either this one or Dmitry patch from the link above
> > is required for v5.15
> > ---
> > drivers/iommu/Kconfig | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> > index c5c71b7ab7e8..3eb68fa1b8cc 100644
> > --- a/drivers/iommu/Kconfig
> > +++ b/drivers/iommu/Kconfig
> > @@ -355,6 +355,14 @@ config ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT
> > 'arm-smmu.disable_bypass' will continue to override this
> > config.
> >
> > +config ARM_SMMU_QCOM
> > + def_tristate y
> > + depends on ARM_SMMU && ARCH_QCOM
> > + select QCOM_SCM
> > + help
> > + When running on a Qualcomm platform that has the custom variant
> > + of the ARM SMMU, this needs to be built into the SMMU driver.
> > +
>
> FWIW, I prefer this solution over changing the driver code, so:
>
> Acked-by: Will Deacon <will@xxxxxxxxxx>
>
> I assume you'll be getting this fixed for 5.15?

I was hoping you and Joerg could just pick your preferred patch
into the iommu fixes tree for v5.15.

I currently have nothing else pending for my asm-generic tree that
introduced the regression, but I can take it through there if that helps
you.

Arnd