[PATCH] arm64: dts: rockchip: enable the mmu600_pcie IOMMU on the rk3588 SoC

Heiko Stübner heiko at sntech.de
Mon Nov 18 05:24:16 PST 2024


Hi Niklas,

Am Montag, 18. November 2024, 12:52:23 CET schrieb Niklas Cassel:
> On Thu, Nov 07, 2024 at 01:37:33PM +0100, Niklas Cassel wrote:
> > Commit cd81d3a0695c ("arm64: dts: rockchip: add rk3588 pcie and php
> > IOMMUs") added the rk3588 SoC's pcie IOMMU and php IOMMU as disabled.
> > 
> > The mmu600_pcie is connected with the five PCIe controllers.
> > See 8.2 Block Diagram, in rk3588 TRM (Technical Reference Manual).
> > 
> > The five PCIe controllers are:
> > pcie3x4, pcie3x2, pcie2x1l0, pcie2x1l1, pcie2x1l2.
> > 
> > pcie3x4 can run in either Root Complex mode or Endpoint mode, the other
> > four PCIe controllers can only run in Root Complex mode. To describe this
> > we thus have six different device nodes in the device tree.
> > 
> > A PCIe controller in Root Complex mode needs to specify an iommu-map, such
> > that the device knows how to convert a Requester ID (PCI BDF) to an IOMMU
> > master ID (stream ID). (A PCIe controller in Endpoint mode should use the
> > iommus property, just like a regular device.)
> > 
> > If you look at the device tree bindings for msi-map and iommu-map, you can
> > see that the conversion from Requester ID to MSI-specifier data is the same
> > as the conversion from Requester ID to IOMMU specifier data. Thus it is
> > sensible to define the iommu-map property value similar to the msi-map,
> > such that the conversion will be identical.
> > 
> > Add the proper iommu device tree properties for these six device nodes
> > connected to the mmu600_pcie, so that we can enable the mmu600_pcie IOMMU.
> > (The mmu600_php IOMMU is not touched, so it is still disabled.)
> > 
> > Signed-off-by: Niklas Cassel <cassel at kernel.org>
> > ---
> 
> Hello Heiko,
> 
> Any chance of getting this picked up?
> 
> (If not now, then at least for 6.14.)

Oh, definitly :-) ... it's marked as to look at.

For 6.14 ... the patch arrived shortly before -rc7, with PCIe stuff in it.
IOMMUs + PCIe is sort of a topic I'm cautious about shortly before
the merge window ;-)


Heiko







More information about the Linux-rockchip mailing list