Commit 7314ca86 authored by Will Deacon's avatar Will Deacon
Browse files

iommu/arm-smmu-v3: Don't issue CMD_SYNC for zero-length invalidations



Calling arm_smmu_tlb_inv_range() with a size of zero, perhaps due to
an empty 'iommu_iotlb_gather' structure, should be a NOP. Elide the
CMD_SYNC when there is no invalidation to be performed.

Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent f75d8e33
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1977,6 +1977,9 @@ static void arm_smmu_tlb_inv_range(unsigned long iova, size_t size,
		},
	};

	if (!size)
		return;

	if (smmu_domain->stage == ARM_SMMU_DOMAIN_S1) {
		cmd.opcode	= CMDQ_OP_TLBI_NH_VA;
		cmd.tlbi.asid	= smmu_domain->s1_cfg.cd.asid;