• Home
  • Raw
  • Download

Lines Matching refs:link

63 static inline int nlm_link_msiirq(int link, int msivec)  in nlm_link_msiirq()  argument
65 return NLM_MSI_VEC_BASE + link * XLP_MSIVEC_PER_LINK + msivec; in nlm_link_msiirq()
91 static inline int nlm_link_msixirq(int link, int bit) in nlm_link_msixirq() argument
93 return NLM_MSIX_VEC_BASE + link * XLP_MSIXVEC_PER_LINK + bit; in nlm_link_msixirq()
169 int link, vec; in xlp_msi_mask_ack() local
171 link = nlm_irq_msilink(d->irq); in xlp_msi_mask_ack()
208 int link, msixvec; in xlp_msix_mask_ack() local
212 link = nlm_irq_msixlink(msixvec); in xlp_msix_mask_ack()
218 status_reg = PCIE_9XX_MSIX_STATUSX(link); in xlp_msix_mask_ack()
293 static int xlp_setup_msi(uint64_t lnkbase, int node, int link, in xlp_setup_msi() argument
303 lirq = PIC_PCIE_LINK_MSI_IRQ(link); in xlp_setup_msi()
304 xirq = nlm_irq_to_xirq(node, nlm_link_msiirq(link, 0)); in xlp_setup_msi()
306 msiaddr = MSI_LINK_ADDR(node, link); in xlp_setup_msi()
313 irt = PIC_9XX_IRT_PCIE_LINK_INDEX(link); in xlp_setup_msi()
315 irt = PIC_IRT_PCIE_LINK_INDEX(link); in xlp_setup_msi()
400 static int xlp_setup_msix(uint64_t lnkbase, int node, int link, in xlp_setup_msix() argument
410 lirq = PIC_PCIE_MSIX_IRQ(link); in xlp_setup_msix()
411 xirq = nlm_irq_to_xirq(node, nlm_link_msixirq(link, 0)); in xlp_setup_msix()
413 msixaddr = MSIX_LINK_ADDR(node, link); in xlp_setup_msix()
448 int node, link, slot; in arch_setup_msi_irq() local
456 link = PCI_FUNC(lnkdev->devfn); in arch_setup_msi_irq()
458 lnkbase = nlm_get_pcie_base(node, link); in arch_setup_msi_irq()
461 return xlp_setup_msix(lnkbase, node, link, desc); in arch_setup_msi_irq()
463 return xlp_setup_msi(lnkbase, node, link, desc); in arch_setup_msi_irq()
466 void __init xlp_init_node_msi_irqs(int node, int link) in xlp_init_node_msi_irqs() argument
472 pr_info("[%d %d] Init node PCI IRT\n", node, link); in xlp_init_node_msi_irqs()
482 md->lnkbase = nlm_get_pcie_base(node, link); in xlp_init_node_msi_irqs()
485 irq = nlm_irq_to_xirq(node, nlm_link_msiirq(link, 0)); in xlp_init_node_msi_irqs()
494 PIC_PCIE_MSIX_IRQ(link) << 1 | 0 << 0); in xlp_init_node_msi_irqs()
496 (link * XLP_MSIXVEC_PER_LINK)), val); in xlp_init_node_msi_irqs()
501 msixvec = link * XLP_MSIXVEC_PER_LINK + i; in xlp_init_node_msi_irqs()
504 PIC_PCIE_MSIX_IRQ(link), in xlp_init_node_msi_irqs()
509 irq = nlm_irq_to_xirq(node, nlm_link_msixirq(link, i)); in xlp_init_node_msi_irqs()
518 int link, i, irqbase; in nlm_dispatch_msi() local
521 link = lirq - PIC_PCIE_LINK_MSI_IRQ_BASE; in nlm_dispatch_msi()
522 irqbase = nlm_irq_to_xirq(node, nlm_link_msiirq(link, 0)); in nlm_dispatch_msi()
537 ack_c0_eirr(PIC_PCIE_LINK_MSI_IRQ(link)); in nlm_dispatch_msi()
540 PIC_9XX_IRT_PCIE_LINK_INDEX(link)); in nlm_dispatch_msi()
542 nlm_pic_ack(md->node->picbase, PIC_IRT_PCIE_LINK_INDEX(link)); in nlm_dispatch_msi()
548 int link, i, irqbase; in nlm_dispatch_msix() local
551 link = lirq - PIC_PCIE_MSIX_IRQ_BASE; in nlm_dispatch_msix()
552 irqbase = nlm_irq_to_xirq(node, nlm_link_msixirq(link, 0)); in nlm_dispatch_msix()
555 status = nlm_read_reg(md->lnkbase, PCIE_9XX_MSIX_STATUSX(link)); in nlm_dispatch_msix()
561 status = (status >> (link * XLP_MSIXVEC_PER_LINK)) & in nlm_dispatch_msix()
570 ack_c0_eirr(PIC_PCIE_MSIX_IRQ(link)); in nlm_dispatch_msix()