Re: [PATCH v2 05/10] iommu/arm-smmu-v3: Flush iotlb in arm_smmu_iotlb_tag_free()

Jason Gunthorpe
2026-01-26T21:08:36Z

On Wed, Jan 21, 2026 at 05:24:23PM -0800, Nicolin Chen wrote:
> static void arm_smmu_iotlb_tag_free(struct arm_smmu_inv *tag)
> {
> + struct arm_smmu_cmdq_ent cmd = {
> + .opcode = tag->nsize_opcode,
> + };
> +
> + if (tag->type == INV_TYPE_S1_ASID)
> + cmd.tlbi.asid = tag->id;
> + else
> + cmd.tlbi.vmid = tag->id;
> + arm_smmu_cmdq_issue_cmd_with_sync(tag->smmu, &cmd);

I think in all these places checking the tag->type it is probably a
good idea to not use a catch all else for vmid? We have many tag types
and some should never come to this, or other, functions.

Jason