[PATCH v3 4/9] iommu/arm-smmu-v3: Reorganize struct arm_smmu_strtab_cfg
Will Deacon
will at kernel.org
Fri Sep 6 06:19:17 PDT 2024
On Tue, Aug 06, 2024 at 08:31:18PM -0300, Jason Gunthorpe wrote:
> The members here are being used for both the linear and the 2 level case,
> with the meaning of each item slightly different in the two cases.
>
> Split it into a clean union where both cases have their own struct with
> their own logical names and correct types.
>
> Adjust all the users to detect linear/2lvl and use the right sub structure
> and types consistently.
>
> Remove STRTAB_STE_DWORDS by changing the last places to use
> sizeof(struct arm_smmu_ste).
>
> Tested-by: Nicolin Chen <nicolinc at nvidia.com>
> Reviewed-by: Nicolin Chen <nicolinc at nvidia.com>
> Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>
> ---
> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 77 ++++++++++-----------
> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 26 +++----
> 2 files changed, 50 insertions(+), 53 deletions(-)
[...]
> diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
> index 3a8a459f899fd8..18e85fc936876b 100644
> --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
> +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
> @@ -207,10 +207,8 @@
> #define STRTAB_L1_DESC_SPAN GENMASK_ULL(4, 0)
> #define STRTAB_L1_DESC_L2PTR_MASK GENMASK_ULL(51, 6)
>
> -#define STRTAB_STE_DWORDS 8
> -
> struct arm_smmu_ste {
> - __le64 data[STRTAB_STE_DWORDS];
> + __le64 data[8];
> };
As discussed before, please keep this part as-is (i.e. __le64
data[STRTAB_STE_DWORDS])
Will
More information about the linux-arm-kernel
mailing list