[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZM1Yh5vzfxwV5Rbc@Asurada-Nvidia>
Date: Fri, 4 Aug 2023 12:59:03 -0700
From: Nicolin Chen <nicolinc@...dia.com>
To: Michael Shavit <mshavit@...gle.com>
CC: <iommu@...ts.linux.dev>, <linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <will@...nel.org>,
<robin.murphy@....com>, <jgg@...dia.com>,
<jean-philippe@...aro.org>
Subject: Re: [PATCH v4 7/8] iommu/arm-smmu-v3: Skip cd sync if CD table isn't
active
On Thu, Aug 03, 2023 at 12:32:35AM +0800, Michael Shavit wrote:
> This commit explicitly keeps track of whether a CD table is installed in
> an STE so that arm_smmu_sync_cd can skip the sync when unnecessary. This
> was previously achieved through the domain->devices list, but we are
> moving to a model where arm_smmu_sync_cd directly operates on a master
> and the master's CD table instead of a domain.
> @@ -1360,6 +1363,9 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_master *master, u32 sid,
> cd_table->l1_desc ?
> STRTAB_STE_0_S1FMT_64K_L2 :
> STRTAB_STE_0_S1FMT_LINEAR);
> + cd_table->installed = true;
> + } else {
> + master->cd_table.installed = false;
Before this chunk, there is another fork for "Bypass/fault", where
we could set "installed" to false too, although it doesn't seem to
cause a problem at this moment since arm_smmu_sync_cd() is called
only in the context of an ARM_SMMU_DOMAIN_S1.
Otherwise,
Reviewed-by: Nicolin Chen <nicolinc@...dia.com>
Powered by blists - more mailing lists