* Re: [PATCH 2/4] iommu/arm-smmu-v3: Document MMU-700 erratum 2812531 [not found] ` <a45be5e3-c605-f93a-f523-1bb1f6150986@arm.com> @ 2023-05-15 15:44 ` Nicolin Chen 0 siblings, 0 replies; 3+ messages in thread From: Nicolin Chen @ 2023-05-15 15:44 UTC (permalink / raw) To: Robin Murphy; +Cc: will, joro, iommu, linux-arm-kernel, jean-philippe On Fri, May 12, 2023 at 08:23:54PM +0100, Robin Murphy wrote: > On 2023-05-10 19:31, Nicolin Chen wrote: > > On Wed, May 10, 2023 at 11:12:05AM -0700, Nicolin Chen wrote: > > > On Wed, May 10, 2023 at 04:38:44PM +0100, Robin Murphy wrote: > > > > > > > To work around MMU-700 erratum 2812531 we need to ensure that certain > > > > sequences of commands cannot be issued without an intervening sync. In > > > > practice this falls out of our current command-batching machinery > > > > anyway - each batch only contains a single type of invalidation command, > > > > > > Hmm. This doesn't apply to the user cache invalidation solution > > > in my v2. A user cmdq could possibly mix different commands in > > > a single batch if the driver isn't aware of such an errata. So, > > > I think I'd need some twist when the host has a FORCE_SYNC flag > > > in my v3. > > > > Just found that you unset the NESTING feature flag in PATCH-4 > > for this errata too. So, the solution in my v2 should be safe. > > For the short term at least - we will still need to come up with a more > practical active mitigation sooner rather than later, since I imagine > people are likely to be a bit miffed if nesting support lands in distros > but still refuses to play at all on the newest shiniest hardware. > Unfortunately all current versions of MMU-700 are affected (hence the > unconditional nature of this patch), and some of those are going to > found in production SoCs. Okay. I will try adding a WAR function following the doc: 1. A Stage 1 Invalidation that is followed by a Stage 2 invalidation 2. A Configuration Invalidation that is followed by any TLB Invalidation 3. A Leaf invalidation that is followed by a Non-leaf invalidation We don't need anything for (1) as a user CMDQ only has stage-1 invalidations. Adding a SYNC after every CFIG_CD(_ALL) should work for (2). Then for (3), need to check the leaf bit between two adjacent NH_VA/NH_VAA commands. Thanks Nic _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <08adbe3d01024d8382a478325f73b56851f76e49.1683731256.git.robin.murphy@arm.com>]
[parent not found: <ZFvXF3gKL4WHiBeZ@Asurada-Nvidia>]
* Re: [PATCH 1/4] iommu/arm-smmu-v3: Work around MMU-600 erratum 1076982 [not found] ` <ZFvXF3gKL4WHiBeZ@Asurada-Nvidia> @ 2023-05-18 0:53 ` Nicolin Chen 0 siblings, 0 replies; 3+ messages in thread From: Nicolin Chen @ 2023-05-18 0:53 UTC (permalink / raw) To: Robin Murphy; +Cc: will, joro, iommu, linux-arm-kernel, jean-philippe On Wed, May 10, 2023 at 10:40:42AM -0700, Nicolin Chen wrote: > On Wed, May 10, 2023 at 04:38:43PM +0100, Robin Murphy wrote: > > > MMU-600 versions prior to r1p0 fail to correctly generate a WFE wakeup > > event when the command queue transitions fom full to non-full. We can > > easily work around this by simply hiding the SEV capability such that we > > fall back to polling for space in the queue - since MMU-600 implements > > MSIs we wouldn't expect to need SEV for sync completion either, so this > > should have little to no impact. > > > > Signed-off-by: Robin Murphy <robin.murphy@arm.com> > > Reviewed-by: Nicolin Chen <nicolinc@nvidia.com> It happens that I have a simulation environment where the IIDR value hits the errata, i.e. the NESTING feature bit gets canceled by this patch. So, Tested-by: Nicolin Chen <nicolinc@nvidia.com> Hopefully we can get this series merged soon. Thanks! Nic _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 0/4] iommu/arm-smmu-v3: Arm SMMU errata bits [not found] <cover.1683731256.git.robin.murphy@arm.com> [not found] ` <330221cdfd0003cd51b6c04e7ff3566741ad8374.1683731256.git.robin.murphy@arm.com> [not found] ` <08adbe3d01024d8382a478325f73b56851f76e49.1683731256.git.robin.murphy@arm.com> @ 2023-06-08 21:36 ` Will Deacon 2 siblings, 0 replies; 3+ messages in thread From: Will Deacon @ 2023-06-08 21:36 UTC (permalink / raw) To: Robin Murphy, joro Cc: catalin.marinas, kernel-team, Will Deacon, iommu, linux-arm-kernel, jean-philippe, nicolinc On Wed, 10 May 2023 16:38:42 +0100, Robin Murphy wrote: > Further to the discussion on the nesting series a while back, here's a > mini-series to help us start taking more of an interest in SMMU errata. > Patch #1 is more about the infrastucture than that erratum itself, but > since I *had* already written it up (5 years ago!) I figured why not > just build on it as-is. The rest is effectively just documentation at > this point, but getting us ready for all the hitherto unmet conditions > that IOMMUFD nesting is going to open up. > > [...] Applied to will (for-joerg/arm-smmu/updates), thanks! [1/4] iommu/arm-smmu-v3: Work around MMU-600 erratum 1076982 https://git.kernel.org/will/c/f322e8af35c7 [2/4] iommu/arm-smmu-v3: Document MMU-700 erratum 2812531 https://git.kernel.org/will/c/309a15cb16bb [3/4] iommu/arm-smmu-v3: Add explicit feature for nesting https://git.kernel.org/will/c/1d9777b9f3d5 [4/4] iommu/arm-smmu-v3: Document nesting-related errata https://git.kernel.org/will/c/0bfbfc526c70 Cheers, -- Will https://fixes.arm64.dev https://next.arm64.dev https://will.arm64.dev _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-06-08 21:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1683731256.git.robin.murphy@arm.com>
[not found] ` <330221cdfd0003cd51b6c04e7ff3566741ad8374.1683731256.git.robin.murphy@arm.com>
[not found] ` <ZFvec0JGfbaYHie2@Asurada-Nvidia>
[not found] ` <ZFvi/WEksryM0cin@Asurada-Nvidia>
[not found] ` <a45be5e3-c605-f93a-f523-1bb1f6150986@arm.com>
2023-05-15 15:44 ` [PATCH 2/4] iommu/arm-smmu-v3: Document MMU-700 erratum 2812531 Nicolin Chen
[not found] ` <08adbe3d01024d8382a478325f73b56851f76e49.1683731256.git.robin.murphy@arm.com>
[not found] ` <ZFvXF3gKL4WHiBeZ@Asurada-Nvidia>
2023-05-18 0:53 ` [PATCH 1/4] iommu/arm-smmu-v3: Work around MMU-600 erratum 1076982 Nicolin Chen
2023-06-08 21:36 ` [PATCH 0/4] iommu/arm-smmu-v3: Arm SMMU errata bits Will Deacon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).