Lines Matching refs:pdev
341 int pci_request_region(struct pci_dev *pdev, int bar, const char *res_name);
342 int pci_alloc_irq_vectors(struct pci_dev *pdev, int minv, int maxv,
347 struct pci_devres *lkpi_pci_devres_get_alloc(struct pci_dev *pdev);
349 struct resource *_lkpi_pci_iomap(struct pci_dev *pdev, int bar, int mmio_size);
350 struct pcim_iomap_devres *lkpi_pcim_iomap_devres_find(struct pci_dev *pdev);
354 pci_resource_type(struct pci_dev *pdev, int bar) in pci_resource_type() argument
358 pm = pci_find_bar(pdev->dev.bsddev, PCIR_BAR(bar)); in pci_resource_type()
368 struct resource_list_entry *linux_pci_reserve_bar(struct pci_dev *pdev,
372 linux_pci_get_rle(struct pci_dev *pdev, int type, int rid, bool reserve_bar) in linux_pci_get_rle() argument
378 dinfo = device_get_ivars(pdev->dev.bsddev); in linux_pci_get_rle()
383 rle = linux_pci_reserve_bar(pdev, rl, type, rid); in linux_pci_get_rle()
388 linux_pci_get_bar(struct pci_dev *pdev, int bar, bool reserve) in linux_pci_get_bar() argument
392 type = pci_resource_type(pdev, bar); in linux_pci_get_bar()
396 return (linux_pci_get_rle(pdev, type, bar, reserve)); in linux_pci_get_bar()
402 struct pci_dev *pdev; in linux_pci_find_irq_dev() local
407 list_for_each_entry(pdev, &pci_devices, links) { in linux_pci_find_irq_dev()
408 if (irq == pdev->dev.irq || in linux_pci_find_irq_dev()
409 (irq >= pdev->dev.irq_start && irq < pdev->dev.irq_end)) { in linux_pci_find_irq_dev()
410 found = &pdev->dev; in linux_pci_find_irq_dev()
422 pci_resource_flags(struct pci_dev *pdev, int bar) in pci_resource_flags() argument
426 type = pci_resource_type(pdev, bar); in pci_resource_flags()
440 pci_get_drvdata(struct pci_dev *pdev) in pci_get_drvdata() argument
443 return dev_get_drvdata(&pdev->dev); in pci_get_drvdata()
447 pci_set_drvdata(struct pci_dev *pdev, void *data) in pci_set_drvdata() argument
450 dev_set_drvdata(&pdev->dev, data); in pci_set_drvdata()
454 pci_dev_get(struct pci_dev *pdev) in pci_dev_get() argument
457 if (pdev != NULL) in pci_dev_get()
458 get_device(&pdev->dev); in pci_dev_get()
459 return (pdev); in pci_dev_get()
463 pci_dev_put(struct pci_dev *pdev) in pci_dev_put() argument
466 if (pdev != NULL) in pci_dev_put()
467 put_device(&pdev->dev); in pci_dev_put()
471 pci_enable_device(struct pci_dev *pdev) in pci_enable_device() argument
474 pci_enable_io(pdev->dev.bsddev, SYS_RES_IOPORT); in pci_enable_device()
475 pci_enable_io(pdev->dev.bsddev, SYS_RES_MEMORY); in pci_enable_device()
480 pci_disable_device(struct pci_dev *pdev) in pci_disable_device() argument
483 pci_disable_busmaster(pdev->dev.bsddev); in pci_disable_device()
487 pci_set_master(struct pci_dev *pdev) in pci_set_master() argument
490 pci_enable_busmaster(pdev->dev.bsddev); in pci_set_master()
495 pci_set_power_state(struct pci_dev *pdev, int state) in pci_set_power_state() argument
498 pci_set_powerstate(pdev->dev.bsddev, state); in pci_set_power_state()
503 pci_clear_master(struct pci_dev *pdev) in pci_clear_master() argument
506 pci_disable_busmaster(pdev->dev.bsddev); in pci_clear_master()
518 pci_upstream_bridge(struct pci_dev *pdev) in pci_upstream_bridge() argument
521 if (pci_is_root_bus(pdev->bus)) in pci_upstream_bridge()
529 if (pdev == pdev->bus->self) { in pci_upstream_bridge()
532 bridge = device_get_parent(pdev->dev.bsddev); in pci_upstream_bridge()
546 pdev->bus->self = lkpinew_pci_dev(bridge); in pci_upstream_bridge()
549 return (pdev->bus->self); in pci_upstream_bridge()
553 lkpi_pci_devres_find(struct pci_dev *pdev) in lkpi_pci_devres_find() argument
556 if (!pdev->managed) in lkpi_pci_devres_find()
559 return (lkpi_pci_devres_get_alloc(pdev)); in lkpi_pci_devres_find()
563 pci_release_region(struct pci_dev *pdev, int bar) in pci_release_region() argument
569 if ((rle = linux_pci_get_bar(pdev, bar, false)) == NULL) in pci_release_region()
576 dr = lkpi_pci_devres_find(pdev); in pci_release_region()
579 " region_table res %p != rel->res %p\n", __func__, pdev, in pci_release_region()
585 TAILQ_FOREACH_SAFE(mmio, &pdev->mmio, next, p) { in pci_release_region()
588 TAILQ_REMOVE(&pdev->mmio, mmio, next); in pci_release_region()
592 bus_release_resource(pdev->dev.bsddev, rle->type, rle->rid, rle->res); in pci_release_region()
596 pci_release_regions(struct pci_dev *pdev) in pci_release_regions() argument
601 pci_release_region(pdev, i); in pci_release_regions()
605 pci_request_regions(struct pci_dev *pdev, const char *res_name) in pci_request_regions() argument
611 error = pci_request_region(pdev, i, res_name); in pci_request_regions()
613 pci_release_regions(pdev); in pci_request_regions()
621 lkpi_pci_disable_msix(struct pci_dev *pdev) in lkpi_pci_disable_msix() argument
624 pci_release_msi(pdev->dev.bsddev); in lkpi_pci_disable_msix()
632 pdev->dev.irq_start = 0; in lkpi_pci_disable_msix()
633 pdev->dev.irq_end = 0; in lkpi_pci_disable_msix()
634 pdev->msix_enabled = false; in lkpi_pci_disable_msix()
637 #define pci_disable_msix(pdev) lkpi_pci_disable_msix(pdev) argument
640 lkpi_pci_disable_msi(struct pci_dev *pdev) in lkpi_pci_disable_msi() argument
643 pci_release_msi(pdev->dev.bsddev); in lkpi_pci_disable_msi()
645 pdev->dev.irq_start = 0; in lkpi_pci_disable_msi()
646 pdev->dev.irq_end = 0; in lkpi_pci_disable_msi()
647 pdev->irq = pdev->dev.irq; in lkpi_pci_disable_msi()
648 pdev->msi_enabled = false; in lkpi_pci_disable_msi()
650 #define pci_disable_msi(pdev) lkpi_pci_disable_msi(pdev) argument
651 #define pci_free_irq_vectors(pdev) lkpi_pci_disable_msi(pdev) argument
653 unsigned long pci_resource_start(struct pci_dev *pdev, int bar);
654 unsigned long pci_resource_len(struct pci_dev *pdev, int bar);
657 pci_bus_address(struct pci_dev *pdev, int bar) in pci_bus_address() argument
660 return (pci_resource_start(pdev, bar)); in pci_bus_address()
675 pci_find_capability(struct pci_dev *pdev, int capid) in pci_find_capability() argument
679 if (pci_find_cap(pdev->dev.bsddev, capid, ®)) in pci_find_capability()
690 pci_find_ext_capability(struct pci_dev *pdev, int capid) in pci_find_ext_capability() argument
694 if (pci_find_extcap(pdev->dev.bsddev, capid, ®)) in pci_find_ext_capability()
701 pci_pme_capable(struct pci_dev *pdev, uint32_t flag) in pci_pme_capable() argument
709 dinfo = device_get_ivars(pdev->dev.bsddev); in pci_pme_capable()
722 pci_disable_link_state(struct pci_dev *pdev, uint32_t flags) in pci_disable_link_state() argument
732 pci_read_config_byte(const struct pci_dev *pdev, int where, u8 *val) in pci_read_config_byte() argument
735 *val = (u8)pci_read_config(pdev->dev.bsddev, where, 1); in pci_read_config_byte()
740 pci_read_config_word(const struct pci_dev *pdev, int where, u16 *val) in pci_read_config_word() argument
743 *val = (u16)pci_read_config(pdev->dev.bsddev, where, 2); in pci_read_config_word()
748 pci_read_config_dword(const struct pci_dev *pdev, int where, u32 *val) in pci_read_config_dword() argument
751 *val = (u32)pci_read_config(pdev->dev.bsddev, where, 4); in pci_read_config_dword()
756 pci_write_config_byte(const struct pci_dev *pdev, int where, u8 val) in pci_write_config_byte() argument
759 pci_write_config(pdev->dev.bsddev, where, val, 1); in pci_write_config_byte()
764 pci_write_config_word(const struct pci_dev *pdev, int where, u16 val) in pci_write_config_word() argument
767 pci_write_config(pdev->dev.bsddev, where, val, 2); in pci_write_config_word()
772 pci_write_config_dword(const struct pci_dev *pdev, int where, u32 val) in pci_write_config_dword() argument
775 pci_write_config(pdev->dev.bsddev, where, val, 4); in pci_write_config_dword()
803 pci_enable_msix(struct pci_dev *pdev, struct msix_entry *entries, int nreq) in pci_enable_msix() argument
810 avail = pci_msix_count(pdev->dev.bsddev); in pci_enable_msix()
817 if ((error = -pci_alloc_msix(pdev->dev.bsddev, &avail)) != 0) in pci_enable_msix()
824 pci_release_msi(pdev->dev.bsddev); in pci_enable_msix()
827 rle = linux_pci_get_rle(pdev, SYS_RES_IRQ, 1, false); in pci_enable_msix()
828 pdev->dev.irq_start = rle->start; in pci_enable_msix()
829 pdev->dev.irq_end = rle->start + avail; in pci_enable_msix()
831 entries[i].vector = pdev->dev.irq_start + i; in pci_enable_msix()
832 pdev->msix_enabled = true; in pci_enable_msix()
862 #define pci_enable_msi(pdev) \ argument
863 linux_pci_enable_msi(pdev)
866 pci_enable_msi(struct pci_dev *pdev) in pci_enable_msi() argument
872 avail = pci_msi_count(pdev->dev.bsddev); in pci_enable_msi()
877 if ((error = -pci_alloc_msi(pdev->dev.bsddev, &avail)) != 0) in pci_enable_msi()
880 rle = linux_pci_get_rle(pdev, SYS_RES_IRQ, 1, false); in pci_enable_msi()
881 pdev->dev.irq_start = rle->start; in pci_enable_msi()
882 pdev->dev.irq_end = rle->start + avail; in pci_enable_msi()
883 pdev->irq = rle->start; in pci_enable_msi()
884 pdev->msi_enabled = true; in pci_enable_msi()
889 pci_channel_offline(struct pci_dev *pdev) in pci_channel_offline() argument
892 return (pci_read_config(pdev->dev.bsddev, PCIR_VENDOR, 2) == PCIV_INVALID); in pci_channel_offline()
905 pci_iomap(struct pci_dev *pdev, int mmio_bar, int mmio_size) in pci_iomap() argument
909 res = _lkpi_pci_iomap(pdev, mmio_bar, mmio_size); in pci_iomap()
913 if (pdev->want_iomap_res) in pci_iomap()
919 pci_iounmap(struct pci_dev *pdev, void *res) in pci_iounmap() argument
923 TAILQ_FOREACH_SAFE(mmio, &pdev->mmio, next, p) { in pci_iounmap()
926 bus_release_resource(pdev->dev.bsddev, in pci_iounmap()
928 TAILQ_REMOVE(&pdev->mmio, mmio, next); in pci_iounmap()
935 lkpi_pci_save_state(struct pci_dev *pdev) in lkpi_pci_save_state() argument
938 pci_save_state(pdev->dev.bsddev); in lkpi_pci_save_state()
942 lkpi_pci_restore_state(struct pci_dev *pdev) in lkpi_pci_restore_state() argument
945 pci_restore_state(pdev->dev.bsddev); in lkpi_pci_restore_state()
1268 pcie_bandwidth_available(struct pci_dev *pdev, in pcie_bandwidth_available() argument
1273 enum pci_bus_speed nspeed = pcie_get_speed_cap(pdev); in pcie_bandwidth_available()
1274 enum pcie_link_width nwidth = pcie_get_width_cap(pdev); in pcie_bandwidth_available()
1285 pcie_find_root_port(struct pci_dev *pdev) in pcie_find_root_port() argument
1289 if (pdev->root != NULL) in pcie_find_root_port()
1290 return (pdev->root); in pcie_find_root_port()
1292 root = pci_find_pcie_root_port(pdev->dev.bsddev); in pcie_find_root_port()
1296 pdev->root = lkpinew_pci_dev(root); in pcie_find_root_port()
1297 return (pdev->root); in pcie_find_root_port()
1312 pci_stop_and_remove_bus_device(struct pci_dev *pdev) in pci_stop_and_remove_bus_device() argument
1411 pcim_enable_device(struct pci_dev *pdev) in pcim_enable_device() argument
1417 dr = lkpi_pci_devres_get_alloc(pdev); in pcim_enable_device()
1425 error = pci_enable_device(pdev); in pcim_enable_device()
1430 pdev->managed = true; in pcim_enable_device()
1436 pcim_iomap_table(struct pci_dev *pdev) in pcim_iomap_table() argument
1440 dr = lkpi_pcim_iomap_devres_find(pdev); in pcim_iomap_table()
1448 if (pdev->want_iomap_res) in pcim_iomap_table()
1456 pcim_iomap_regions_request_all(struct pci_dev *pdev, uint32_t mask, char *name) in pcim_iomap_regions_request_all() argument
1463 dr = lkpi_pcim_iomap_devres_find(pdev); in pcim_iomap_regions_request_all()
1472 error = pci_request_region(pdev, bar, name); in pcim_iomap_regions_request_all()
1485 device_printf(pdev->dev.bsddev, "%s: bar %d %p\n", in pcim_iomap_regions_request_all()
1490 res = _lkpi_pci_iomap(pdev, bar, 0); in pcim_iomap_regions_request_all()
1507 pci_iounmap(pdev, res); in pcim_iomap_regions_request_all()
1509 pci_release_region(pdev, bar); in pcim_iomap_regions_request_all()
1518 linuxkpi_pcim_want_to_use_bus_functions(struct pci_dev *pdev) in linuxkpi_pcim_want_to_use_bus_functions() argument
1520 pdev->want_iomap_res = true; in linuxkpi_pcim_want_to_use_bus_functions()