[PATCH v12 0/2] iommu/mediatek: TTBR up to 35bit support

From: yf.wang
Date: Thu Jun 30 2022 - 05:36:35 EST


This patchset adds MediaTek TTBR up to 35bit support for single normal zone.

Changes in v12:
- Update [PATCH 1/2]: remove GENMASK(31, 7)
- Update [PATCH 2/2]: remove MMU_PT_ADDR_MASK definition.

Changes in v11:
https://lore.kernel.org/linux-mediatek/20220630062508.23512-1-yf.wang@xxxxxxxxxxxx/
- According to Yong's suggestion in [PATCH v10] to update patch
- [PATCH 1/2]: Because keep ttbr u32, so the special logic of encoded PA
bits[34:32] to ttbr lower bits will apply to all the MediaTek cases,
not only for the quirk IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT, so remove
quirk check.
- [PATCH 2/2]: Because no need calculate the special ttbr, so remove ttbr
from mtk_iommu_domain and remove MMU_PT_ADDR_MASK calculate.

Changes in v10:
https://lore.kernel.org/linux-mediatek/20220616120713.12728-1-yf.wang@xxxxxxxxxxxx/
- According to Robin's suggestion in [PATCH v9] to update patch
- Recovery ttbr to u32, encoded PA bits[34:32] to ttbr lower bits.
- Remove PATCH: Rename MTK_IOMMU_TLB_ADDR to MTK_IOMMU_ADDR.

Changes in v9:
https://lore.kernel.org/linux-mediatek/20220615161224.6923-1-yf.wang@xxxxxxxxxxxx/
- According to Will's suggestion in [PATCH v8 1/3] update [PATCH 1/3]
- Rename function to_iopte_mtk to to_mtk_iopte.
- Modify gfp_l1 and slab_flag and add comment explaining.
- Add checking that the address is within 35 bits use cfg->oas.
- PATCH 1/3 & PATCH 2/3 no change.

Changes in v8:
https://lore.kernel.org/linux-mediatek/20220611102656.10954-1-yf.wang@xxxxxxxxxxxx/
- Add and update patch
- Add [2/3] patch update MTK_IOMMU_ADDR to calculate the special ttbr.
- Save the special ttbr to mtk_iommu_domain avoid calculate it again.

Changes in v7:
https://lore.kernel.org/linux-mediatek/20220530080432.29123-1-yf.wang@xxxxxxxxxxxx/
- Update patch and commit message
- Extend arm_v7s_cfg.ttbr to u64.
- Move the special ttbr logical into mtk_iommu.c.
- Update commit message for single normal zone.

Changes in v6:
- Update patch: gfp_l1 = GFP_KERNEL | __GFP_ZERO;
- Update commit message for single normal zone.

Changes in v5:
- Only update message-ID.

Changes in v4:
- Fix build test WARNING: use GENMASK_ULL replace GENMASK.

Changes in v3:
- Add version changes description, there is No new code change in V3.

Changes in v2:
- Update patch and commit message
- Add Level 1 pgtable PA up to 35bit.
- This is new feature, remove stable@xxxxxxxxxxxxxxx
- Update commit message.

Ning Li (2):
iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit
iommu/mediatek: Allow page table PA up to 35bit

drivers/iommu/io-pgtable-arm-v7s.c | 75 ++++++++++++++++++++++--------
drivers/iommu/mtk_iommu.c | 13 +++--
include/linux/io-pgtable.h | 15 ++++--
3 files changed, 73 insertions(+), 30 deletions(-)