msi_alloc
uint8_t msi_alloc;
dinfo->msi.msi_alloc = 0;
dinfo->msi.msi_alloc = 0;
if (dinfo->msi.msi_alloc != 0) {
dinfo->msi.msi_alloc);
KASSERT(dinfo->msi.msi_alloc > 0,
if (dinfo->msi.msi_alloc != 0)
dinfo->msi.msi_alloc = actual;
if (dinfo->msi.msi_alloc == 0)
KASSERT(dinfo->msi.msi_alloc <= 32,
for (i = 0; i < dinfo->msi.msi_alloc; i++) {
PCIB_RELEASE_MSI(device_get_parent(rcdev), child, dinfo->msi.msi_alloc,
for (i = 0; i < dinfo->msi.msi_alloc; i++)
dinfo->msi.msi_alloc = 0;
if (cfg->msi.msi_alloc != 0 || cfg->msix.msix_alloc != 0)
if (cfg->msi.msi_alloc > 0) {
for (i = 0; i < cfg->msi.msi_alloc; i++) {
if (cfg->msi.msi_alloc != 0 || cfg->msix.msix_alloc != 0)
cfg->msi.msi_alloc = actual;
if (msi->msi_alloc == 0)
KASSERT(msi->msi_alloc <= 32, ("more than 32 alloc'd messages"));
for (i = 0; i < msi->msi_alloc; i++) {
PCIB_RELEASE_MSI(device_get_parent(dev), child, msi->msi_alloc, irqs);
for (i = 0; i < msi->msi_alloc; i++)
msi->msi_alloc = 0;
if (dinfo->cfg.msi.msi_alloc > 0) {
if (dinfo->cfg.msi.msi_alloc > 0) {
KASSERT(rid <= dinfo->cfg.msi.msi_alloc,
if (dinfo->cfg.msi.msi_alloc != 0 || dinfo->cfg.msix.msix_alloc != 0) {
if (dinfo->cfg.msi.msi_alloc != 0)
"vectors\n", dinfo->cfg.msi.msi_alloc);
if (rid == 0 && (cfg->msi.msi_alloc > 0 ||
int msi_alloc; /* Number of allocated messages. */
if (dinfo->cfg.msi.msi_alloc > 0 &&
int msi_alloc(device_t dev, int count, int maxcount, int *irqs);
return (msi_alloc(dev, count, maxcount, irqs));