Page MenuHomeFreeBSD

Add support for SPI-mapped MSI interrupts outside of GICv2m

Authored by on Aug 29 2016, 7:39 PM.



SPI-mapped MSI interrupts coming from a controller other than GICv2m need to have their trigger and polarity properly configured.
This patch fixes MSI/MSI-X on Annapurna Alpine platform with GICv2. D7662 is a similar patch for GICv3.

Diff Detail

rS FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline retitled this revision from to Add support for SPI-mapped MSI interrupts outside of GICv2m. updated this object. edited the test plan for this revision. (Show Details) added reviewers: zbb, wma, imp, ian. set the repository for this revision to rS FreeBSD src repository. added a subscriber: ARM.
skra added a subscriber: skra.Aug 31 2016, 9:21 AM
skra added inline comments.
917 ↗(On Diff #19799)

There is a switch according to struct intr_map_data data type in gic_map_intr() already. So, I would prefer to put INTR_MAP_DATA_MSI case in it. And creation of gic_map_msi() would be nice to be similar to gic_map_fdt() in FDT case.

Move the code to a new function gic_map_msi() and call it in gic_map_intr() switch case for MSI. No functional changes.

917 ↗(On Diff #19799)

Thanks for the comment, I added a new revision which changes it - please check if it's what you meant.

wma accepted this revision.Sep 5 2016, 6:51 AM
wma edited edge metadata.

So, are we done with this change? I'll commit this patch today if no further issues are reported. Thanks.

This revision is now accepted and ready to land.Sep 5 2016, 6:51 AM
This revision was automatically updated to reflect the committed changes.