HomeFreeBSD

nvme(4): Add MSI and single MSI-X support.

Description

nvme(4): Add MSI and single MSI-X support.

If we can't allocate more MSI-X vectors, accept using single shared.
If we can't allocate any MSI-X, try to allocate 2 MSI vectors, but
accept single shared. If still no luck, fall back to shared INTx.

This provides maximal flexibility in some limited scenarios. For
example, vmd(4) does not support INTx and can handle only limited
number of MSI/MSI-X vectors without sharing.

MFC after: 1 week

(cherry picked from commit e3bdf3da769a55f0944d9c337bb4d91b6435f02c)

Details

Provenance
mavAuthored on Aug 31 2021, 5:34 PM
Parents
rG4ccde1f0f101: nvme(4): Do not panic on admin queue construct error.
Branches
Unknown
Tags
Unknown