Page MenuHomeFreeBSD

aq: support a legacy INTx interrupt
AcceptedPublic

Authored by nick_spun.io on Thu, Oct 8, 5:53 AM.
Referenced Files
F176125983: D60461.id189027.diff
Fri, Oct 16, 7:44 AM
Unknown Object (File)
Thu, Oct 15, 3:36 PM
Unknown Object (File)
Wed, Oct 14, 7:04 PM
Unknown Object (File)
Wed, Oct 14, 10:44 AM
Unknown Object (File)
Wed, Oct 14, 7:29 AM
Unknown Object (File)
Wed, Oct 14, 6:22 AM
Unknown Object (File)
Tue, Oct 13, 4:49 PM
Unknown Object (File)
Tue, Oct 13, 5:10 AM
Subscribers

Details

Reviewers
adrian
Summary

aq(4) attached only with MSI-X. Without an MSI controller iflib falls
back to INTx, and attach failed with EOPNOTSUPP.

Accept IFLIB_INTR_LEGACY, program the controller for INTx, and add a
legacy filter. INTx is level-triggered and nothing auto-masks, so the
filter masks the vector before acknowledging it; iflib unmasks it via
IFDI_INTR_ENABLE once the queues are drained. All causes already map
to vector 0 in this mode. MSI stays unsupported: iflib never selects
it here, since these controllers advertise 32 messages.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77840
Build 74723: arc lint + arc unit