[PATCH v2 00/10] Tidy some minor things in the stream table/cd table area
Jason Gunthorpe
jgg at nvidia.com
Mon Jun 10 17:31:09 PDT 2024
Will pointed out that two places referring to the CD/STE struct did not
get the new types. While auditing this code a few more oddities were
noticed. Based on a feedback from Mostafa and Nicolin a few more things
were fixed up too
- Use types for all the HW structures everywhere even for the L1
descriptors that are just a single 8 bytes. This helps with clarity of
what everthing is pointing at
- Use indexing helpers for the STE/CD two level calculations
- Use sizeof(struct X) instead of open coded math on constants. The sizeof
naturally follows the type of the related variable in almost all cases
- Remove redundant dma_addr_t's and save some memory
- Remove redundant devm usage
- Use the modern rbtree API
Parts of this have been sitting in my tree for a while now, it grew a bit
since v1, but nothing is particularly profound here. Enough is merged now
that they can be cleanly based and are seperate from my other series.
v2:
- Add a patch to add structs for the L1/L2 HW layouts and use their
sizeof and type instead of constants and generic __le64 *.
- Add a patch for L1/L2 indexing helpers for clarity
- Reorder patches
- Redo the union layout in the cfg for both cases
- Fully remove some more defines
v1: https://lore.kernel.org/r/0-v1-1b720dce51d1+4f44-smmuv3_tidy_jgg@nvidia.com
Jason Gunthorpe (10):
iommu/arm-smmu-v3: Do not zero the strtab twice
iommu/arm-smmu-v3: Shrink the strtab l1_desc array
iommu/arm-smmu-v3: Add arm_smmu_strtab_l1/2_idx()
iommu/arm-smmu-v3: Add types for each level of the 2 level stream
table
iommu/arm-smmu-v3: Reorganize struct arm_smmu_strtab_cfg
iommu/arm-smmu-v3: Remove strtab_base/cfg
iommu/arm-smmu-v3: Do not use devm for the cd table allocations
iommu/arm-smmu-v3: Shrink the cdtab l1_desc array
iommu/arm-smmu-v3: Add types for each level of the CD table
iommu/arm-smmu-v3: Reorganize struct arm_smmu_ctx_desc_cfg
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 319 +++++++++-----------
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 103 +++++--
2 files changed, 211 insertions(+), 211 deletions(-)
base-commit: b9f4172f83796c9f0b84e92c912732251bd79b57
--
2.45.2
More information about the linux-arm-kernel
mailing list