[RFC PATCH 0/8] Add mt8196 SMMU support

Xueqi Zhang posted 8 patches 3 months, 3 weeks ago
.../bindings/iommu/arm,smmu-v3.yaml           |  24 +-
drivers/iommu/arm/Kconfig                     |   7 +
drivers/iommu/arm/arm-smmu-v3/Makefile        |   3 +-
.../iommu/arm/arm-smmu-v3/arm-smmu-v3-impl.c  |  16 +
.../arm/arm-smmu-v3/arm-smmu-v3-mediatek.c    | 536 ++++++++++++++++++
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   |  96 +++-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h   |  14 +
7 files changed, 691 insertions(+), 5 deletions(-)
create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-impl.c
create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-mediatek.c
[RFC PATCH 0/8] Add mt8196 SMMU support
Posted by Xueqi Zhang 3 months, 3 weeks ago
This patchset add mt8196 SMMU support.
1. Mediatek SMMU interrupt is low level active rather than the
standard edge. Process Mediatek SMMU wrapper interrupt and dump
detailed information when a translation fault occurs.
2. In some projects, Mediatek also have EL2 driver, so put the pm
operation in TFA(EL3), then all the kernel and EL2 could control
the pm. Thus implement rpm get/put function which send smc call to
TFA to get/put SMMU power.

Xueqi Zhang (8):
  dt-bindings: iommu: mediatek: Add mt8196 support
  iommu/arm-smmu-v3: Add SMMU implementation
  iommu/arm-smmu-v3: Add implementation for MT8196 MM SMMU
  iommu/arm-smmu-v3: Add implementation for MT8196 APU SMMU
  iommu/arm-smmu-v3: Add IRQ handle for smmu impl
  iommu/arm-smmu-v3: mediatek: Add wrapper handle for IRQ
  iommu/arm-smmu-v3: Invoke rpm operation before accessing the hw
  iommu/arm-smmu-v3: mediatek: Implement rpm get/put function

 .../bindings/iommu/arm,smmu-v3.yaml           |  24 +-
 drivers/iommu/arm/Kconfig                     |   7 +
 drivers/iommu/arm/arm-smmu-v3/Makefile        |   3 +-
 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-impl.c  |  16 +
 .../arm/arm-smmu-v3/arm-smmu-v3-mediatek.c    | 536 ++++++++++++++++++
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   |  96 +++-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h   |  14 +
 7 files changed, 691 insertions(+), 5 deletions(-)
 create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-impl.c
 create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-mediatek.c

-- 
2.46.0
Re: [RFC PATCH 0/8] Add mt8196 SMMU support
Posted by AngeloGioacchino Del Regno 3 weeks ago
Il 16/06/25 04:56, Xueqi Zhang ha scritto:
> This patchset add mt8196 SMMU support.
> 1. Mediatek SMMU interrupt is low level active rather than the
> standard edge. Process Mediatek SMMU wrapper interrupt and dump
> detailed information when a translation fault occurs.
> 2. In some projects, Mediatek also have EL2 driver, so put the pm
> operation in TFA(EL3), then all the kernel and EL2 could control
> the pm. Thus implement rpm get/put function which send smc call to
> TFA to get/put SMMU power.
> 
> Xueqi Zhang (8):
>    dt-bindings: iommu: mediatek: Add mt8196 support
>    iommu/arm-smmu-v3: Add SMMU implementation
>    iommu/arm-smmu-v3: Add implementation for MT8196 MM SMMU
>    iommu/arm-smmu-v3: Add implementation for MT8196 APU SMMU
>    iommu/arm-smmu-v3: Add IRQ handle for smmu impl
>    iommu/arm-smmu-v3: mediatek: Add wrapper handle for IRQ
>    iommu/arm-smmu-v3: Invoke rpm operation before accessing the hw
>    iommu/arm-smmu-v3: mediatek: Implement rpm get/put function
> 
>   .../bindings/iommu/arm,smmu-v3.yaml           |  24 +-
>   drivers/iommu/arm/Kconfig                     |   7 +
>   drivers/iommu/arm/arm-smmu-v3/Makefile        |   3 +-
>   .../iommu/arm/arm-smmu-v3/arm-smmu-v3-impl.c  |  16 +
>   .../arm/arm-smmu-v3/arm-smmu-v3-mediatek.c    | 536 ++++++++++++++++++
>   drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   |  96 +++-
>   drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h   |  14 +
>   7 files changed, 691 insertions(+), 5 deletions(-)
>   create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-impl.c
>   create mode 100644 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-mediatek.c
> 

Xueqi, any followup on this series?

All of the multimedia blocks (including display) become unusable without an IOMMU
on MT8196, MT6991 and newer.

Regards,
Angelo