Lines Matching defs:dev

35 __FBSDID("$FreeBSD: stable/11/sys/dev/ntb/ntb_hw/ntb_hw_plx.c 355152 2019-11-28 00:41:42Z mav $");
50 #include <dev/pci/pcireg.h>
51 #include <dev/pci/pcivar.h>
80 device_t dev;
144 static int ntb_plx_init(device_t dev);
145 static int ntb_plx_detach(device_t dev);
146 static int ntb_plx_mw_set_trans_internal(device_t dev, unsigned mw_idx);
149 ntb_plx_probe(device_t dev)
152 switch (pci_get_devid(dev)) {
154 device_set_desc(dev, "PLX Non-Transparent Bridge NT0 Link");
157 device_set_desc(dev, "PLX Non-Transparent Bridge NT1 Link");
160 device_set_desc(dev, "PLX Non-Transparent Bridge NT0 Virtual");
163 device_set_desc(dev, "PLX Non-Transparent Bridge NT1 Virtual");
170 ntb_plx_init(device_t dev)
172 struct ntb_plx_softc *sc = device_get_softc(dev);
230 ntb_plx_mw_set_trans_internal(dev, i);
232 pci_enable_busmaster(dev);
242 device_t dev = arg;
243 struct ntb_plx_softc *sc = device_get_softc(dev);
256 device_printf(dev, "Correctable Error\n");
258 device_printf(dev, "Uncorrectable Error\n");
261 ntb_plx_init(dev);
262 ntb_link_event(dev);
265 device_printf(dev, "Uncorrectable Error Message Drop\n");
269 ntb_plx_setup_intr(device_t dev)
271 struct ntb_plx_softc *sc = device_get_softc(dev);
283 sc->int_res = bus_alloc_resource_any(dev, SYS_RES_IRQ,
286 device_printf(dev, "bus_alloc_resource failed\n");
289 error = bus_setup_intr(dev, sc->int_res, INTR_MPSAFE | INTR_TYPE_MISC,
290 NULL, ntb_plx_isr, dev, &sc->int_tag);
292 device_printf(dev, "bus_setup_intr failed: %d\n", error);
304 ntb_plx_teardown_intr(device_t dev)
306 struct ntb_plx_softc *sc = device_get_softc(dev);
312 bus_teardown_intr(dev, sc->int_res, sc->int_tag);
313 bus_release_resource(dev, SYS_RES_IRQ, sc->int_rid,
319 ntb_plx_attach(device_t dev)
321 struct ntb_plx_softc *sc = device_get_softc(dev);
328 sc->dev = dev;
329 val = pci_read_config(dev, 0xc8c, 4);
335 sc->conf_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
338 device_printf(dev, "Can't allocate configuration BAR.\n");
350 device_printf(dev, "%u A-LUT entries\n", 128 * sc->alut);
358 mw->mw_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
370 val = pci_read_config(dev, PCIR_BAR(mw->mw_bar), 4);
379 snprintf(buf, sizeof(buf), "hint.%s.%d.b2b", device_get_name(dev),
380 device_get_unit(dev));
383 device_printf(dev, "NTB-to-Root Port mode (Link Interface)\n");
386 device_printf(dev, "NTB-to-Root Port mode (Virtual Interface)\n");
389 device_printf(dev, "NTB-to-NTB (back-to-back) mode\n");
393 device_printf(dev, "No memory window BARs enabled.\n");
407 snprintf(buf, sizeof(buf), "hint.%s.%d.split", device_get_name(dev),
408 device_get_unit(dev));
411 device_printf(dev, "Split value is too high (%u)\n", sc->split);
414 device_printf(dev, "Can't split with disabled A-LUT\n");
417 device_printf(dev, "Can't split disabled BAR2\n");
420 device_printf(dev, "Can't split BAR2 consumed by B2B\n");
423 device_printf(dev, "Splitting BAR2 into %d memory windows\n",
456 ntb_plx_init(dev);
459 error = ntb_plx_setup_intr(dev);
464 error = ntb_register_device(dev);
468 ntb_plx_detach(dev);
473 ntb_plx_detach(device_t dev)
475 struct ntb_plx_softc *sc = device_get_softc(dev);
480 ntb_unregister_device(dev);
483 ntb_plx_teardown_intr(dev);
488 bus_release_resource(dev, SYS_RES_MEMORY, mw->mw_rid,
491 bus_release_resource(dev, SYS_RES_MEMORY, sc->conf_rid, sc->conf_res);
497 ntb_plx_link_is_up(device_t dev, enum ntb_speed *speed, enum ntb_width *width)
501 link = pcie_read_config(dev, PCIER_LINK_STA, 2);
510 ntb_plx_link_enable(device_t dev, enum ntb_speed speed __unused,
513 struct ntb_plx_softc *sc = device_get_softc(dev);
518 ntb_link_event(dev);
526 ntb_link_event(dev);
535 ntb_plx_link_disable(device_t dev)
537 struct ntb_plx_softc *sc = device_get_softc(dev);
552 ntb_plx_link_enabled(device_t dev)
554 struct ntb_plx_softc *sc = device_get_softc(dev);
567 ntb_plx_mw_count(device_t dev)
569 struct ntb_plx_softc *sc = device_get_softc(dev);
594 ntb_plx_mw_get_range(device_t dev, unsigned mw_idx, vm_paddr_t *base,
598 struct ntb_plx_softc *sc = device_get_softc(dev);
663 ntb_plx_mw_set_trans_internal(device_t dev, unsigned mw_idx)
665 struct ntb_plx_softc *sc = device_get_softc(dev);
754 ntb_plx_mw_set_trans(device_t dev, unsigned mw_idx, bus_addr_t addr, size_t size)
756 struct ntb_plx_softc *sc = device_get_softc(dev);
770 return (ntb_plx_mw_set_trans_internal(dev, mw_idx));
774 ntb_plx_mw_clear_trans(device_t dev, unsigned mw_idx)
777 return (ntb_plx_mw_set_trans(dev, mw_idx, 0, 0));
781 ntb_plx_mw_get_wc(device_t dev, unsigned mw_idx, vm_memattr_t *mode)
783 struct ntb_plx_softc *sc = device_get_softc(dev);
796 ntb_plx_mw_set_wc(device_t dev, unsigned mw_idx, vm_memattr_t mode)
798 struct ntb_plx_softc *sc = device_get_softc(dev);
828 ntb_plx_spad_count(device_t dev)
830 struct ntb_plx_softc *sc = device_get_softc(dev);
836 ntb_plx_spad_write(device_t dev, unsigned int idx, uint32_t val)
838 struct ntb_plx_softc *sc = device_get_softc(dev);
853 ntb_plx_spad_clear(device_t dev)
855 struct ntb_plx_softc *sc = device_get_softc(dev);
859 ntb_plx_spad_write(dev, i, 0);
863 ntb_plx_spad_read(device_t dev, unsigned int idx, uint32_t *val)
865 struct ntb_plx_softc *sc = device_get_softc(dev);
880 ntb_plx_peer_spad_write(device_t dev, unsigned int idx, uint32_t val)
882 struct ntb_plx_softc *sc = device_get_softc(dev);
900 ntb_plx_peer_spad_read(device_t dev, unsigned int idx, uint32_t *val)
902 struct ntb_plx_softc *sc = device_get_softc(dev);
920 ntb_plx_db_valid_mask(device_t dev)
927 ntb_plx_db_vector_count(device_t dev)
934 ntb_plx_db_vector_mask(device_t dev, uint32_t vector)
943 ntb_plx_db_clear(device_t dev, uint64_t bits)
945 struct ntb_plx_softc *sc = device_get_softc(dev);
951 ntb_plx_db_clear_mask(device_t dev, uint64_t bits)
953 struct ntb_plx_softc *sc = device_get_softc(dev);
959 ntb_plx_db_read(device_t dev)
961 struct ntb_plx_softc *sc = device_get_softc(dev);
967 ntb_plx_db_set_mask(device_t dev, uint64_t bits)
969 struct ntb_plx_softc *sc = device_get_softc(dev);
975 ntb_plx_peer_db_addr(device_t dev, bus_addr_t *db_addr, vm_size_t *db_size)
977 struct ntb_plx_softc *sc = device_get_softc(dev);
994 ntb_plx_peer_db_set(device_t dev, uint64_t bit)
996 struct ntb_plx_softc *sc = device_get_softc(dev);