From: Nicolin Chen <nicolinc@nvidia.com>
To: Will Deacon <will@kernel.org>
Cc: <joro@8bytes.org>, <jgg@nvidia.com>, <thierry.reding@gmail.com>,
<vdumpa@nvidia.com>, <jonathanh@nvidia.com>,
<linux-kernel@vger.kernel.org>, <iommu@lists.linux.dev>,
<linux-arm-kernel@lists.infradead.org>,
<linux-tegra@vger.kernel.org>,
Robin Murphy <robin.murphy@arm.com>
Subject: Re: [PATCH v13 06/10] iommu/arm-smmu-v3: Add acpi_smmu_acpi_probe_model for impl
Date: Thu, 29 Aug 2024 15:50:08 -0700 [thread overview]
Message-ID: <ZtD7IBiG1BGQres3@Asurada-Nvidia> (raw)
In-Reply-To: <Zs38ZK3XERYMgXmC@Asurada-Nvidia>
Hi Will,
On Tue, Aug 27, 2024 at 09:18:47AM -0700, Nicolin Chen wrote:
> On Tue, Aug 27, 2024 at 04:57:48PM +0100, Robin Murphy wrote:
> > > > -static void acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu)
> > > > +static int acpi_smmu_iort_probe_model(struct acpi_iort_node *node,
> > > > + struct arm_smmu_device *smmu)
> > > > {
> > > > - switch (model) {
> > > > + struct acpi_iort_smmu_v3 *iort_smmu =
> > > > + (struct acpi_iort_smmu_v3 *)node->node_data;
> > > > +
> > > > + switch (iort_smmu->model) {
> > > > case ACPI_IORT_SMMU_V3_CAVIUM_CN99XX:
> > > > smmu->options |= ARM_SMMU_OPT_PAGE0_REGS_ONLY;
> > > > break;
> > > > case ACPI_IORT_SMMU_V3_HISILICON_HI161X:
> > > > smmu->options |= ARM_SMMU_OPT_SKIP_PREFETCH;
> > > > break;
> > > > + case ACPI_IORT_SMMU_V3_GENERIC:
> > > > + break;
> > > > + default:
> > > > + dev_err(smmu->dev, "Unknown/unsupported IORT model!\n");
> > > > + return -ENXIO;
> > >
> > > We probably don't want this 'default' case, otherwise the driver will
> > > need to be updated every time there's a new model.
> >
> > ...although the intent is very strongly that there should never be any
> > new models, because by now hardware should really not be failing to
> > implement SMMU_IIDR correctly. In some ways, having this might help
> > further discourage people from abusing the mechanism and making random
> > stuff up in their firmware :/
>
> I don't have a strong feeling about this, though Robin's point was
> my intention here.
>
> Apart from this "default case", I typo-ed the function name in the
> patch subject and commit message. Also, there's a missed kdoc line
> in struct tegra241_cmdqv (PATCH-8).
>
> So, I prepared a v14:
> https://github.com/nicolinc/iommufd/commits/vcmdq_in_kernel-v14
> v14 changelog (attaching git-diff at the EOM):
> * Rebased on Will's for-joerg/arm-smmu/updates
> * Added a missed kdoc for "dev" in struct tegra241_cmdqv
> * Dropped the default case in acpi_smmu_iort_probe_model()
> (did this before seeing Robin's mail here.)
>
> Let's see what makes the best for you, Will.
I just sent v14 by keeping the default case, given Robin's remarks
here. If you'd like to remove the default case, please feel free!
Thank you
Nicolin
next prev parent reply other threads:[~2024-08-29 22:51 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-24 0:10 [PATCH v13 00/10] Add Tegra241 (Grace) CMDQV Support (part 1/2) Nicolin Chen
2024-08-24 0:10 ` [PATCH v13 01/10] iommu/arm-smmu-v3: Issue a batch of commands to the same cmdq Nicolin Chen
2024-08-24 0:10 ` [PATCH v13 02/10] iommu/arm-smmu-v3: Pass in cmdq pointer to arm_smmu_cmdq_build_sync_cmd Nicolin Chen
2024-08-24 0:10 ` [PATCH v13 03/10] iommu/arm-smmu-v3: Pass in cmdq pointer to arm_smmu_cmdq_init Nicolin Chen
2024-08-24 0:10 ` [PATCH v13 04/10] iommu/arm-smmu-v3: Make symbols public for CONFIG_TEGRA241_CMDQV Nicolin Chen
2024-08-24 0:10 ` [PATCH v13 05/10] iommu/arm-smmu-v3: Add ARM_SMMU_OPT_TEGRA241_CMDQV Nicolin Chen
2024-08-24 0:10 ` [PATCH v13 06/10] iommu/arm-smmu-v3: Add acpi_smmu_acpi_probe_model for impl Nicolin Chen
2024-08-27 13:02 ` Will Deacon
2024-08-27 15:57 ` Robin Murphy
2024-08-27 16:18 ` Nicolin Chen
2024-08-29 22:50 ` Nicolin Chen [this message]
2024-08-24 0:10 ` [PATCH v13 07/10] iommu/arm-smmu-v3: Add struct arm_smmu_impl_ops Nicolin Chen
2024-08-24 0:10 ` [PATCH v13 08/10] iommu/arm-smmu-v3: Add in-kernel support for NVIDIA Tegra241 (Grace) CMDQV Nicolin Chen
2024-08-26 21:44 ` kernel test robot
2024-08-24 0:10 ` [PATCH v13 09/10] iommu/arm-smmu-v3: Start a new batch if new command is not supported Nicolin Chen
2024-08-24 0:10 ` [PATCH v13 10/10] iommu/tegra241-cmdqv: Limit CMDs for VCMDQs of a guest owned VINTF Nicolin Chen
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=ZtD7IBiG1BGQres3@Asurada-Nvidia \
--to=nicolinc@nvidia.com \
--cc=iommu@lists.linux.dev \
--cc=jgg@nvidia.com \
--cc=jonathanh@nvidia.com \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=thierry.reding@gmail.com \
--cc=vdumpa@nvidia.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox