On Thu, Dec 19, 2024 at 09:10:16PM +0100, Niklas Cassel wrote: > 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 Thank you very much. I update msi part, so endpoint controller node align host controller node. It should be msi-map = <0x0000 &its1 0x0000 0x1000>; So if your hardware support multi physical function, your can create more than one pci_test func. Previous version only support one EP func. Frank > > > Kind regards, > Niklas