From: Nicolin Chen <nicolinc@nvidia.com>
To: Robin Murphy <robin.murphy@arm.com>
Cc: <will@kernel.org>, <joro@8bytes.org>, <iommu@lists.linux.dev>,
<linux-arm-kernel@lists.infradead.org>,
<jean-philippe@linaro.org>
Subject: Re: [PATCH 2/4] iommu/arm-smmu-v3: Document MMU-700 erratum 2812531
Date: Wed, 10 May 2023 11:12:03 -0700 [thread overview]
Message-ID: <ZFvec0JGfbaYHie2@Asurada-Nvidia> (raw)
In-Reply-To: <330221cdfd0003cd51b6c04e7ff3566741ad8374.1683731256.git.robin.murphy@arm.com>
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.
> and ends with a sync. The only exception is when a batch is sufficiently
> large to need issuing across multiple command queue slots, wherein the
> earlier slots will not contain a sync and thus may in theory interleave
> with another batch being issued in parallel to create an affected
> sequence across the slot boundary.
>
> Since MMU-700 supports range invalidate commands and thus we will prefer
> to use them (which also happens to avoid conditions for other errata),
> I'm not entirely sure it's even possible for a single high-level
> invalidate call to generate a batch of more than 63 commands, but for
> the sake of robustness and documentation, wire up an option to enforce
> that a sync is always inserted for every slot issued.
Hmm. This can happen to a user space driver that does something
insane like that. I'll need, again in the nesting patch, a line
of code to limit the number of the commands when it calls the
arm_smmu_cmdq_issue_cmdlist() for a user cache invalidation.
> The other aspect is that the relative order of DVM commands cannot be
> controlled, so DVM cannot be used. Again that is already the status quo,
> but since we have at least defined ARM_SMMU_FEAT_BTM, we can explicitly
> disable it for documentation purposes even if it's not wired up anywhere
> yet.
>
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Thanks!
next prev parent reply other threads:[~2023-05-10 18:12 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-10 15:38 [PATCH 0/4] iommu/arm-smmu-v3: Arm SMMU errata bits Robin Murphy
2023-05-10 15:38 ` [PATCH 1/4] iommu/arm-smmu-v3: Work around MMU-600 erratum 1076982 Robin Murphy
2023-05-10 17:40 ` Nicolin Chen
2023-05-12 19:02 ` Robin Murphy
2023-05-18 0:53 ` Nicolin Chen
2023-05-18 0:53 ` Nicolin Chen
2023-05-10 15:38 ` [PATCH 2/4] iommu/arm-smmu-v3: Document MMU-700 erratum 2812531 Robin Murphy
2023-05-10 18:12 ` Nicolin Chen [this message]
2023-05-10 18:31 ` Nicolin Chen
2023-05-12 19:23 ` Robin Murphy
2023-05-15 15:44 ` Nicolin Chen
2023-05-15 15:44 ` Nicolin Chen
2023-05-10 15:38 ` [PATCH 3/4] iommu/arm-smmu-v3: Add explicit feature for nesting Robin Murphy
2023-05-10 18:13 ` Nicolin Chen
2023-05-10 15:38 ` [PATCH 4/4] iommu/arm-smmu-v3: Document nesting-related errata Robin Murphy
2023-05-10 18:37 ` Nicolin Chen
2023-06-08 21:36 ` [PATCH 0/4] iommu/arm-smmu-v3: Arm SMMU errata bits Will Deacon
2023-06-08 21:36 ` Will Deacon
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=ZFvec0JGfbaYHie2@Asurada-Nvidia \
--to=nicolinc@nvidia.com \
--cc=iommu@lists.linux.dev \
--cc=jean-philippe@linaro.org \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=robin.murphy@arm.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.