Lines Matching refs:pdev
69 static void rtas_disable_msi(struct pci_dev *pdev) in rtas_disable_msi() argument
73 pdn = pci_get_pdn(pdev); in rtas_disable_msi()
113 static void rtas_teardown_msi_irqs(struct pci_dev *pdev) in rtas_teardown_msi_irqs() argument
117 for_each_pci_msi_entry(entry, pdev) { in rtas_teardown_msi_irqs()
125 rtas_disable_msi(pdev); in rtas_teardown_msi_irqs()
128 static int check_req(struct pci_dev *pdev, int nvec, char *prop_name) in check_req() argument
134 dn = pci_device_to_OF_node(pdev); in check_req()
155 static int check_req_msi(struct pci_dev *pdev, int nvec) in check_req_msi() argument
157 return check_req(pdev, nvec, "ibm,req#msi"); in check_req_msi()
160 static int check_req_msix(struct pci_dev *pdev, int nvec) in check_req_msix() argument
162 return check_req(pdev, nvec, "ibm,req#msi-x"); in check_req_msix()
204 dn = pci_device_to_OF_node(edev->pdev); in find_pe_dn()
333 static int check_msix_entries(struct pci_dev *pdev) in check_msix_entries() argument
343 for_each_pci_msi_entry(entry, pdev) { in check_msix_entries()
354 static void rtas_hack_32bit_msi_gen2(struct pci_dev *pdev) in rtas_hack_32bit_msi_gen2() argument
363 dev_info(&pdev->dev, in rtas_hack_32bit_msi_gen2()
365 pci_read_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_HI, &addr_hi); in rtas_hack_32bit_msi_gen2()
367 pci_write_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_LO, addr_lo); in rtas_hack_32bit_msi_gen2()
368 pci_write_config_dword(pdev, pdev->msi_cap + PCI_MSI_ADDRESS_HI, 0); in rtas_hack_32bit_msi_gen2()
371 static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec_in, int type) in rtas_setup_msi_irqs() argument
381 rc = check_req_msix(pdev, nvec); in rtas_setup_msi_irqs()
383 rc = check_req_msi(pdev, nvec); in rtas_setup_msi_irqs()
388 quota = msi_quota_for_device(pdev, nvec); in rtas_setup_msi_irqs()
393 if (type == PCI_CAP_ID_MSIX && check_msix_entries(pdev)) in rtas_setup_msi_irqs()
402 quota = msi_quota_for_device(pdev, m); in rtas_setup_msi_irqs()
408 pdn = pci_get_pdn(pdev); in rtas_setup_msi_irqs()
417 if (pdev->no_64bit_msi) { in rtas_setup_msi_irqs()
424 if (pdev->bus->max_bus_speed != PCIE_SPEED_5_0GT) in rtas_setup_msi_irqs()
441 rtas_hack_32bit_msi_gen2(pdev); in rtas_setup_msi_irqs()
455 for_each_pci_msi_entry(entry, pdev) { in rtas_setup_msi_irqs()
490 dev_dbg(&pdev->dev, "rtas_msi: allocated virq %d\n", virq); in rtas_setup_msi_irqs()
501 static void rtas_msi_pci_irq_fixup(struct pci_dev *pdev) in rtas_msi_pci_irq_fixup() argument
504 if (!pdev->irq) { in rtas_msi_pci_irq_fixup()
505 dev_dbg(&pdev->dev, "rtas_msi: no LSI, nothing to do.\n"); in rtas_msi_pci_irq_fixup()
510 if (check_req_msi(pdev, 1) && check_req_msix(pdev, 1)) { in rtas_msi_pci_irq_fixup()
511 dev_dbg(&pdev->dev, "rtas_msi: no req#msi/x, nothing to do.\n"); in rtas_msi_pci_irq_fixup()
515 dev_dbg(&pdev->dev, "rtas_msi: disabling existing MSI.\n"); in rtas_msi_pci_irq_fixup()
516 rtas_disable_msi(pdev); in rtas_msi_pci_irq_fixup()