Linux Tegra architecture development
 help / color / mirror / Atom feed
From: Nicolin Chen <nicolinc@nvidia.com>
To: Ashish Mhetre <amhetre@nvidia.com>
Cc: <catalin.marinas@arm.com>, <will@kernel.org>, <corbet@lwn.net>,
	<skhan@linuxfoundation.org>, <robin.murphy@arm.com>,
	<joro@8bytes.org>, <jgg@ziepe.ca>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<iommu@lists.linux.dev>, <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH v8 3/3] iommu/arm-smmu-v3: Enable CFGI/TLBI-repeat workaround on Tegra264
Date: Wed, 22 Jul 2026 12:16:22 -0700	[thread overview]
Message-ID: <amEXBlsOiDyAvZ0w@nvidia.com> (raw)
In-Reply-To: <20260722102033.1122277-4-amhetre@nvidia.com>

On Wed, Jul 22, 2026 at 10:20:33AM +0000, Ashish Mhetre wrote:
> The host repeats only the invalidations it issues itself. On a nesting
> setup the guest submits its own invalidations, either directly through
> VCMDQ or via the iommufd user-invalidation path, so the guest is the one
> that has to apply the workaround there. Report the erratum to user space
> through the new IOMMU_HW_INFO_ARM_SMMUV3_ERRATA_REPEAT_TLBI_CFGI hw_info
> flag so a VMM can confirm the guest runs a matching "nvidia,tegra264-smmu"
> (or otherwise double the commands itself). The host therefore does not
> repeat the guest's user-issued invalidations, which would otherwise be
> doubled a second time.

I think this "enable" patch is doing a bit too much.

All the iommufd-related changes can be added separately

I would do a cleanup:
 - arm-smmu-v3: Factor force_sync
 - arm-smmu-v3: Add arm_smmu_erratum_repeat_tlbi_cfgi_key and WAR
 - arm-smmu-v3-iommufd: Add IOMMU_HW_INFO_ARM_SMMUV3_ERRATA_REPEAT_TLBI_CFGI
 - arm-smmu-v3: Set arm_smmu_erratum_repeat_tlbi_cfgi_key
  
> +/**
> + * enum iommu_hw_info_arm_smmuv3_flags - Flags for ARM SMMUv3 hw_info
> + * @IOMMU_HW_INFO_ARM_SMMUV3_ERRATA_REPEAT_TLBI_CFGI: If set, user space must
> + *	issue TLBI/CFGI+SYNC commands twice due to a hardware erratum T264-SMMU-3.
> + *	See the description at arm_smmu_erratum_repeat_tlbi_cfgi_key.

You can follow the kdoc style as enum iommufd_option.

Nicolin

      reply	other threads:[~2026-07-22 19:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-22 10:20 [PATCH v8 0/3] iommu/arm-smmu-v3: Tegra264 invalidation workaround Ashish Mhetre
2026-07-22 10:20 ` [PATCH v8 1/3] iommu/arm-smmu-v3: Factor out CMDQ batch force-sync conditions Ashish Mhetre
2026-07-22 10:20 ` [PATCH v8 2/3] iommu/arm-smmu-v3: Introduce CFGI/TLBI-repeat workaround infrastructure Ashish Mhetre
2026-07-22 19:02   ` Nicolin Chen
2026-07-22 10:20 ` [PATCH v8 3/3] iommu/arm-smmu-v3: Enable CFGI/TLBI-repeat workaround on Tegra264 Ashish Mhetre
2026-07-22 19:16   ` Nicolin Chen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=amEXBlsOiDyAvZ0w@nvidia.com \
    --to=nicolinc@nvidia.com \
    --cc=amhetre@nvidia.com \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@ziepe.ca \
    --cc=joro@8bytes.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=skhan@linuxfoundation.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox