Skip to content

iommu/io-pgtable: Cleanup and prep for split tables

Robin Murphy linux-arm-kernel linux-iommu 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest10 patches 27 repliesIn review
  2. v14 patches 19 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10iommu/io-pgtable: Make selftest gubbins consistently __initdrivers/iommu/io-pgtable-arm-v7s.c drivers/iommu/io-pgtable-arm.c+15 -130 replies
2/10iommu/io-pgtable-arm: Rationalise size checkdrivers/iommu/io-pgtable-arm.c+9 -10 replies
3/10iommu/io-pgtable-arm: Simplify bounds checksdrivers/iommu/io-pgtable-arm.c+2 -30 replies
4/10iommu/io-pgtable-arm: Simplify start level lookupdrivers/iommu/io-pgtable-arm.c+20 -250 replies
5/10iommu/io-pgtable-arm: Simplify PGD size handlingdrivers/iommu/io-pgtable-arm.c+17 -160 replies
6/10iommu/io-pgtable-arm: Simplify level indexingdrivers/iommu/io-pgtable-arm.c+13 -163 replies
7/10iommu/io-pgtable-arm: Rationalise MAIR handlingdrivers/iommu/arm-smmu-v3.c drivers/iommu/arm-smmu.c drivers/iommu/io-pgtable-arm.c +3 more+8 -94 replies
8/10iommu/io-pgtable-arm: Rationalise TTBRn handlingdrivers/iommu/arm-smmu-v3.c drivers/iommu/arm-smmu.c drivers/iommu/io-pgtable-arm-v7s.c +6 more+22 -276 replies
9/10iommu/io-pgtable-arm: Rationalise TCR handlingdrivers/iommu/arm-smmu-v3.c drivers/iommu/arm-smmu.c drivers/iommu/arm-smmu.h +5 more+94 -1047 replies
10/10iommu/io-pgtable-arm: Prepare for TTBR1 usagedrivers/iommu/io-pgtable-arm.c include/linux/io-pgtable.h+23 -64 replies

Reviews trailers per patch

None of the 10 patches has a Reviewed-by or Acked-by.

PatchJordan Crouse
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10T-b T-b
9/10T-b T-b
10/10T-b T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 00/10] iommu/io-pgtable: Cleanup and prep for split tables

Hi all,

Since the flawed first attempt, I've reworked things with an abstracted TCR and an explicit TTBR1 quirk. I originally envisaged the need to pass the quirk all the way down to the TLBI calls, hence getting diverted into trying to make the parameter passing less cluttered in general, but in the end it turned out fairly neat to just fix the indexing such that we can always just pass around the original unmodified IOVA. Most of the new patches come from staring at that indexing code for long enough to see the subtle inefficiencies that were worth ironing out, plus a bit of random cleanup which doesn't feel worth posting separately.

Note that these patches depend on the fixes already queued in -rc4, otherwise there will be conflicts in arm_mali_lpae_alloc_pgtable().

Robin.

Robin Murphy (10):
iommu/io-pgtable: Make selftest gubbins consistently __init iommu/io-pgtable-arm: Rationalise size check iommu/io-pgtable-arm: Simplify bounds checks iommu/io-pgtable-arm: Simplify start level lookup iommu/io-pgtable-arm: Simplify PGD size handling iommu/io-pgtable-arm: Simplify level indexing iommu/io-pgtable-arm: Rationalise MAIR handling iommu/io-pgtable-arm: Rationalise TTBRn handling iommu/io-pgtable-arm: Rationalise TCR handling iommu/io-pgtable-arm: Prepare for TTBR1 usage

 drivers/iommu/arm-smmu-v3.c        |  45 ++----
 drivers/iommu/arm-smmu.c           |  20 +--
 drivers/iommu/arm-smmu.h           |  27 ++++
 drivers/iommu/io-pgtable-arm-v7s.c |  37 +++--
 drivers/iommu/io-pgtable-arm.c     | 238 ++++++++++++++---------------
 drivers/iommu/io-pgtable.c         |   2 +-
 drivers/iommu/ipmmu-vmsa.c         |   4 +-
 drivers/iommu/msm_iommu.c          |   4 +-
 drivers/iommu/mtk_iommu.c          |   4 +-
 drivers/iommu/qcom_iommu.c         |  15 +-
 include/linux/io-pgtable.h         |  19 ++-
 11 files changed, 209 insertions(+), 206 deletions(-)
Signature · 6 lines
2.21.0.dirty

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu