Lines Matching refs:hose

29 int pci_hose_##rw##_config_##size(struct pci_controller *hose,		\
33 return hose->rw##_##size(hose, dev, offset, value); \
46 struct pci_controller *hose = pci_bus_to_hose(PCI_BUS(dev)); \
48 if (!hose) \
54 return pci_hose_##rw##_config_##size(hose, dev, offset, value); \
65 int pci_hose_read_config_##size##_via_dword(struct pci_controller *hose,\
71 if (pci_hose_read_config_dword(hose, dev, offset & 0xfc, &val32) < 0) { \
82 int pci_hose_write_config_##size##_via_dword(struct pci_controller *hose,\
88 if (pci_hose_read_config_dword(hose, dev, offset & 0xfc, &val32) < 0)\
96 if (pci_hose_write_config_dword(hose, dev, offset & 0xfc, val32) < 0)\
115 if (gd->hose) in pci_get_hose_head()
116 return gd->hose; in pci_get_hose_head()
121 void pci_register_hose(struct pci_controller* hose) in pci_register_hose() argument
128 hose->next = NULL; in pci_register_hose()
130 *phose = hose; in pci_register_hose()
135 struct pci_controller *hose; in pci_bus_to_hose() local
137 for (hose = pci_get_hose_head(); hose; hose = hose->next) { in pci_bus_to_hose()
138 if (bus >= hose->first_busno && bus <= hose->last_busno) in pci_bus_to_hose()
139 return hose; in pci_bus_to_hose()
148 struct pci_controller *hose; in find_hose_by_cfg_addr() local
150 for (hose = pci_get_hose_head(); hose; hose = hose->next) { in find_hose_by_cfg_addr()
151 if (hose->cfg_addr == cfg_addr) in find_hose_by_cfg_addr()
152 return hose; in find_hose_by_cfg_addr()
160 struct pci_controller *hose = pci_get_hose_head(); in pci_last_busno() local
162 if (!hose) in pci_last_busno()
165 while (hose->next) in pci_last_busno()
166 hose = hose->next; in pci_last_busno()
168 return hose->last_busno; in pci_last_busno()
173 struct pci_controller * hose; in pci_find_devices() local
177 for (hose = pci_get_hose_head(); hose; hose = hose->next) { in pci_find_devices()
178 for (bus = hose->first_busno; bus <= hose->last_busno; bus++) { in pci_find_devices()
179 bdf = pci_hose_find_devices(hose, bus, ids, &index); in pci_find_devices()
188 int pci_hose_config_device(struct pci_controller *hose, in pci_hose_config_device() argument
204 pci_hose_write_config_dword(hose, dev, PCI_COMMAND, 0); in pci_hose_config_device()
207 pci_hose_write_config_dword(hose, dev, bar, 0xffffffff); in pci_hose_config_device()
208 pci_hose_read_config_dword(hose, dev, bar, &bar_response); in pci_hose_config_device()
228 pci_hose_write_config_dword(hose, dev, bar + 4, in pci_hose_config_device()
230 pci_hose_read_config_dword(hose, dev, bar + 4, in pci_hose_config_device()
249 pci_hose_write_config_dword (hose, dev, bar, (u32)bar_value); in pci_hose_config_device()
254 pci_hose_write_config_dword(hose, dev, bar, in pci_hose_config_device()
257 pci_hose_write_config_dword(hose, dev, bar, 0x00000000); in pci_hose_config_device()
263 pci_hose_write_config_byte(hose, dev, PCI_CACHE_LINE_SIZE, 0x08); in pci_hose_config_device()
266 pci_hose_write_config_byte(hose, dev, PCI_LATENCY_TIMER, 0x80); in pci_hose_config_device()
269 pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_PIN, &pin); in pci_hose_config_device()
271 pci_hose_write_config_byte(hose, dev, PCI_INTERRUPT_LINE, in pci_hose_config_device()
275 pci_hose_read_config_dword(hose, dev, PCI_COMMAND, &old_command); in pci_hose_config_device()
276 pci_hose_write_config_dword(hose, dev, PCI_COMMAND, in pci_hose_config_device()
286 struct pci_config_table *pci_find_config(struct pci_controller *hose, in pci_find_config() argument
296 for (table = hose->config_table; table && table->vendor; table++) { in pci_find_config()
310 void pci_cfgfunc_config_device(struct pci_controller *hose, in pci_cfgfunc_config_device() argument
314 pci_hose_config_device(hose, dev, entry->priv[0], entry->priv[1], in pci_cfgfunc_config_device()
318 void pci_cfgfunc_do_nothing(struct pci_controller *hose, in pci_cfgfunc_do_nothing() argument
327 extern int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev);
330 __weak int pci_print_dev(struct pci_controller *hose, pci_dev_t dev) in pci_print_dev() argument
332 if (dev == PCI_BDF(hose->first_busno, 0, 0)) in pci_print_dev()
339 int pci_hose_scan_bus(struct pci_controller *hose, int bus) in pci_hose_scan_bus() argument
359 if (pci_skip_dev(hose, dev)) in pci_hose_scan_bus()
365 pci_hose_read_config_byte(hose, dev, PCI_HEADER_TYPE, &header_type); in pci_hose_scan_bus()
367 pci_hose_read_config_word(hose, dev, PCI_VENDOR_ID, &vendor); in pci_hose_scan_bus()
378 pci_hose_read_config_word(hose, dev, PCI_DEVICE_ID, &device); in pci_hose_scan_bus()
379 pci_hose_read_config_word(hose, dev, PCI_CLASS_DEVICE, &class); in pci_hose_scan_bus()
382 board_pci_fixup_dev(hose, dev, vendor, device, class); in pci_hose_scan_bus()
391 if (pci_print_dev(hose, dev)) { in pci_hose_scan_bus()
399 sub_bus = max((unsigned int)pciauto_config_device(hose, dev), in pci_hose_scan_bus()
402 cfg = pci_find_config(hose, class, vendor, device, in pci_hose_scan_bus()
405 cfg->config_device(hose, dev, cfg); in pci_hose_scan_bus()
407 (unsigned int)hose->current_busno); in pci_hose_scan_bus()
415 if (hose->fixup_irq) in pci_hose_scan_bus()
416 hose->fixup_irq(hose, dev); in pci_hose_scan_bus()
422 int pci_hose_scan(struct pci_controller *hose) in pci_hose_scan() argument
449 if (hose->first_busno > hose->current_busno) in pci_hose_scan()
450 hose->current_busno = hose->first_busno; in pci_hose_scan()
452 pciauto_config_init(hose); in pci_hose_scan()
454 return pci_hose_scan_bus(hose, hose->current_busno); in pci_hose_scan()
473 int pci_hose_find_capability(struct pci_controller *hose, pci_dev_t dev, in pci_hose_find_capability() argument
479 pci_hose_read_config_byte(hose, dev, PCI_HEADER_TYPE, &hdr_type); in pci_hose_find_capability()
481 pos = pci_hose_find_cap_start(hose, dev, hdr_type & 0x7F); in pci_hose_find_capability()
484 pos = pci_find_cap(hose, dev, pos, cap); in pci_hose_find_capability()
490 int pci_hose_find_cap_start(struct pci_controller *hose, pci_dev_t dev, in pci_hose_find_cap_start() argument
495 pci_hose_read_config_word(hose, dev, PCI_STATUS, &status); in pci_hose_find_cap_start()
511 int pci_find_cap(struct pci_controller *hose, pci_dev_t dev, int pos, int cap) in pci_find_cap() argument
518 pci_hose_read_config_byte(hose, dev, pos, &next_pos); in pci_find_cap()
523 pci_hose_read_config_byte(hose, dev, in pci_find_cap()
542 int pci_find_next_ext_capability(struct pci_controller *hose, pci_dev_t dev, in pci_find_next_ext_capability() argument
554 pci_hose_read_config_dword(hose, dev, pos, &header); in pci_find_next_ext_capability()
566 pci_hose_read_config_dword(hose, dev, pos, &header); in pci_find_next_ext_capability()
581 int pci_hose_find_ext_capability(struct pci_controller *hose, pci_dev_t dev, in pci_hose_find_ext_capability() argument
584 return pci_find_next_ext_capability(hose, dev, 0, cap); in pci_hose_find_ext_capability()