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

Commit 465b9e8a authored by Mitchel Humpherys's avatar Mitchel Humpherys Committed by Matt Wagantall
Browse files

iommu/arm-smmu: make a mismatch in CBs and CB interrupts non-fatal



When running under a hypervisor, the number of context banks visible to
Linux could be different from what we see when running standalone.  This
is problematic since the context bank interrupts are hard-coded into the
DT configuration, and we'd like to share that configuration whether
we're running under a hypervisor or not.  Remove a warning when a
mismatch in the number of CBs and CB interrupts is detected and don't
return failure while probing.

Change-Id: I9271e4e04ecafe61f4bb12d1e1148cb2bcec2439
Signed-off-by: default avatarMitchel Humpherys <mitchelh@codeaurora.org>
parent bbb624cb
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -2495,10 +2495,10 @@ static int arm_smmu_device_dt_probe(struct platform_device *pdev)
	if (smmu->version > ARM_SMMU_V1 &&
	    smmu->num_context_banks != smmu->num_context_irqs) {
		dev_err(dev,
			"found only %d context interrupt(s) but %d required\n",
			smmu->num_context_irqs, smmu->num_context_banks);
		err = -ENODEV;
		goto out_put_masters;
			"found %d context interrupt(s) but have %d context banks. assuming %d context interrupts.\n",
			smmu->num_context_irqs, smmu->num_context_banks,
			smmu->num_context_banks);
		smmu->num_context_irqs = smmu->num_context_banks;
	}

	for (i = 0; i < smmu->num_global_irqs; ++i) {