iommu/arm-smmu-v3: Batch ATC invalidation commands
authorRob Herring <robh@kernel.org>
Mon, 24 Feb 2020 16:58:46 +0000 (17:58 +0100)
committerWill Deacon <will@kernel.org>
Wed, 18 Mar 2020 21:32:25 +0000 (21:32 +0000)
commit9e773aee8c3e1b3ba019c5c7f8435aaa836c6130
tree8ddeaec9c3d4091cdce3347ea8649c8fe3a4a29f
parentedd0351e7bc49555d8b5ad8438a65a7ca262c9f0
iommu/arm-smmu-v3: Batch ATC invalidation commands

Similar to commit 2af2e72b18b4 ("iommu/arm-smmu-v3: Defer TLB
invalidation until ->iotlb_sync()"), build up a list of ATC invalidation
commands and submit them all at once to the command queue instead of
one-by-one.

As there is only one caller of arm_smmu_atc_inv_master() left, we can
simplify it and avoid passing in struct arm_smmu_cmdq_ent.

Cc: Jean-Philippe Brucker <jean-philippe@linaro.org>
Cc: Will Deacon <will@kernel.org>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Joerg Roedel <joro@8bytes.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm-smmu-v3.c