Lines Matching defs:lpi
373 gicv3_its_msi_free_lpi(struct gicv3_its *its, int lpi)
378 KASSERT(lpi >= its->its_pic->pic_irqbase);
380 pa = its->its_pa[lpi - its->its_pic->pic_irqbase];
381 its->its_pa[lpi - its->its_pic->pic_irqbase] = NULL;
384 vmem_free(its->its_gic->sc_lpi_pool, lpi - its->its_pic->pic_irqbase, 1);
474 gicv3_its_msi_enable(struct gicv3_its *its, int lpi, int count)
476 const struct pci_attach_args *pa = its->its_pa[lpi - its->its_pic->pic_irqbase];
498 lpi - its->its_pic->pic_irqbase);
504 lpi - its->its_pic->pic_irqbase);
511 gicv3_its_msi_disable(struct gicv3_its *its, int lpi)
513 const struct pci_attach_args *pa = its->its_pa[lpi - its->its_pic->pic_irqbase];
528 gicv3_its_msix_enable(struct gicv3_its *its, int lpi, int msix_vec,
531 const struct pci_attach_args *pa = its->its_pa[lpi - its->its_pic->pic_irqbase];
545 bus_space_write_4(bst, bsh, entry_base + PCI_MSIX_TABLE_ENTRY_DATA, lpi - its->its_pic->pic_irqbase);
556 gicv3_its_msix_disable(struct gicv3_its *its, int lpi)
558 const struct pci_attach_args *pa = its->its_pa[lpi - its->its_pic->pic_irqbase];
597 const int lpi = gicv3_its_msi_alloc_lpi(its, pa);
598 KASSERT(lpi >= 0);
600 __SHIFTIN(lpi, ARM_PCI_INTR_IRQ) |
605 gicv3_its_msi_enable(its, lpi, *count);
610 its->its_devid[lpi - its->its_pic->pic_irqbase] = devid;
611 its->its_targets[lpi - its->its_pic->pic_irqbase] = ci;
616 gits_command_mapti(its, devid, lpi - its->its_pic->pic_irqbase, lpi, cpu_index(ci));
675 const int lpi = gicv3_its_msi_alloc_lpi(its, pa);
676 KASSERT(lpi >= 0);
679 __SHIFTIN(lpi, ARM_PCI_INTR_IRQ) |
683 gicv3_its_msix_enable(its, lpi, msix_vec, bst, bsh);
688 its->its_devid[lpi - its->its_pic->pic_irqbase] = devid;
689 its->its_targets[lpi - its->its_pic->pic_irqbase] = ci;
694 gits_command_mapti(its, devid, lpi - its->its_pic->pic_irqbase, lpi, cpu_index(ci));
712 const int lpi = __SHIFTOUT(ih, ARM_PCI_INTR_IRQ);
715 intrh = pic_establish_intr(its->its_pic, lpi - its->its_pic->pic_irqbase, ipl,
721 KASSERT(its->its_pa[lpi - its->its_pic->pic_irqbase] != NULL);
722 const uint32_t devid = its->its_devid[lpi - its->its_pic->pic_irqbase];
723 gits_command_inv(its, devid, lpi - its->its_pic->pic_irqbase);
736 const int lpi = __SHIFTOUT(pih[n], ARM_PCI_INTR_IRQ);
737 KASSERT(lpi >= its->its_pic->pic_irqbase);
739 gicv3_its_msix_disable(its, lpi);
741 gicv3_its_msi_disable(its, lpi);
742 gicv3_its_msi_free_lpi(its, lpi);
743 its->its_targets[lpi - its->its_pic->pic_irqbase] = NULL;
744 its->its_devid[lpi - its->its_pic->pic_irqbase] = 0;
746 its->its_pic->pic_sources[lpi - its->its_pic->pic_irqbase];