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: Will Deacon <will@kernel.org>
This commit is contained in:
parent
f75d8e33df
commit
7314ca8699
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue