[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230809131303.1355-1-thunder.leizhen@huaweicloud.com>
Date: Wed, 9 Aug 2023 21:13:01 +0800
From: thunder.leizhen@...weicloud.com
To: Will Deacon <will@...nel.org>, Robin Murphy <robin.murphy@....com>,
Joerg Roedel <joro@...tes.org>, iommu@...ts.linux.dev,
linux-kernel@...r.kernel.org
Cc: Zhen Lei <thunder.leizhen@...wei.com>,
Tanmay Jagdale <tanmay@...vell.com>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>
Subject: [PATCH v2 0/2] iommu/arm-smmu-v3: Add support for ECMDQ register mode
From: Zhen Lei <thunder.leizhen@...wei.com>
v1 --> v2:
1. Drop patch "iommu/arm-smmu-v3: Add arm_smmu_ecmdq_issue_cmdlist() for non-shared ECMDQ" in v1
2. Drop patch "iommu/arm-smmu-v3: Add support for less than one ECMDQ per core" in v1
3. Replace rwlock with IPI to support lockless protection against the write operation to bit
'ERRACK' during error handling and the read operation to bit 'ERRACK' during command insertion.
4. Standardize variable names.
- struct arm_smmu_ecmdq *__percpu *ecmdq;
+ struct arm_smmu_ecmdq *__percpu *ecmdqs;
5. Add member 'iobase' to struct arm_smmu_device to record the start physical
address of the SMMU, to replace translation operation (vmalloc_to_pfn(smmu->base) << PAGE_SHIFT)
+ phys_addr_t iobase;
- smmu_dma_base = (vmalloc_to_pfn(smmu->base) << PAGE_SHIFT);
6. Cancel below union. Whether ECMDQ is enabled is determined only based on 'ecmdq_enabled'.
- union {
- u32 nr_ecmdq;
- u32 ecmdq_enabled;
- };
+ u32 nr_ecmdq;
+ bool ecmdq_enabled;
7. Eliminate some sparse check warnings. For example.
- struct arm_smmu_ecmdq *ecmdq;
+ struct arm_smmu_ecmdq __percpu *ecmdq;
Zhen Lei (2):
iommu/arm-smmu-v3: Add support for ECMDQ register mode
iommu/arm-smmu-v3: Ensure that a set of associated commands are
inserted in the same ECMDQ
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 260 +++++++++++++++++++-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 33 +++
2 files changed, 285 insertions(+), 8 deletions(-)
--
2.34.1
Powered by blists - more mailing lists