On Thu, Nov 19, 2020 at 06:41:49PM +0100, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > Commit d0511b5496c0 ("firmware: QCOM_SCM: Allow qcom_scm driver to be > loadable as a permenent module") causes the ARM SMMU driver to be built > as a loadable module when using the Aarch64 default configuration. This > in turn causes problems because if the loadable module is not shipped > in an initial ramdisk, then the deferred probe timeout mechanism will > cause all SMMU masters to probe without SMMU support and fall back to > just plain DMA ops (not IOMMU-backed). > > Once the system has mounted the rootfs, the ARM SMMU driver will then > be loaded, but since the ARM SMMU driver faults by default, this causes > a slew of SMMU faults for the SMMU masters that have already been set > up with plain DMA ops and cause these devices to malfunction. > > Revert that commit to unbreak things while we look for an alternative > solution. > > Reported-by: Jon Hunter <jonathanh@xxxxxxxxxx> > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > drivers/firmware/Kconfig | 4 ++-- > drivers/firmware/Makefile | 3 +-- > drivers/firmware/qcom_scm.c | 4 ---- > drivers/iommu/Kconfig | 2 -- > drivers/net/wireless/ath/ath10k/Kconfig | 1 - > 5 files changed, 3 insertions(+), 11 deletions(-) Acked-by: Will Deacon <will@xxxxxxxxxx> John previously agreed to this here: https://lore.kernel.org/r/CALAqxLVDm923WRSB+DVxFacmEtmEPS7Qeq+rW_jbCDMNMWw9PQ@xxxxxxxxxxxxxx so might be worth putting in a Link: tag when it gets applied. Will