Page MenuHomeFreeBSD

aq: support a legacy INTx interrupt
Needs ReviewPublic

Authored by nick_spun.io on Thu, Oct 8, 5:53 AM.
Tags
None
Referenced Files
F175196252: D60461.diff
Fri, Oct 9, 12:45 AM
F175144253: D60461.id.diff
Thu, Oct 8, 3:18 PM
F175144162: D60461.diff
Thu, Oct 8, 3:17 PM
F175131497: D60461.id189027.diff
Thu, Oct 8, 12:43 PM
F175129523: D60461.diff
Thu, Oct 8, 12:13 PM
Subscribers
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
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