Lines Matching refs:bdf
40 void pcie_set_cmd(pcie_bdf_t bdf, uint32_t bits, bool on) in pcie_set_cmd() argument
44 cmdstat = pcie_conf_read(bdf, PCIE_CONF_CMDSTAT); in pcie_set_cmd()
52 pcie_conf_write(bdf, PCIE_CONF_CMDSTAT, cmdstat); in pcie_set_cmd()
55 uint32_t pcie_get_cap(pcie_bdf_t bdf, uint32_t cap_id) in pcie_get_cap() argument
60 data = pcie_conf_read(bdf, PCIE_CONF_CMDSTAT); in pcie_get_cap()
62 data = pcie_conf_read(bdf, PCIE_CONF_CAPPTR); in pcie_get_cap()
67 data = pcie_conf_read(bdf, reg); in pcie_get_cap()
79 uint32_t pcie_get_ext_cap(pcie_bdf_t bdf, uint32_t cap_id) in pcie_get_ext_cap() argument
85 data = pcie_conf_read(bdf, reg); in pcie_get_ext_cap()
113 static bool pcie_get_bar(pcie_bdf_t bdf, in pcie_get_bar() argument
139 phys_addr = pcie_conf_read(bdf, reg); in pcie_get_bar()
151 cmd_reg = pcie_conf_read(bdf, PCIE_CONF_CMDSTAT); in pcie_get_bar()
154 pcie_conf_write(bdf, PCIE_CONF_CMDSTAT, in pcie_get_bar()
157 pcie_conf_write(bdf, reg, 0xFFFFFFFFU); in pcie_get_bar()
158 size = pcie_conf_read(bdf, reg); in pcie_get_bar()
159 pcie_conf_write(bdf, reg, (uint32_t)phys_addr); in pcie_get_bar()
163 phys_addr |= ((uint64_t)pcie_conf_read(bdf, reg)) << 32; in pcie_get_bar()
171 pcie_conf_write(bdf, reg, 0xFFFFFFFFU); in pcie_get_bar()
172 size |= ((uint64_t)pcie_conf_read(bdf, reg)) << 32; in pcie_get_bar()
173 pcie_conf_write(bdf, reg, (uint32_t)((uint64_t)phys_addr >> 32)); in pcie_get_bar()
196 if (!pcie_ctrl_region_translate(dev, bdf, PCIE_CONF_BAR_MEM(phys_addr), in pcie_get_bar()
211 pcie_conf_write(bdf, PCIE_CONF_CMDSTAT, cmd_reg); in pcie_get_bar()
231 static bool pcie_probe_bar(pcie_bdf_t bdf, in pcie_probe_bar() argument
240 uintptr_t addr = pcie_conf_read(bdf, reg); in pcie_probe_bar()
251 return pcie_get_bar(bdf, reg - PCIE_CONF_BAR0, bar, io); in pcie_probe_bar()
254 bool pcie_get_mbar(pcie_bdf_t bdf, in pcie_get_mbar() argument
258 return pcie_get_bar(bdf, bar_index, mbar, false); in pcie_get_mbar()
261 bool pcie_probe_mbar(pcie_bdf_t bdf, in pcie_probe_mbar() argument
265 return pcie_probe_bar(bdf, index, mbar, false); in pcie_probe_mbar()
268 bool pcie_get_iobar(pcie_bdf_t bdf, in pcie_get_iobar() argument
272 return pcie_get_bar(bdf, bar_index, iobar, true); in pcie_get_iobar()
275 bool pcie_probe_iobar(pcie_bdf_t bdf, in pcie_probe_iobar() argument
279 return pcie_probe_bar(bdf, index, iobar, true); in pcie_probe_iobar()
284 unsigned int pcie_alloc_irq(pcie_bdf_t bdf) in pcie_alloc_irq() argument
289 data = pcie_conf_read(bdf, PCIE_CONF_INTR); in pcie_alloc_irq()
302 irq = acpi_legacy_irq_get(bdf); in pcie_alloc_irq()
316 pcie_conf_write(bdf, PCIE_CONF_INTR, data); in pcie_alloc_irq()
325 unsigned int pcie_get_irq(pcie_bdf_t bdf) in pcie_get_irq() argument
327 uint32_t data = pcie_conf_read(bdf, PCIE_CONF_INTR); in pcie_get_irq()
332 bool pcie_connect_dynamic_irq(pcie_bdf_t bdf, in pcie_connect_dynamic_irq() argument
340 if (pcie_is_msi(bdf)) { in pcie_connect_dynamic_irq()
343 if ((pcie_msi_vectors_allocate(bdf, priority, in pcie_connect_dynamic_irq()
345 !pcie_msi_vector_connect(bdf, &vector, in pcie_connect_dynamic_irq()
361 void pcie_irq_enable(pcie_bdf_t bdf, unsigned int irq) in pcie_irq_enable() argument
364 if (pcie_msi_enable(bdf, NULL, 1, irq)) { in pcie_irq_enable()
382 pcie_bdf_t bdf = PCIE_BDF(bus, dev, func); in scan_dev() local
387 id = pcie_conf_read(bdf, PCIE_CONF_ID); in scan_dev()
392 type = pcie_conf_read(bdf, PCIE_CONF_TYPE); in scan_dev()
399 uint32_t num = pcie_conf_read(bdf, in scan_dev()
409 if (do_cb && !opt->cb(bdf, id, opt->cb_data)) { in scan_dev()
453 pcie_bdf_t bdf = PCIE_HOST_CONTROLLER(bus); in pcie_scan() local
455 if (pcie_conf_read(bdf, PCIE_CONF_ID) == PCIE_ID_NONE) { in pcie_scan()
476 static bool pcie_dev_cb(pcie_bdf_t bdf, pcie_id_t id, void *cb_data) in pcie_dev_cb() argument
481 if (dev->bdf != PCIE_BDF_NONE) { in pcie_dev_cb()
489 uint32_t class_rev = pcie_conf_read(bdf, PCIE_CONF_CLASSREV); in pcie_dev_cb()
492 dev->bdf = bdf; in pcie_dev_cb()