Lines Matching defs:msi
403 int msi, n;
405 for (msi = 0; msi < sc->sc_nmsi; msi += n) {
407 if (sc->sc_msi_pa[msi] != NULL) {
414 for (n = 1; n < count && msi + n < sc->sc_nmsi; n++) {
415 if (sc->sc_msi_pa[msi + n] != NULL) {
428 sc->sc_msi_pa[msi + n] = new_pa;
431 return msi;
438 apple_pcie_msi_free_msi(struct apple_pcie_softc *sc, int msi)
442 pa = sc->sc_msi_pa[msi];
443 sc->sc_msi_pa[msi] = NULL;
453 int msi, n;
455 for (n = 0, msi = 0; msi < sc->sc_nmsi; msi++) {
456 if (sc->sc_msi_pa[msi] == NULL) {
465 apple_pcie_msi_msi_enable(struct apple_pcie_softc *sc, int msi, int count)
467 const struct pci_attach_args *pa = sc->sc_msi_pa[msi];
474 panic("apple_pcie_msi_msi_enable: device is not MSI-capable");
486 const uint32_t data = msi;
505 apple_pcie_msi_msi_disable(struct apple_pcie_softc *sc, int msi)
507 const struct pci_attach_args *pa = sc->sc_msi_pa[msi];
514 panic("apple_pcie_msi_msi_disable: device is not MSI-capable");
522 apple_pcie_msi_msix_enable(struct apple_pcie_softc *sc, int msi, int msix_vec,
525 const struct pci_attach_args *pa = sc->sc_msi_pa[msi];
533 panic("apple_pcie_msi_msix_enable: device is not MSI-X-capable");
540 const uint32_t data = msi;
560 apple_pcie_msi_msix_disable(struct apple_pcie_softc *sc, int msi)
562 const struct pci_attach_args *pa = sc->sc_msi_pa[msi];
569 panic("apple_pcie_msi_msix_disable: device is not MSI-X-capable");
577 apple_pcie_msi_msi_alloc(struct arm_pci_msi *msi, int *count,
580 struct apple_pcie_softc * const sc = msi->msi_priv;
610 __SHIFTIN(msi->msi_id, ARM_PCI_INTR_FRAME);
619 apple_pcie_msi_msix_alloc(struct arm_pci_msi *msi, u_int *table_indexes,
622 struct apple_pcie_softc * const sc = msi->msi_priv;
670 __SHIFTIN(msi->msi_id, ARM_PCI_INTR_FRAME);
681 apple_pcie_msi_intr_establish(struct arm_pci_msi *msi,
684 struct apple_pcie_softc * const sc = msi->msi_priv;
697 apple_pcie_msi_intr_release(struct arm_pci_msi *msi, pci_intr_handle_t *pih,
700 struct apple_pcie_softc * const sc = msi->msi_priv;
720 struct arm_pci_msi *msi = &sc->sc_msi;
724 const u_int *data = fdtbus_get_prop(phandle, "msi-ranges", &len);
738 "WARNING: bad msi-ranges property, MSI not enabled!\n");
746 if (of_getprop_uint64(phandle, "msi-doorbell", &sc->sc_msi_addr)) {
750 msi->msi_dev = sc->sc_pcihost.sc_dev;
751 msi->msi_priv = sc;
752 msi->msi_alloc = apple_pcie_msi_msi_alloc;
753 msi->msix_alloc = apple_pcie_msi_msix_alloc;
754 msi->msi_intr_establish = apple_pcie_msi_intr_establish;
755 msi->msi_intr_release = apple_pcie_msi_intr_release;
757 return arm_pci_msi_add(msi);