On Thu, Dec 19, 2024 at 12:02:02PM -0500, Frank Li wrote: > On Thu, Dec 19, 2024 at 10:52:30AM +0000, Marc Zyngier wrote: > > On Wed, 18 Dec 2024 23:08:39 +0000, [...] > If use latest ITS MSI64 should be simple, only need descript it at DTS > (I have not hardware to test this case yet). > pci-ep { > ... > msi-map = <0 &its, 0x<8_0000, 0xff>; > ^, ctrl ID. > msi-mask = <0xff>; > ... > } [...] > This solution already test by Tested-by: Niklas Cassel <cassel@xxxxxxxxxx> > who use another dwc controller, which they already implemented > "implementation-specific" by only update dts to provide hardware > information.(I guest he use ITS's MSI64) > > Because it is new patches, I have not added Niklas's test-by tag. There > are not big functional change since Nikas test. The major change is make > msi part better align current MSI framework according to Thomas's > suggestion. Frank, I tested this series (a few revisions back) on the rockchip rk3588, which just like imx95, uses a DWC based PCIe EP controller, and ARM GIC ITS, but unlike imx95, it does not require any additional look up table registers to be configured. While the rk3588 PCIe host controller node has: msi-map = <0x0000 &its1 0x0000 0x1000>; https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi?h=v6.13-rc3#n164 The rk3588 PCIe endpoint controller node, which is the only one relevant in this case, only has: msi-parent = <&its1 0x0000>; no msi-map. https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git/commit/?h=v6.14-armsoc/dts64&id=b6f09f497b07008aa65c31341138cecafa78222c Kind regards, Niklas