sys/amd64/vmm/io/ppt.c
102
} msi;
sys/amd64/vmm/io/ppt.c
275
if (ppt->msi.num_msgs == 0)
sys/amd64/vmm/io/ppt.c
278
for (i = 0; i < ppt->msi.num_msgs; i++) {
sys/amd64/vmm/io/ppt.c
279
rid = ppt->msi.startrid + i;
sys/amd64/vmm/io/ppt.c
280
res = ppt->msi.res[i];
sys/amd64/vmm/io/ppt.c
281
cookie = ppt->msi.cookie[i];
sys/amd64/vmm/io/ppt.c
289
ppt->msi.res[i] = NULL;
sys/amd64/vmm/io/ppt.c
290
ppt->msi.cookie[i] = NULL;
sys/amd64/vmm/io/ppt.c
293
if (ppt->msi.startrid == 1)
sys/amd64/vmm/io/ppt.c
296
ppt->msi.num_msgs = 0;
sys/amd64/vmm/io/ppt.c
605
if (ppt->msi.startrid == 0)
sys/amd64/vmm/io/ppt.c
675
ppt->msi.startrid = startrid;
sys/amd64/vmm/io/ppt.c
681
ppt->msi.num_msgs = i + 1;
sys/amd64/vmm/io/ppt.c
682
ppt->msi.cookie[i] = NULL;
sys/amd64/vmm/io/ppt.c
685
ppt->msi.res[i] = bus_alloc_resource_any(ppt->dev, SYS_RES_IRQ,
sys/amd64/vmm/io/ppt.c
687
if (ppt->msi.res[i] == NULL)
sys/amd64/vmm/io/ppt.c
690
ppt->msi.arg[i].pptdev = ppt;
sys/amd64/vmm/io/ppt.c
691
ppt->msi.arg[i].addr = addr;
sys/amd64/vmm/io/ppt.c
692
ppt->msi.arg[i].msg_data = msg + i;
sys/amd64/vmm/io/ppt.c
694
error = bus_setup_intr(ppt->dev, ppt->msi.res[i],
sys/amd64/vmm/io/ppt.c
696
pptintr, NULL, &ppt->msi.arg[i],
sys/amd64/vmm/io/ppt.c
697
&ppt->msi.cookie[i]);
sys/amd64/vmm/io/ppt.c
727
if (ppt->msi.num_msgs != 0) {
sys/arm/allwinner/a10_ahci.c
363
ctlr->msi = 0;
sys/arm/arm/gic_acpi.c
271
ACPI_MADT_GENERIC_MSI_FRAME *msi;
sys/arm/arm/gic_acpi.c
278
msi = (ACPI_MADT_GENERIC_MSI_FRAME *)entry;
sys/arm/arm/gic_acpi.c
280
device_printf(dev, "frame: %x %lx %x %u %u\n", msi->MsiFrameId,
sys/arm/arm/gic_acpi.c
281
msi->BaseAddress, msi->Flags, msi->SpiCount, msi->SpiBase);
sys/arm/arm/gic_acpi.c
290
msi->BaseAddress, msi->BaseAddress + PAGE_SIZE - 1,
sys/arm/nvidia/tegra_ahci.c
710
ctlr->msi = 0;
sys/compat/linuxkpi/common/src/linux_pci.c
1505
struct pcicfg_msi *msi;
sys/compat/linuxkpi/common/src/linux_pci.c
1526
msi = &dinfo->cfg.msi;
sys/compat/linuxkpi/common/src/linux_pci.c
1531
(msi->msi_ctrl & PCIM_MSICTRL_64BIT) ? true : false;
sys/compat/linuxkpi/common/src/linux_pci.c
1532
desc->msg.data = msi->msi_data;
sys/dev/ahci/ahci.c
301
ctlr->direct = (ctlr->msi && (ctlr->numirqs > 1 || i <= 3));
sys/dev/ahci/ahci.c
459
ctlr->irqs[i].r_irq_rid = i + (ctlr->msi ? 1 : 0);
sys/dev/ahci/ahci.c
460
if (ctlr->channels == 1 && !ctlr->ccc && ctlr->msi)
sys/dev/ahci/ahci.h
527
int msi; /* MSI interupts */
sys/dev/ahci/ahci_pci.c
616
ctlr->msi = 0;
sys/dev/ahci/ahci_pci.c
619
ctlr->msi = 1;
sys/dev/ahci/ahci_pci.c
621
ctlr->msi = 2;
sys/dev/ahci/ahci_pci.c
623
device_get_unit(dev), "msi", &ctlr->msi);
sys/dev/ahci/ahci_pci.c
626
ctlr->msi = 0;
sys/dev/ahci/ahci_pci.c
627
if (ctlr->msi < 0)
sys/dev/ahci/ahci_pci.c
628
ctlr->msi = 0;
sys/dev/ahci/ahci_pci.c
629
else if (ctlr->msi == 1) {
sys/dev/ahci/ahci_pci.c
632
} else if (ctlr->msi > 1)
sys/dev/ahci/ahci_pci.c
633
ctlr->msi = 2;
sys/dev/ahci/ahci_pci.c
636
if (ctlr->msi > 0) {
sys/dev/ahci/ahci_pci.c
658
ctlr->msi = 0;
sys/dev/ahci/ahci_pci.c
666
if (ctlr->msi > 0)
sys/dev/ata/ata-pci.c
802
int i, msi = 0;
sys/dev/ata/ata-pci.c
807
msi = 1;
sys/dev/ata/ata-pci.c
808
if (msi && pci_msi_count(dev) > 0 && pci_alloc_msi(dev, &msi) == 0) {
sys/dev/ata/ata-pci.c
811
msi = 0;
sys/dev/ata/ata-pci.c
817
if (msi)
sys/dev/ata/ata-pci.c
826
if (msi)
sys/dev/bxe/bxe.c
10230
uint8_t msi = (sc->interrupt_mode == INTR_MODE_MSI) ? TRUE : FALSE;
sys/dev/bxe/bxe.c
10240
} else if (msi) {
sys/dev/bxe/bxe.c
10266
val, port, addr, ((msix) ? "MSI-X" : ((msi) ? "MSI" : "INTx")));
sys/dev/bxe/bxe.c
10300
uint8_t msi = (sc->interrupt_mode == INTR_MODE_MSI) ? TRUE : FALSE;
sys/dev/bxe/bxe.c
10312
} else if (msi) {
sys/dev/bxe/bxe.c
10333
val, ((msix) ? "MSI-X" : ((msi) ? "MSI" : "INTx")));
sys/dev/dpaa2/dpaa2_mc.c
777
sc->msi[i].child = NULL;
sys/dev/dpaa2/dpaa2_mc.c
778
sc->msi[i].irq = msi_irqs[i];
sys/dev/dpaa2/dpaa2_mc.c
791
if (sc->msi[i].child != NULL)
sys/dev/dpaa2/dpaa2_mc.c
802
sc->msi[i + j].child = child;
sys/dev/dpaa2/dpaa2_mc.c
803
irqs[j] = sc->msi[i + j].irq;
sys/dev/dpaa2/dpaa2_mc.c
828
if (sc->msi[i].child != child)
sys/dev/dpaa2/dpaa2_mc.c
831
if (sc->msi[i].irq == irqs[j]) {
sys/dev/dpaa2/dpaa2_mc.c
832
sc->msi[i].child = NULL;
sys/dev/dpaa2/dpaa2_mc.c
860
if (sc->msi[i].child == child && sc->msi[i].irq == irq) {
sys/dev/dpaa2/dpaa2_mc.h
107
} msi[DPAA2_MC_MSI_COUNT];
sys/dev/dpaa2/dpaa2_mc.h
163
struct dpaa2_msinfo msi;
sys/dev/dpaa2/dpaa2_rc.c
2936
dinfo->msi.msi_msgnum = obj->irq_count;
sys/dev/dpaa2/dpaa2_rc.c
2937
dinfo->msi.msi_alloc = 0;
sys/dev/dpaa2/dpaa2_rc.c
2938
dinfo->msi.msi_handlers = 0;
sys/dev/dpaa2/dpaa2_rc.c
3061
dinfo->msi.msi_msgnum = obj->irq_count;
sys/dev/dpaa2/dpaa2_rc.c
3062
dinfo->msi.msi_alloc = 0;
sys/dev/dpaa2/dpaa2_rc.c
3063
dinfo->msi.msi_handlers = 0;
sys/dev/dpaa2/dpaa2_rc.c
323
if (dinfo->msi.msi_alloc != 0) {
sys/dev/dpaa2/dpaa2_rc.c
325
dinfo->msi.msi_alloc);
sys/dev/dpaa2/dpaa2_rc.c
366
KASSERT(dinfo->msi.msi_alloc > 0,
sys/dev/dpaa2/dpaa2_rc.c
393
dinfo->msi.msi_handlers++;
sys/dev/dpaa2/dpaa2_rc.c
426
dinfo->msi.msi_handlers--;
sys/dev/dpaa2/dpaa2_rc.c
490
if (dinfo->msi.msi_alloc != 0)
sys/dev/dpaa2/dpaa2_rc.c
494
actual = min(*count, dinfo->msi.msi_msgnum);
sys/dev/dpaa2/dpaa2_rc.c
560
dinfo->msi.msi_alloc = actual;
sys/dev/dpaa2/dpaa2_rc.c
561
dinfo->msi.msi_handlers = 0;
sys/dev/dpaa2/dpaa2_rc.c
584
if (dinfo->msi.msi_alloc == 0)
sys/dev/dpaa2/dpaa2_rc.c
586
KASSERT(dinfo->msi.msi_alloc <= 32,
sys/dev/dpaa2/dpaa2_rc.c
590
if (dinfo->msi.msi_handlers > 0)
sys/dev/dpaa2/dpaa2_rc.c
592
for (i = 0; i < dinfo->msi.msi_alloc; i++) {
sys/dev/dpaa2/dpaa2_rc.c
601
PCIB_RELEASE_MSI(device_get_parent(rcdev), child, dinfo->msi.msi_alloc,
sys/dev/dpaa2/dpaa2_rc.c
603
for (i = 0; i < dinfo->msi.msi_alloc; i++)
sys/dev/dpaa2/dpaa2_rc.c
607
dinfo->msi.msi_alloc = 0;
sys/dev/dpaa2/dpaa2_rc.c
619
return (dinfo->msi.msi_msgnum);
sys/dev/drm2/drm_pci.c
45
SYSCTL_INT(_hw_drm, OID_AUTO, msi, CTLFLAG_RDTUN, &drm_msi, 1,
sys/dev/hptnr/hptnr_osm_bsd.c
33
int msi = 0;
sys/dev/mfi/mfi_pci.c
110
SYSCTL_INT(_hw_mfi, OID_AUTO, msi, CTLFLAG_RDTUN, &mfi_msi, 0,
sys/dev/mvs/mvs.h
608
int msi; /* MSI enabled */
sys/dev/mvs/mvs_pci.c
295
int msi = 0;
sys/dev/mvs/mvs_pci.c
299
device_get_unit(dev), "msi", &msi);
sys/dev/mvs/mvs_pci.c
300
if (msi < 0)
sys/dev/mvs/mvs_pci.c
301
msi = 0;
sys/dev/mvs/mvs_pci.c
302
else if (msi > 0)
sys/dev/mvs/mvs_pci.c
303
msi = min(1, pci_msi_count(dev));
sys/dev/mvs/mvs_pci.c
305
if (msi && pci_alloc_msi(dev, &msi) != 0)
sys/dev/mvs/mvs_pci.c
306
msi = 0;
sys/dev/mvs/mvs_pci.c
307
ctlr->msi = msi;
sys/dev/mvs/mvs_pci.c
309
ctlr->irq.r_irq_rid = msi ? 1 : 0;
sys/dev/mvs/mvs_pci.c
339
if (ctlr->msi) {
sys/dev/mvs/mvs_pci.c
382
if (ctlr->msi) {
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
1003
__func__, ntb->hw_info->db_count, ntb->msix_vec_count, (int)msi, (int)intx);
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
1005
rc = amd_ntb_setup_isr(ntb, num_vectors, msi, intx);
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
858
amd_ntb_setup_isr(struct amd_ntb_softc *ntb, uint16_t num_vectors, bool msi,
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
885
if (msi || intx) {
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
938
bool msi = false, intx = false;
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
958
msi = true;
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
966
msi = true;
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
972
msi = true;
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
981
if (msi) {
sys/dev/ntb/ntb_hw/ntb_hw_amd.c
989
msi = false;
sys/dev/nvme/nvme_pci.c
327
goto msi;
sys/dev/nvme/nvme_pci.c
361
goto msi;
sys/dev/nvme/nvme_pci.c
374
msi:
sys/dev/pci/pci.c
1848
if (cfg->msi.msi_alloc != 0 || cfg->msix.msix_alloc != 0)
sys/dev/pci/pci.c
2387
struct pcicfg_msi *msi = &dinfo->cfg.msi;
sys/dev/pci/pci.c
2390
pci_write_config(child, msi->msi_location + PCIR_MSI_ADDR,
sys/dev/pci/pci.c
2392
if (msi->msi_ctrl & PCIM_MSICTRL_64BIT) {
sys/dev/pci/pci.c
2393
pci_write_config(child, msi->msi_location + PCIR_MSI_ADDR_HIGH,
sys/dev/pci/pci.c
2395
pci_write_config(child, msi->msi_location + PCIR_MSI_DATA_64BIT,
sys/dev/pci/pci.c
2398
pci_write_config(child, msi->msi_location + PCIR_MSI_DATA, data,
sys/dev/pci/pci.c
2402
msi->msi_ctrl |= PCIM_MSICTRL_MSI_ENABLE;
sys/dev/pci/pci.c
2403
pci_write_config(child, msi->msi_location + PCIR_MSI_CTRL,
sys/dev/pci/pci.c
2404
msi->msi_ctrl, 2);
sys/dev/pci/pci.c
2414
struct pcicfg_msi *msi = &dinfo->cfg.msi;
sys/dev/pci/pci.c
2420
msi->msi_ctrl &= ~PCIM_MSICTRL_MSI_ENABLE;
sys/dev/pci/pci.c
2421
pci_write_config(child, msi->msi_location + PCIR_MSI_CTRL,
sys/dev/pci/pci.c
2422
msi->msi_ctrl, 2);
sys/dev/pci/pci.c
2434
struct pcicfg_msi *msi = &dinfo->cfg.msi;
sys/dev/pci/pci.c
2438
if (msi->msi_ctrl & PCIM_MSICTRL_MSI_ENABLE) {
sys/dev/pci/pci.c
2439
address = msi->msi_addr;
sys/dev/pci/pci.c
2440
data = msi->msi_data;
sys/dev/pci/pci.c
2441
pci_write_config(dev, msi->msi_location + PCIR_MSI_ADDR,
sys/dev/pci/pci.c
2443
if (msi->msi_ctrl & PCIM_MSICTRL_64BIT) {
sys/dev/pci/pci.c
2444
pci_write_config(dev, msi->msi_location +
sys/dev/pci/pci.c
2446
pci_write_config(dev, msi->msi_location +
sys/dev/pci/pci.c
2449
pci_write_config(dev, msi->msi_location + PCIR_MSI_DATA,
sys/dev/pci/pci.c
2452
pci_write_config(dev, msi->msi_location + PCIR_MSI_CTRL, msi->msi_ctrl,
sys/dev/pci/pci.c
2474
if (cfg->msi.msi_alloc > 0) {
sys/dev/pci/pci.c
2476
if (cfg->msi.msi_handlers == 0)
sys/dev/pci/pci.c
2478
for (i = 0; i < cfg->msi.msi_alloc; i++) {
sys/dev/pci/pci.c
2487
dinfo->cfg.msi.msi_addr = addr;
sys/dev/pci/pci.c
2488
dinfo->cfg.msi.msi_data = data;
sys/dev/pci/pci.c
2646
if (cfg->msi.msi_alloc != 0 || cfg->msix.msix_alloc != 0)
sys/dev/pci/pci.c
2654
if (cfg->msi.msi_location == 0 || !pci_do_msi)
sys/dev/pci/pci.c
2657
ctrl = pci_read_config(child, cfg->msi.msi_location + PCIR_MSI_CTRL, 2);
sys/dev/pci/pci.c
2736
cfg->msi.msi_ctrl = ctrl;
sys/dev/pci/pci.c
2737
pci_write_config(child, cfg->msi.msi_location + PCIR_MSI_CTRL, ctrl, 2);
sys/dev/pci/pci.c
2740
cfg->msi.msi_alloc = actual;
sys/dev/pci/pci.c
2741
cfg->msi.msi_handlers = 0;
sys/dev/pci/pci.c
2751
struct pcicfg_msi *msi = &dinfo->cfg.msi;
sys/dev/pci/pci.c
2762
if (msi->msi_alloc == 0)
sys/dev/pci/pci.c
2764
KASSERT(msi->msi_alloc <= 32, ("more than 32 alloc'd messages"));
sys/dev/pci/pci.c
2767
if (msi->msi_handlers > 0)
sys/dev/pci/pci.c
2769
for (i = 0; i < msi->msi_alloc; i++) {
sys/dev/pci/pci.c
2778
KASSERT(!(msi->msi_ctrl & PCIM_MSICTRL_MSI_ENABLE),
sys/dev/pci/pci.c
2780
msi->msi_ctrl &= ~PCIM_MSICTRL_MME_MASK;
sys/dev/pci/pci.c
2781
pci_write_config(child, msi->msi_location + PCIR_MSI_CTRL,
sys/dev/pci/pci.c
2782
msi->msi_ctrl, 2);
sys/dev/pci/pci.c
2785
PCIB_RELEASE_MSI(device_get_parent(dev), child, msi->msi_alloc, irqs);
sys/dev/pci/pci.c
2786
for (i = 0; i < msi->msi_alloc; i++)
sys/dev/pci/pci.c
2790
msi->msi_alloc = 0;
sys/dev/pci/pci.c
2791
msi->msi_addr = 0;
sys/dev/pci/pci.c
2792
msi->msi_data = 0;
sys/dev/pci/pci.c
2806
struct pcicfg_msi *msi = &dinfo->cfg.msi;
sys/dev/pci/pci.c
2809
if (pci_do_msi && msi->msi_location != 0) {
sys/dev/pci/pci.c
2810
ctrl = pci_read_config(child, msi->msi_location + PCIR_MSI_CTRL,
sys/dev/pci/pci.c
3114
if (cfg->msi.msi_location) {
sys/dev/pci/pci.c
3117
ctrl = cfg->msi.msi_ctrl;
sys/dev/pci/pci.c
4871
if (dinfo->cfg.msi.msi_alloc > 0) {
sys/dev/pci/pci.c
4872
if (dinfo->cfg.msi.msi_addr == 0) {
sys/dev/pci/pci.c
4873
KASSERT(dinfo->cfg.msi.msi_handlers == 0,
sys/dev/pci/pci.c
4879
dinfo->cfg.msi.msi_addr = addr;
sys/dev/pci/pci.c
4880
dinfo->cfg.msi.msi_data = data;
sys/dev/pci/pci.c
4882
if (dinfo->cfg.msi.msi_handlers == 0)
sys/dev/pci/pci.c
4883
pci_enable_msi(child, dinfo->cfg.msi.msi_addr,
sys/dev/pci/pci.c
4884
dinfo->cfg.msi.msi_data);
sys/dev/pci/pci.c
4885
dinfo->cfg.msi.msi_handlers++;
sys/dev/pci/pci.c
4974
if (dinfo->cfg.msi.msi_alloc > 0) {
sys/dev/pci/pci.c
4975
KASSERT(rid <= dinfo->cfg.msi.msi_alloc,
sys/dev/pci/pci.c
4977
if (dinfo->cfg.msi.msi_handlers == 0)
sys/dev/pci/pci.c
4979
dinfo->cfg.msi.msi_handlers--;
sys/dev/pci/pci.c
4980
if (dinfo->cfg.msi.msi_handlers == 0)
sys/dev/pci/pci.c
5191
if (dinfo->cfg.msi.msi_alloc != 0 || dinfo->cfg.msix.msix_alloc != 0) {
sys/dev/pci/pci.c
5192
if (dinfo->cfg.msi.msi_alloc != 0)
sys/dev/pci/pci.c
5194
"vectors\n", dinfo->cfg.msi.msi_alloc);
sys/dev/pci/pci.c
5650
if (rid == 0 && (cfg->msi.msi_alloc > 0 ||
sys/dev/pci/pci.c
6342
if (dinfo->cfg.msi.msi_location != 0)
sys/dev/pci/pci.c
963
cfg->msi.msi_location = ptr;
sys/dev/pci/pci.c
964
cfg->msi.msi_ctrl = REG(ptr + PCIR_MSI_CTRL, 2);
sys/dev/pci/pcivar.h
217
struct pcicfg_msi msi; /* PCI MSI */
sys/dev/siis/siis.c
263
int msi = ctlr->quirks & SIIS_Q_NOMSI ? 0 : 1;
sys/dev/siis/siis.c
267
device_get_unit(dev), "msi", &msi);
sys/dev/siis/siis.c
268
if (msi < 0)
sys/dev/siis/siis.c
269
msi = 0;
sys/dev/siis/siis.c
270
else if (msi > 0)
sys/dev/siis/siis.c
271
msi = min(1, pci_msi_count(dev));
sys/dev/siis/siis.c
273
if (msi && pci_alloc_msi(dev, &msi) != 0)
sys/dev/siis/siis.c
274
msi = 0;
sys/dev/siis/siis.c
276
ctlr->irq.r_irq_rid = msi ? 1 : 0;
sys/dev/ufshci/ufshci_pci.c
196
goto msi;
sys/dev/ufshci/ufshci_pci.c
236
goto msi;
sys/dev/ufshci/ufshci_pci.c
249
msi:
sys/kern/subr_intr.c
1388
struct intr_map_data_msi *msi;
sys/kern/subr_intr.c
1416
msi = (struct intr_map_data_msi *)intr_alloc_map_data(
sys/kern/subr_intr.c
1417
INTR_MAP_DATA_MSI, sizeof(*msi), M_WAITOK | M_ZERO);
sys/kern/subr_intr.c
1418
msi-> isrc = isrc[i];
sys/kern/subr_intr.c
1421
(struct intr_map_data *)msi);
sys/kern/subr_intr.c
1434
struct intr_map_data_msi *msi;
sys/kern/subr_intr.c
1448
msi = (struct intr_map_data_msi *)
sys/kern/subr_intr.c
1450
KASSERT(msi->hdr.type == INTR_MAP_DATA_MSI,
sys/kern/subr_intr.c
1453
isrc[i] = msi->isrc;
sys/kern/subr_intr.c
1476
struct intr_map_data_msi *msi;
sys/kern/subr_intr.c
1500
msi = (struct intr_map_data_msi *)intr_alloc_map_data(
sys/kern/subr_intr.c
1501
INTR_MAP_DATA_MSI, sizeof(*msi), M_WAITOK | M_ZERO);
sys/kern/subr_intr.c
1502
msi->isrc = isrc;
sys/kern/subr_intr.c
1503
*irq = intr_map_irq(pic->pic_dev, xref, (struct intr_map_data *)msi);
sys/kern/subr_intr.c
1512
struct intr_map_data_msi *msi;
sys/kern/subr_intr.c
1523
msi = (struct intr_map_data_msi *)
sys/kern/subr_intr.c
1525
KASSERT(msi->hdr.type == INTR_MAP_DATA_MSI,
sys/kern/subr_intr.c
1528
isrc = msi->isrc;
sys/kern/subr_intr.c
979
struct intr_map_data_msi *msi;
sys/kern/subr_intr.c
994
msi = (struct intr_map_data_msi *)data;
sys/kern/subr_intr.c
995
*isrc = msi->isrc;
sys/net/iflib.c
6467
goto msi;
sys/net/iflib.c
6473
goto msi;
sys/net/iflib.c
6489
goto msi;
sys/net/iflib.c
6550
goto msi;
sys/net/iflib.c
6567
goto msi;
sys/net/iflib.c
6588
msi:
sys/powerpc/powernv/opal_pci.c
674
if (dinfo->cfg.msi.msi_alloc > 0 &&
sys/powerpc/powernv/opal_pci.c
675
(dinfo->cfg.msi.msi_ctrl & PCIM_MSICTRL_64BIT) == 0) {
sys/x86/x86/msi.c
100
(MSI_INTEL_DATA_TRGREDG | MSI_INTEL_DATA_DELFIXED | (msi)->msi_vector)
sys/x86/x86/msi.c
210
struct msi_intsrc *msi = (struct msi_intsrc *)isrc;
sys/x86/x86/msi.c
212
msi = msi->msi_first;
sys/x86/x86/msi.c
213
if (msi->msi_enabled == 0) {
sys/x86/x86/msi.c
214
for (u_int i = 0; i < msi->msi_count; i++)
sys/x86/x86/msi.c
215
apic_enable_vector(msi->msi_cpu, msi->msi_vector + i);
sys/x86/x86/msi.c
217
msi->msi_enabled++;
sys/x86/x86/msi.c
223
struct msi_intsrc *msi = (struct msi_intsrc *)isrc;
sys/x86/x86/msi.c
225
msi = msi->msi_first;
sys/x86/x86/msi.c
231
if (msi == NULL)
sys/x86/x86/msi.c
234
msi->msi_enabled--;
sys/x86/x86/msi.c
235
if (msi->msi_enabled == 0) {
sys/x86/x86/msi.c
236
for (u_int i = 0; i < msi->msi_count; i++)
sys/x86/x86/msi.c
237
apic_disable_vector(msi->msi_cpu, msi->msi_vector + i);
sys/x86/x86/msi.c
244
struct msi_intsrc *msi = (struct msi_intsrc *)isrc;
sys/x86/x86/msi.c
246
return (msi->msi_irq);
sys/x86/x86/msi.c
267
struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc;
sys/x86/x86/msi.c
276
if (msi->msi_first != msi)
sys/x86/x86/msi.c
280
if (msix_disable_migration && msi->msi_msix)
sys/x86/x86/msi.c
285
old_vector = msi->msi_vector;
sys/x86/x86/msi.c
286
old_id = msi->msi_cpu;
sys/x86/x86/msi.c
291
if (msi->msi_count > 1) {
sys/x86/x86/msi.c
292
KASSERT(!msi->msi_msix, ("MSI-X message group"));
sys/x86/x86/msi.c
293
vector = apic_alloc_vectors(apic_id, msi->msi_irqs,
sys/x86/x86/msi.c
294
msi->msi_count, msi->msi_maxcount);
sys/x86/x86/msi.c
296
vector = apic_alloc_vector(apic_id, msi->msi_irq);
sys/x86/x86/msi.c
301
msi->msi_cpu = apic_id;
sys/x86/x86/msi.c
302
msi->msi_vector = vector;
sys/x86/x86/msi.c
303
if (msi->msi_enabled > 0) {
sys/x86/x86/msi.c
304
for (i = 0; i < msi->msi_count; i++)
sys/x86/x86/msi.c
307
error = BUS_REMAP_INTR(device_get_parent(msi->msi_dev), msi->msi_dev,
sys/x86/x86/msi.c
308
msi->msi_irq);
sys/x86/x86/msi.c
312
msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq,
sys/x86/x86/msi.c
313
msi->msi_cpu, msi->msi_vector);
sys/x86/x86/msi.c
315
for (i = 1; i < msi->msi_count; i++) {
sys/x86/x86/msi.c
317
msi->msi_irqs[i]);
sys/x86/x86/msi.c
326
device_printf(msi->msi_dev,
sys/x86/x86/msi.c
328
msi->msi_irq, apic_id, error);
sys/x86/x86/msi.c
329
msi->msi_cpu = old_id;
sys/x86/x86/msi.c
330
msi->msi_vector = old_vector;
sys/x86/x86/msi.c
340
if (msi->msi_enabled > 0) {
sys/x86/x86/msi.c
341
for (i = 0; i < msi->msi_count; i++)
sys/x86/x86/msi.c
344
apic_free_vector(old_id, old_vector, msi->msi_irq);
sys/x86/x86/msi.c
345
for (i = 1; i < msi->msi_count; i++)
sys/x86/x86/msi.c
346
apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]);
sys/x86/x86/msi.c
392
struct msi_intsrc *msi;
sys/x86/x86/msi.c
404
msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO);
sys/x86/x86/msi.c
405
msi->msi_intsrc.is_pic = &msi_pic;
sys/x86/x86/msi.c
406
msi->msi_irq = irq;
sys/x86/x86/msi.c
407
intr_register_source(&msi->msi_intsrc);
sys/x86/x86/msi.c
417
struct msi_intsrc *msi, *fsrc;
sys/x86/x86/msi.c
441
msi = (struct msi_intsrc *)intr_lookup_source(i);
sys/x86/x86/msi.c
444
if (msi == NULL)
sys/x86/x86/msi.c
448
if (msi->msi_dev == NULL) {
sys/x86/x86/msi.c
500
msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]);
sys/x86/x86/msi.c
501
msi->msi_remap_cookie = cookies[i];
sys/x86/x86/msi.c
508
msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]);
sys/x86/x86/msi.c
509
msi->msi_cpu = cpu;
sys/x86/x86/msi.c
510
msi->msi_dev = dev;
sys/x86/x86/msi.c
511
msi->msi_vector = vector + i;
sys/x86/x86/msi.c
515
msi->msi_irq, msi->msi_cpu, msi->msi_vector);
sys/x86/x86/msi.c
516
msi->msi_first = fsrc;
sys/x86/x86/msi.c
517
KASSERT(msi->msi_intsrc.is_handlers == 0,
sys/x86/x86/msi.c
532
struct msi_intsrc *msi, *first;
sys/x86/x86/msi.c
566
msi = (struct msi_intsrc *)intr_lookup_source(irqs[i]);
sys/x86/x86/msi.c
567
KASSERT(msi->msi_first == first, ("message not in group"));
sys/x86/x86/msi.c
568
KASSERT(msi->msi_dev == first->msi_dev, ("owner mismatch"));
sys/x86/x86/msi.c
571
iommu_unmap_msi_intr(first->msi_dev, msi->msi_remap_cookie);
sys/x86/x86/msi.c
574
msi->msi_first = NULL;
sys/x86/x86/msi.c
575
msi->msi_dev = NULL;
sys/x86/x86/msi.c
576
apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq);
sys/x86/x86/msi.c
577
msi->msi_vector = 0;
sys/x86/x86/msi.c
602
struct msi_intsrc *msi;
sys/x86/x86/msi.c
610
msi = (struct msi_intsrc *)intr_lookup_source(irq);
sys/x86/x86/msi.c
611
if (msi == NULL) {
sys/x86/x86/msi.c
617
if (msi->msi_dev == NULL) {
sys/x86/x86/msi.c
627
if (!msi->msi_msix) {
sys/x86/x86/msi.c
628
if (msi->msi_first == NULL) {
sys/x86/x86/msi.c
632
msi = msi->msi_first;
sys/x86/x86/msi.c
636
if (!msi->msi_msix) {
sys/x86/x86/msi.c
637
for (k = msi->msi_count - 1, i = first_msi_irq; k > 0 &&
sys/x86/x86/msi.c
639
if (i == msi->msi_irq)
sys/x86/x86/msi.c
642
if (!msi1->msi_msix && msi1->msi_first == msi) {
sys/x86/x86/msi.c
653
error = iommu_map_msi_intr(msi->msi_dev, msi->msi_cpu,
sys/x86/x86/msi.c
654
msi->msi_vector, msi->msi_remap_cookie, addr, data);
sys/x86/x86/msi.c
660
(msi->msi_cpu > 0x7fff ||
sys/x86/x86/msi.c
661
(msi->msi_cpu > 0xff && apic_ext_dest_id != 1))) {
sys/x86/x86/msi.c
663
msi->msi_cpu);
sys/x86/x86/msi.c
668
INTEL_ADDR_EXT(msi) : INTEL_ADDR(msi);
sys/x86/x86/msi.c
669
*data = INTEL_DATA(msi);
sys/x86/x86/msi.c
678
struct msi_intsrc *msi;
sys/x86/x86/msi.c
697
msi = (struct msi_intsrc *)intr_lookup_source(i);
sys/x86/x86/msi.c
700
if (msi == NULL)
sys/x86/x86/msi.c
704
if (msi->msi_dev == NULL)
sys/x86/x86/msi.c
715
if (msi == NULL) {
sys/x86/x86/msi.c
731
msi->msi_dev = dev;
sys/x86/x86/msi.c
739
msi->msi_dev = NULL;
sys/x86/x86/msi.c
744
msi->msi_remap_cookie = cookie;
sys/x86/x86/msi.c
749
msi->msi_irq, cpu, vector);
sys/x86/x86/msi.c
752
msi->msi_cpu = cpu;
sys/x86/x86/msi.c
753
msi->msi_first = msi;
sys/x86/x86/msi.c
754
msi->msi_vector = vector;
sys/x86/x86/msi.c
755
msi->msi_msix = true;
sys/x86/x86/msi.c
756
msi->msi_count = 1;
sys/x86/x86/msi.c
757
msi->msi_maxcount = 1;
sys/x86/x86/msi.c
758
msi->msi_irqs = NULL;
sys/x86/x86/msi.c
760
KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers"));
sys/x86/x86/msi.c
770
struct msi_intsrc *msi;
sys/x86/x86/msi.c
773
msi = (struct msi_intsrc *)intr_lookup_source(irq);
sys/x86/x86/msi.c
774
if (msi == NULL) {
sys/x86/x86/msi.c
780
if (!msi->msi_msix) {
sys/x86/x86/msi.c
785
KASSERT(msi->msi_dev != NULL, ("unowned message"));
sys/x86/x86/msi.c
790
iommu_unmap_msi_intr(msi->msi_dev, msi->msi_remap_cookie);
sys/x86/x86/msi.c
793
msi->msi_first = NULL;
sys/x86/x86/msi.c
794
msi->msi_dev = NULL;
sys/x86/x86/msi.c
795
apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq);
sys/x86/x86/msi.c
796
msi->msi_vector = 0;
sys/x86/x86/msi.c
797
msi->msi_msix = false;
sys/x86/x86/msi.c
798
msi->msi_count = 0;
sys/x86/x86/msi.c
799
msi->msi_maxcount = 0;
sys/x86/x86/msi.c
92
#define INTEL_ADDR(msi) \
sys/x86/x86/msi.c
93
(MSI_INTEL_ADDR_BASE | (msi)->msi_cpu << 12 | \
sys/x86/x86/msi.c
95
#define INTEL_ADDR_EXT(msi) \
sys/x86/x86/msi.c
96
(MSI_INTEL_ADDR_BASE | ((msi)->msi_cpu & 0xff) << 12 | \
sys/x86/x86/msi.c
97
((msi)->msi_cpu & 0x7f00) >> 3 | \
sys/x86/x86/msi.c
99
#define INTEL_DATA(msi) \