How to mapping MSI (LPIs) in Linux kernel 6.12.y ?

Hello everyone,


I am experiencing an issue with dummy device driver(for test) based on kernel-6.12.y

The problem occurs during the call to devm_request_irq()

Issue Description:

The dummy device node in the device tree is configured to use ITS-based MSI (LPI) by setting the msi‑parent property.
The driver calls the upstream API platform_device_msi_init_and_alloc_irqs() to allocate an MSI vector.
I've confirmed that dev->msi.domain is properly set.

patches:

../../cpu.dtsi

../../driver.c

Kernel log:

What I Suspect:

1. Whether the ITS MSI parent configuration and the device tree’s msi‑parent property (e.g., <&its 0x1>) are correctly configured.
2. Issues in the ITS domain initialization process, including the application of the LPI offset and the MSI message composition.

Request for Assistance:

1. Could you provide guidance on the proper usage of the msi‑parent property in the device tree and key points to verify during ITS domain initialization?
2. Are there any additional debugging pointers or recommended solutions to resolve this issue?

For testing purposes, our dummy device driver is assigned a dummy memory region using reserved-memory.

Thank you in advance for your insights and assistance.

0