* 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
* 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).