Hello, I have resolved the issues regarding interrupt and DeviceID assignment
However, I still have some questions regarding how the EventID is implemented and allocated.
Looking at the ITS driver (drivers/irqchip/irq-gic-v3-its.c), I noticed the following:
static inline u32 its_get_event_id(struct irq_data *d) { struct its_device *its_dev = irq_data_get_irq_chip_data(d); return d->hwirq - its_dev->event_map.lpi_base; }
It appears that the EventID is set as the difference between the hwirq information in the irq data and the lpi base (8192).
How should the hwirq information be passed to the driver?
My device tree binding information is as follows:
/ { dummy: dummy@1a00a0000 { compatible = "dummy,dev"; reg = <0x1 0xa00a0000 0x0 0x1000>; msi-parent = <&its0 0x1>; }; };
Alternatively, is my understanding incorrect?