Lines Matching refs:dn
121 static int pseries_eeh_cap_start(struct device_node *dn) in pseries_eeh_cap_start() argument
123 struct pci_dn *pdn = PCI_DN(dn); in pseries_eeh_cap_start()
137 static int pseries_eeh_find_cap(struct device_node *dn, int cap) in pseries_eeh_find_cap() argument
139 struct pci_dn *pdn = PCI_DN(dn); in pseries_eeh_find_cap()
140 int pos = pseries_eeh_cap_start(dn); in pseries_eeh_find_cap()
163 static int pseries_eeh_find_ecap(struct device_node *dn, int cap) in pseries_eeh_find_ecap() argument
165 struct pci_dn *pdn = PCI_DN(dn); in pseries_eeh_find_ecap()
166 struct eeh_dev *edev = of_node_to_eeh_dev(dn); in pseries_eeh_find_ecap()
202 static void *pseries_eeh_of_probe(struct device_node *dn, void *flag) in pseries_eeh_of_probe() argument
206 struct pci_dn *pdn = PCI_DN(dn); in pseries_eeh_of_probe()
215 edev = of_node_to_eeh_dev(dn); in pseries_eeh_of_probe()
216 if (edev->pe || !of_device_is_available(dn)) in pseries_eeh_of_probe()
220 classp = of_get_property(dn, "class-code", NULL); in pseries_eeh_of_probe()
221 vendorp = of_get_property(dn, "vendor-id", NULL); in pseries_eeh_of_probe()
222 devicep = of_get_property(dn, "device-id", NULL); in pseries_eeh_of_probe()
227 if (dn->type && !strcmp(dn->type, "isa")) in pseries_eeh_of_probe()
238 edev->pcix_cap = pseries_eeh_find_cap(dn, PCI_CAP_ID_PCIX); in pseries_eeh_of_probe()
239 edev->pcie_cap = pseries_eeh_find_cap(dn, PCI_CAP_ID_EXP); in pseries_eeh_of_probe()
240 edev->aer_cap = pseries_eeh_find_ecap(dn, PCI_EXT_CAP_ID_ERR); in pseries_eeh_of_probe()
256 regs = of_get_property(dn, "reg", NULL); in pseries_eeh_of_probe()
259 __func__, dn->full_name); in pseries_eeh_of_probe()
289 __func__, dn->full_name, pe.phb->global_number, in pseries_eeh_of_probe()
291 } else if (dn->parent && of_node_to_eeh_dev(dn->parent) && in pseries_eeh_of_probe()
292 (of_node_to_eeh_dev(dn->parent))->pe) { in pseries_eeh_of_probe()
296 edev->config_addr = of_node_to_eeh_dev(dn->parent)->config_addr; in pseries_eeh_of_probe()
297 edev->pe_config_addr = of_node_to_eeh_dev(dn->parent)->pe_config_addr; in pseries_eeh_of_probe()
701 static int pseries_eeh_read_config(struct device_node *dn, int where, int size, u32 *val) in pseries_eeh_read_config() argument
705 pdn = PCI_DN(dn); in pseries_eeh_read_config()
719 static int pseries_eeh_write_config(struct device_node *dn, int where, int size, u32 val) in pseries_eeh_write_config() argument
723 pdn = PCI_DN(dn); in pseries_eeh_write_config()