Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c2178fd authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "iommu/arm-smmu: Use the flag value when triggering faults"

parents a8a374d6 1de8a374
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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);
}

+7 −1
Original line number Diff line number Diff line
@@ -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;
}