Page MenuHomeFreeBSD

Convert bus_extend_resource to a bus method
AbandonedPublic

Authored by mst_semihalf.com on Aug 18 2016, 6:31 PM.

Details

Summary

Allow parents to extend resources with additional description or data. This can be used e.g. to add trigger/polarity information to a resource describing an interrupt.

This change allows MSI-X interrupts on Alpine platform to be successfully setup (usage: D7571). If the extended data is not included PIC_SETUP_INTR() returns with an error.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

mst_semihalf.com retitled this revision from to Convert bus_extend_resource to a bus method.
mst_semihalf.com updated this object.
mst_semihalf.com edited the test plan for this revision. (Show Details)
mst_semihalf.com added reviewers: wma, ian, imp.
mst_semihalf.com set the repository for this revision to rS FreeBSD src repository - subversion.
mst_semihalf.com added subscribers: ARM, arm64.

Why is this needed? It's a little difficult to know if this is the best approach without seeing the driver that will make use of this.

How does this interact with D7493? That change removes this method entirely.

I'm also dubious about using this kind of method with MSI for the reasons mentioned earlier: the bus API deal with IRQ numbers, rather than struct resource *, and so bus_extend_resource() has some nasty corner cases. I have some comments on this in the driver revision (D7571).

How does this interact with D7493? That change removes this method entirely.

I'm also dubious about using this kind of method with MSI for the reasons mentioned earlier: the bus API deal with IRQ numbers, rather than struct resource *, and so bus_extend_resource() has some nasty corner cases. I have some comments on this in the driver revision (D7571).

I was not aware of D7493 (I see it has just been committed). I will need to look into it to see how I can make INTX/MSIX work on Alpine with the new interface.

I'm abandoning this revision as bus_extend_resource has been removed in rS304459 (D7493).