Lines Matching refs:pdn
46 struct pci_dn *pdn; in pci_bus_to_pdn() local
65 pdn = dn ? PCI_DN(dn) : NULL; in pci_bus_to_pdn()
67 return pdn; in pci_bus_to_pdn()
74 struct pci_dn *parent, *pdn; in pci_get_pdn_by_devfn() local
89 pdn = dn ? PCI_DN(dn) : NULL; in pci_get_pdn_by_devfn()
90 if (pdn) in pci_get_pdn_by_devfn()
91 return pdn; in pci_get_pdn_by_devfn()
98 list_for_each_entry(pdn, &parent->child_list, list) { in pci_get_pdn_by_devfn()
99 if (pdn->busno == bus->number && in pci_get_pdn_by_devfn()
100 pdn->devfn == devfn) in pci_get_pdn_by_devfn()
101 return pdn; in pci_get_pdn_by_devfn()
110 struct pci_dn *parent, *pdn; in pci_get_pdn() local
118 pdn = dn ? PCI_DN(dn) : NULL; in pci_get_pdn()
119 if (pdn) in pci_get_pdn()
120 return pdn; in pci_get_pdn()
130 list_for_each_entry(pdn, &parent->child_list, list) { in pci_get_pdn()
131 if (pdn->busno == pdev->bus->number && in pci_get_pdn()
132 pdn->devfn == pdev->devfn) in pci_get_pdn()
133 return pdn; in pci_get_pdn()
144 struct pci_dn *pdn; in add_one_dev_pci_data() local
150 pdn = kzalloc(sizeof(*pdn), GFP_KERNEL); in add_one_dev_pci_data()
151 if (!pdn) { in add_one_dev_pci_data()
156 pdn->phb = parent->phb; in add_one_dev_pci_data()
157 pdn->parent = parent; in add_one_dev_pci_data()
158 pdn->busno = busno; in add_one_dev_pci_data()
159 pdn->devfn = devfn; in add_one_dev_pci_data()
161 pdn->pe_number = IODA_INVALID_PE; in add_one_dev_pci_data()
163 INIT_LIST_HEAD(&pdn->child_list); in add_one_dev_pci_data()
164 INIT_LIST_HEAD(&pdn->list); in add_one_dev_pci_data()
165 list_add_tail(&pdn->list, &parent->child_list); in add_one_dev_pci_data()
172 pdev->dev.archdata.pci_data = pdn; in add_one_dev_pci_data()
174 return pdn; in add_one_dev_pci_data()
181 struct pci_dn *parent, *pdn; in add_dev_pci_data() local
189 pdn = pci_get_pdn(pdev); in add_dev_pci_data()
190 if (!pdn || (pdn->flags & PCI_DN_FLAG_IOV_VF)) in add_dev_pci_data()
193 pdn->flags |= PCI_DN_FLAG_IOV_VF; in add_dev_pci_data()
199 pdn = add_one_dev_pci_data(parent, NULL, in add_dev_pci_data()
202 if (!pdn) { in add_dev_pci_data()
217 struct pci_dn *pdn, *tmp; in remove_dev_pci_data() local
226 pdn = pci_get_pdn(pdev); in remove_dev_pci_data()
228 pdn->pe_number = IODA_INVALID_PE; in remove_dev_pci_data()
238 pdn = pci_get_pdn(pdev); in remove_dev_pci_data()
239 if (!pdn || !(pdn->flags & PCI_DN_FLAG_IOV_VF)) in remove_dev_pci_data()
242 pdn->flags &= ~PCI_DN_FLAG_IOV_VF; in remove_dev_pci_data()
253 list_for_each_entry_safe(pdn, tmp, in remove_dev_pci_data()
255 if (pdn->busno != pci_iov_virtfn_bus(pdev, i) || in remove_dev_pci_data()
256 pdn->devfn != pci_iov_virtfn_devfn(pdev, i)) in remove_dev_pci_data()
259 if (!list_empty(&pdn->list)) in remove_dev_pci_data()
260 list_del(&pdn->list); in remove_dev_pci_data()
262 kfree(pdn); in remove_dev_pci_data()
278 struct pci_dn *pdn; in update_dn_pci_info() local
280 pdn = zalloc_maybe_bootmem(sizeof(*pdn), GFP_KERNEL); in update_dn_pci_info()
281 if (pdn == NULL) in update_dn_pci_info()
283 dn->data = pdn; in update_dn_pci_info()
284 pdn->node = dn; in update_dn_pci_info()
285 pdn->phb = phb; in update_dn_pci_info()
287 pdn->pe_number = IODA_INVALID_PE; in update_dn_pci_info()
294 pdn->busno = (addr >> 16) & 0xff; in update_dn_pci_info()
295 pdn->devfn = (addr >> 8) & 0xff; in update_dn_pci_info()
300 pdn->vendor_id = regs ? of_read_number(regs, 1) : 0; in update_dn_pci_info()
302 pdn->device_id = regs ? of_read_number(regs, 1) : 0; in update_dn_pci_info()
304 pdn->class_code = regs ? of_read_number(regs, 1) : 0; in update_dn_pci_info()
307 pdn->pci_ext_config_space = (type && of_read_number(type, 1) == 1); in update_dn_pci_info()
310 INIT_LIST_HEAD(&pdn->child_list); in update_dn_pci_info()
311 INIT_LIST_HEAD(&pdn->list); in update_dn_pci_info()
313 pdn->parent = parent ? PCI_DN(parent) : NULL; in update_dn_pci_info()
314 if (pdn->parent) in update_dn_pci_info()
315 list_add_tail(&pdn->list, &pdn->parent->child_list); in update_dn_pci_info()
379 struct pci_dn *pdn) in pci_dn_next_one() argument
381 struct list_head *next = pdn->child_list.next; in pci_dn_next_one()
383 if (next != &pdn->child_list) in pci_dn_next_one()
387 if (pdn == root) in pci_dn_next_one()
390 next = pdn->list.next; in pci_dn_next_one()
391 if (next != &pdn->parent->child_list) in pci_dn_next_one()
394 pdn = pdn->parent; in pci_dn_next_one()
404 struct pci_dn *pdn = root; in traverse_pci_dn() local
408 for (pdn = pci_dn_next_one(root, pdn); pdn; in traverse_pci_dn()
409 pdn = pci_dn_next_one(root, pdn)) { in traverse_pci_dn()
410 ret = fn(pdn, data); in traverse_pci_dn()
429 struct pci_dn *pdn; in pci_devs_phb_init_dynamic() local
433 pdn = dn->data; in pci_devs_phb_init_dynamic()
434 if (pdn) { in pci_devs_phb_init_dynamic()
435 pdn->devfn = pdn->busno = -1; in pci_devs_phb_init_dynamic()
436 pdn->vendor_id = pdn->device_id = pdn->class_code = 0; in pci_devs_phb_init_dynamic()
437 pdn->phb = phb; in pci_devs_phb_init_dynamic()
438 phb->pci_data = pdn; in pci_devs_phb_init_dynamic()
465 struct pci_dn *pdn; in pci_dev_pdn_setup() local
471 pdn = pci_get_pdn(pdev); in pci_dev_pdn_setup()
472 pdev->dev.archdata.pci_data = pdn; in pci_dev_pdn_setup()