Page MenuHomeFreeBSD

Refactor MPR/MPS interrupt setup code.
ClosedPublic

Authored by scottl on Jan 19 2017, 10:57 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Jul 5, 8:31 AM
Unknown Object (File)
Fri, Jul 3, 8:18 AM
Unknown Object (File)
Tue, Jun 30, 8:13 AM
Unknown Object (File)
Tue, Jun 30, 8:11 AM
Unknown Object (File)
Sun, Jun 21, 9:09 PM
Unknown Object (File)
Wed, Jun 17, 2:08 AM
Unknown Object (File)
Tue, Jun 16, 4:18 PM
Unknown Object (File)
May 17 2026, 11:08 PM
Subscribers
None

Details

Summary

Split the interrupt setup code into two parts: allocation and
configuration. Do the allocation before requesting the IOCFacts message.
This triggers the LSI firmware to recognize the multiqueue should be
enabled if available. As a side-effect, fetch the driver tunables as
early as possible.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

scottl retitled this revision from to Refactor MPR/MPS interrupt setup code..
scottl updated this object.
scottl edited the test plan for this revision. (Show Details)
scottl added reviewers: slm, ken, imp.
sys/dev/mpr/mpr_pci.c
237 ↗(On Diff #24192)

Setting sc->msi_msgs to 0 in the 'else' part may not do anything since you set it again before exiting. 'msgs' may or may not be initialized above, so it actually looks like it's possible to set msi_msgs to an unknown value before exit.

scottl edited edge metadata.

Fix an uninitialized use of msi_msgs.

slm edited edge metadata.
This revision is now accepted and ready to land.Jan 19 2017, 9:49 PM