Skip to content

Porting VDOSYS0, VDOSYS1, IOMMU, SMI

Port patches from the mailing list and the mainline to mtk-v5.15-dev to enable MT8195 IOMMU & SMI.

Apply MT8186, MT8192 patches which are already in Linux mainline.

Apply MT8195 patches from the mailing list.

Apply mtk_iommu patches which are already in Linux mainline.

[v8,2/2] soc: mediatek: mmsys: Add mt8192 mmsys routing table ~~
[v8,1/2] soc: mediatek: mmsys: add comp OVL_2L2/POSTMASK/RDMA4
[v10,4/5] soc: mediatek: add mtk mutex support for MT8192
[v4,6/7] soc: mediatek: mmsys: Add reset controller support
[v4,5/7] arm64: dts: mt8183: Add the mmsys reset bit to reset the dsi0
[v4,4/7] arm64: dts: mt8173: Add the mmsys reset bit to reset the dsi0
[v4,2/7] dt-bindings: mediatek: Add #reset-cells to mmsys system controller
[v4,1/7] arm64: dts: mediatek: Move reset controller constants into common location
[v4,4/5] soc: mediatek: add MTK mutex support for MT8186
[v4,3/5] soc: mediatek: mmsys: add mt8186 mmsys routing table
[v4,1/5] dt-bindings: arm: mediatek: mmsys: add support for MT8186
[v2] soc: mediatek: mtk-infracfg: Disable ACP on MT8192
soc: mediatek: mt8192-mmsys: Fix dither to dsi0 path's input sel
[v2,2/2] soc: mediatek: mmsys: add mmsys reset control for MT8186
[v2,1/2] soc: mediatek: mmsys: add sw0_rst_offset in mmsys driver data
[v16,5/8] soc: mediatek: add mtk-mutex support for mt8195 vdosys0
[v16,4/8] soc: mediatek: add mtk-mmsys support for mt8195 vdosys0
[v16,3/8] dt-bindings: arm: mediatek: mmsys: add mt8195 SoC binding
[v16,2/8] dt-bindings: arm: mediatek: mmsys: add power and gce properties
[v16,09/22] soc: mediatek: add mtk-mutex support for mt8195 vdosys1
[v16,08/22] soc: mediatek: change the mutex defines and the mutex_mod type
[v16,07/22] soc: mediatek: mmsys: modify reset controller for MT8195 vdosys1
[v16,06/22] soc: mediatek: add cmdq support of mtk-mmsys config API for mt8195 vdosys1
[v16,05/22] soc: mediatek: add mtk-mmsys config API for mt8195 vdosys1
[v16,04/22] soc: mediatek: add mtk-mmsys support for mt8195 vdosys1
[v16,03/22] dt-bindings: mediatek: add ethdr definition for mt8195
[v16,02/22] dt-bindings: reset: mt8195: add vdosys1 reset control bit
[v16,01/22] dt-bindings: mediatek: add vdosys1 RDMA definition for mt8195
[v4,13/13] MAINTAINERS: Add entry for MediaTek SMI
[v4,12/13] memory: mtk-smi: mt8195: Add initial setting for smi-larb
[v4,11/13] memory: mtk-smi: mt8195: Add initial setting for smi-common
[v4,10/13] memory: mtk-smi: mt8195: Add smi support
[v4,09/13] memory: mtk-smi: Use devm_platform_ioremap_resource
[v4,08/13] memory: mtk-smi: Add clocks for smi-sub-common
[v4,07/13] memory: mtk-smi: Add device link for smi-sub-common
[v4,06/13] memory: mtk-smi: Add error handle for smi_probe
[v4,05/13] memory: mtk-smi: Adjust some code position
[v4,04/13] memory: mtk-smi: Rename smi_gen to smi_type
[v4,03/13] memory: mtk-smi: Use clk_bulk clock ops
[v4,02/13] dt-bindings: memory: mediatek: Add mt8195 smi sub common
[v4,01/13] dt-bindings: memory: mediatek: Add mt8195 smi binding
[v10,11/13] memory: mtk-smi: Get rid of mtk_smi_larb_get/put
[v10,09/13] drm/mediatek: Get rid of mtk_smi_larb_get/put
[v10,08/13] drm/mediatek: Add pm runtime support for ovl and rdma
[v10,07/13] media: mtk-mdp: Get rid of mtk_smi_larb_get/put
[v10,06/13] media: mtk-jpeg: Get rid of mtk_smi_larb_get/put
[v10,04/13] iommu/mediatek: Add probe_defer for smi-larb
[v10,03/13] iommu/mediatek: Return ENODEV if the device is NULL
[v10,02/13] iommu/mediatek-v1: Free the existed fwspec if the master dev already has

Note: This patch series remove the property mediatek,larb in the device tree. Therefore, the consumer (e.g. MDP, VDEC, VENC) drivers and deivce tree should be revised. Consumer drivers doesn't need to call mtk_smi_larb_get/put. Take care when migrating MT8365 and MT8385 drivers to K5.15.

[v2,5/5] iommu/mediatek: Always tlb_flush_all when each PM resume
CHROMIUM: arm64: dts: mt8195: add iommu and smi nodes
memory: mtk-smi: Adjust some code position for MT8365
memory: mtk-smi: Rename smi_gen to smi_type for MT8365
soc: mediatek: change the mutex defines and the mutex_mod type for MT8365

Test Pass:

  • Environment : i1200-demo + Linux mtk-v5.15-dev + This MR + MTK Proprietary test tool
  • Testcase : Allocate dma-buf through system heap and mtk proprietary heap, 1000 times memory write (size:0x101000) through following path:
  1. (vdosys0) Larb0 -> IOMMU_VDO -> MEMORY
  2. (vdosys0) Larb1 -> IOMMU_VPP -> MEMORY
  3. (vdosys1) Larb2 -> IOMMU_VDO -> MEMORY
  4. (vdosys1) Larb3 -> IOMMU_VPP -> MEMORY
  5. (vppsys0) Larb4 -> IOMMU_VPP -> MEMORY
  6. (vppsys1) Larb5 -> IOMMU_VDO -> MEMORY
  7. (vppsys1) Larb6 -> IOMMU_VPP -> MEMORY
  • Result : Buffer can be set to all 1 and all 0 without any iommu fault.
Edited by Andy Hsieh

Merge request reports

Loading