Lines Matching refs:pdev
73 static void rtas_disable_msi(struct pci_dev *pdev) in rtas_disable_msi() argument
77 pdn = pci_get_pdn(pdev); in rtas_disable_msi()
117 static void rtas_teardown_msi_irqs(struct pci_dev *pdev) in rtas_teardown_msi_irqs() argument
121 for_each_pci_msi_entry(entry, pdev) { in rtas_teardown_msi_irqs()
129 rtas_disable_msi(pdev); in rtas_teardown_msi_irqs()
132 static int check_req(struct pci_dev *pdev, int nvec, char *prop_name) in check_req() argument
139 pdn = pci_get_pdn(pdev); in check_req()
164 static int check_req_msi(struct pci_dev *pdev, int nvec) in check_req_msi() argument
166 return check_req(pdev, nvec, "ibm,req#msi"); in check_req_msi()
169 static int check_req_msix(struct pci_dev *pdev, int nvec) in check_req_msix() argument
171 return check_req(pdev, nvec, "ibm,req#msi-x"); in check_req_msix()
343 static int check_msix_entries(struct pci_dev *pdev) in check_msix_entries() argument
353 for_each_pci_msi_entry(entry, pdev) { in check_msix_entries()
364 static void rtas_hack_32bit_msi_gen2(struct pci_dev *pdev) in rtas_hack_32bit_msi_gen2() argument
373 dev_info(&pdev->dev, in rtas_hack_32bit_msi_gen2()
375 pci_read_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_HI, &addr_hi); in rtas_hack_32bit_msi_gen2()
377 pci_write_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_LO, addr_lo); in rtas_hack_32bit_msi_gen2()
378 pci_write_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_HI, 0); in rtas_hack_32bit_msi_gen2()
381 static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec_in, int type) in rtas_setup_msi_irqs() argument
391 rc = check_req_msix(pdev, nvec); in rtas_setup_msi_irqs()
393 rc = check_req_msi(pdev, nvec); in rtas_setup_msi_irqs()
398 quota = msi_quota_for_device(pdev, nvec); in rtas_setup_msi_irqs()
403 if (type == PCI_CAP_ID_MSIX && check_msix_entries(pdev)) in rtas_setup_msi_irqs()
412 quota = msi_quota_for_device(pdev, m); in rtas_setup_msi_irqs()
418 pdn = pci_get_pdn(pdev); in rtas_setup_msi_irqs()
427 if (pdev->no_64bit_msi) { in rtas_setup_msi_irqs()
434 if (pdev->bus->max_bus_speed != PCIE_SPEED_5_0GT) in rtas_setup_msi_irqs()
451 rtas_hack_32bit_msi_gen2(pdev); in rtas_setup_msi_irqs()
465 for_each_pci_msi_entry(entry, pdev) { in rtas_setup_msi_irqs()
479 dev_dbg(&pdev->dev, "rtas_msi: allocated virq %d\n", virq); in rtas_setup_msi_irqs()
490 static void rtas_msi_pci_irq_fixup(struct pci_dev *pdev) in rtas_msi_pci_irq_fixup() argument
493 if (pdev->irq == NO_IRQ) { in rtas_msi_pci_irq_fixup()
494 dev_dbg(&pdev->dev, "rtas_msi: no LSI, nothing to do.\n"); in rtas_msi_pci_irq_fixup()
499 if (check_req_msi(pdev, 1) && check_req_msix(pdev, 1)) { in rtas_msi_pci_irq_fixup()
500 dev_dbg(&pdev->dev, "rtas_msi: no req#msi/x, nothing to do.\n"); in rtas_msi_pci_irq_fixup()
504 dev_dbg(&pdev->dev, "rtas_msi: disabling existing MSI.\n"); in rtas_msi_pci_irq_fixup()
505 rtas_disable_msi(pdev); in rtas_msi_pci_irq_fixup()