Loading drivers/iommu/arm-smmu.c +3 −4 Original line number Diff line number Diff line Loading @@ -1220,10 +1220,9 @@ static void arm_smmu_trigger_fault(struct iommu_domain *domain, cb_base = ARM_SMMU_CB_BASE(smmu) + ARM_SMMU_CB(smmu, cfg->cbndx); arm_smmu_enable_clocks(smmu); /* trigger a translation fault */ dev_err(smmu->dev, "Triggering translation fault on cb %d\n", cfg->cbndx); writel_relaxed(FSR_TF, cb_base + ARM_SMMU_CB_FSRRESTORE); dev_err(smmu->dev, "Writing 0x%lx to FSRRESTORE on cb %d\n", flags, cfg->cbndx); writel_relaxed(flags, cb_base + ARM_SMMU_CB_FSRRESTORE); arm_smmu_disable_clocks(smmu); } Loading drivers/iommu/iommu-debug.c +7 −1 Original line number Diff line number Diff line Loading @@ -94,8 +94,14 @@ static ssize_t iommu_debug_attachment_trigger_fault_write( loff_t *offset) { struct iommu_debug_attachment *attach = file->private_data; unsigned long flags; iommu_trigger_fault(attach->domain, 0); if (kstrtoul_from_user(ubuf, count, 0, &flags)) { pr_err("Invalid flags format\n"); return -EFAULT; } iommu_trigger_fault(attach->domain, flags); return count; } Loading Loading
drivers/iommu/arm-smmu.c +3 −4 Original line number Diff line number Diff line Loading @@ -1220,10 +1220,9 @@ static void arm_smmu_trigger_fault(struct iommu_domain *domain, cb_base = ARM_SMMU_CB_BASE(smmu) + ARM_SMMU_CB(smmu, cfg->cbndx); arm_smmu_enable_clocks(smmu); /* trigger a translation fault */ dev_err(smmu->dev, "Triggering translation fault on cb %d\n", cfg->cbndx); writel_relaxed(FSR_TF, cb_base + ARM_SMMU_CB_FSRRESTORE); dev_err(smmu->dev, "Writing 0x%lx to FSRRESTORE on cb %d\n", flags, cfg->cbndx); writel_relaxed(flags, cb_base + ARM_SMMU_CB_FSRRESTORE); arm_smmu_disable_clocks(smmu); } Loading
drivers/iommu/iommu-debug.c +7 −1 Original line number Diff line number Diff line Loading @@ -94,8 +94,14 @@ static ssize_t iommu_debug_attachment_trigger_fault_write( loff_t *offset) { struct iommu_debug_attachment *attach = file->private_data; unsigned long flags; iommu_trigger_fault(attach->domain, 0); if (kstrtoul_from_user(ubuf, count, 0, &flags)) { pr_err("Invalid flags format\n"); return -EFAULT; } iommu_trigger_fault(attach->domain, flags); return count; } Loading