Lines Matching defs:dev

44 #include <dev/pci/pcivar.h>
45 #include <dev/pci/pcireg.h>
46 #include <dev/pci/pci_private.h>
112 #define to_pci_dev(n) container_of(n, struct pci_dev, dev)
196 int (*probe)(struct pci_dev *dev, const struct pci_device_id *id);
197 void (*remove)(struct pci_dev *dev);
198 int (*suspend) (struct pci_dev *dev, pm_message_t state); /* Device suspended */
199 int (*resume) (struct pci_dev *dev); /* Device woken up */
200 void (*shutdown) (struct pci_dev *dev); /* Device shutdown */
206 int (*bsd_iov_init)(device_t dev, uint16_t num_vfs,
208 void (*bsd_iov_uninit)(device_t dev);
209 int (*bsd_iov_add_vf)(device_t dev, uint16_t vfnum,
225 struct device dev;
247 dinfo = device_get_ivars(pdev->dev.bsddev);
272 if (irq == pdev->dev.irq ||
273 (irq >= pdev->dev.irq_start && irq < pdev->dev.irq_end)) {
274 found = &pdev->dev;
307 pm = pci_find_bar(pdev->dev.bsddev, PCIR_BAR(bar));
335 return device_get_desc(d->dev.bsddev);
342 return dev_get_drvdata(&pdev->dev);
349 dev_set_drvdata(&pdev->dev, data);
356 pci_enable_io(pdev->dev.bsddev, SYS_RES_IOPORT);
357 pci_enable_io(pdev->dev.bsddev, SYS_RES_MEMORY);
365 pci_disable_busmaster(pdev->dev.bsddev);
372 pci_enable_busmaster(pdev->dev.bsddev);
380 pci_set_powerstate(pdev->dev.bsddev, state);
388 pci_disable_busmaster(pdev->dev.bsddev);
402 if (bus_alloc_resource_any(pdev->dev.bsddev, type, &rid,
415 bus_release_resource(pdev->dev.bsddev, rle->type, rle->rid, rle->res);
447 pci_release_msi(pdev->dev.bsddev);
455 pdev->dev.irq_start = 0;
456 pdev->dev.irq_end = 0;
466 pci_release_msi(pdev->dev.bsddev);
468 pdev->dev.irq_start = 0;
469 pdev->dev.irq_end = 0;
470 pdev->irq = pdev->dev.irq;
497 if (pci_find_cap(pdev->dev.bsddev, capid, &reg))
502 static inline int pci_pcie_cap(struct pci_dev *dev)
504 return pci_find_capability(dev, PCI_CAP_ID_EXP);
512 *val = (u8)pci_read_config(pdev->dev.bsddev, where, 1);
520 *val = (u16)pci_read_config(pdev->dev.bsddev, where, 2);
528 *val = (u32)pci_read_config(pdev->dev.bsddev, where, 4);
536 pci_write_config(pdev->dev.bsddev, where, val, 1);
544 pci_write_config(pdev->dev.bsddev, where, val, 2);
552 pci_write_config(pdev->dev.bsddev, where, val, 4);
586 avail = pci_msix_count(pdev->dev.bsddev);
593 if ((error = -pci_alloc_msix(pdev->dev.bsddev, &avail)) != 0)
600 pci_release_msi(pdev->dev.bsddev);
604 pdev->dev.irq_start = rle->start;
605 pdev->dev.irq_end = rle->start + avail;
607 entries[i].vector = pdev->dev.irq_start + i;
615 pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries,
625 rc = pci_enable_msix(dev, entries, nvec);
647 avail = pci_msi_count(pdev->dev.bsddev);
652 if ((error = -pci_alloc_msi(pdev->dev.bsddev, &avail)) != 0)
656 pdev->dev.irq_start = rle->start;
657 pdev->dev.irq_end = rle->start + avail;
667 return (pci_read_config(pdev->dev.bsddev, PCIR_VENDOR, 2) == PCIV_INVALID);
670 static inline int pci_enable_sriov(struct pci_dev *dev, int nr_virtfn)
674 static inline void pci_disable_sriov(struct pci_dev *dev)
697 dma_pool_create(_name, &(_pdev)->dev, _size, _align, _alloc)
699 dma_free_coherent((_hwdev) == NULL ? NULL : &(_hwdev)->dev, \
702 dma_map_sg((_hwdev) == NULL ? NULL : &(_hwdev->dev), \
705 dma_map_single((_hwdev) == NULL ? NULL : &(_hwdev->dev), \
708 dma_unmap_single((_hwdev) == NULL ? NULL : &(_hwdev)->dev, \
711 dma_unmap_sg((_hwdev) == NULL ? NULL : &(_hwdev)->dev, \
714 dma_map_page((_hwdev) == NULL ? NULL : &(_hwdev)->dev, _page,\
717 dma_unmap_page((_hwdev) == NULL ? NULL : &(_hwdev)->dev, \
719 #define pci_set_dma_mask(_pdev, mask) dma_set_mask(&(_pdev)->dev, (mask))
721 dma_mapping_error(&(_pdev)->dev, _dma_addr)
723 dma_set_coherent_mask(&(_pdev)->dev, (_mask))
751 pci_ers_result_t (*error_detected)(struct pci_dev *dev,
753 pci_ers_result_t (*mmio_enabled)(struct pci_dev *dev);
754 pci_ers_result_t (*link_reset)(struct pci_dev *dev);
755 pci_ers_result_t (*slot_reset)(struct pci_dev *dev);
756 void (*resume)(struct pci_dev *dev);
760 static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
762 return dev;
765 static inline bool pci_is_pcie(struct pci_dev *dev)
767 return !!pci_pcie_cap(dev);
770 static inline u16 pcie_flags_reg(struct pci_dev *dev)
775 pos = pci_find_capability(dev, PCI_CAP_ID_EXP);
779 pci_read_config_word(dev, pos + PCI_EXP_FLAGS, &reg16);
785 static inline int pci_pcie_type(struct pci_dev *dev)
787 return (pcie_flags_reg(dev) & PCI_EXP_FLAGS_TYPE) >> 4;
790 static inline int pcie_cap_version(struct pci_dev *dev)
792 return pcie_flags_reg(dev) & PCI_EXP_FLAGS_VERS;
795 static inline bool pcie_cap_has_lnkctl(struct pci_dev *dev)
797 int type = pci_pcie_type(dev);
799 return pcie_cap_version(dev) > 1 ||
805 static inline bool pcie_cap_has_devctl(const struct pci_dev *dev)
810 static inline bool pcie_cap_has_sltctl(struct pci_dev *dev)
812 int type = pci_pcie_type(dev);
814 return pcie_cap_version(dev) > 1 || type == PCI_EXP_TYPE_ROOT_PORT ||
816 pcie_flags_reg(dev) & PCI_EXP_FLAGS_SLOT);
819 static inline bool pcie_cap_has_rtctl(struct pci_dev *dev)
821 int type = pci_pcie_type(dev);
823 return pcie_cap_version(dev) > 1 || type == PCI_EXP_TYPE_ROOT_PORT ||
827 static bool pcie_capability_reg_implemented(struct pci_dev *dev, int pos)
829 if (!pci_is_pcie(dev))
838 return pcie_cap_has_devctl(dev);
842 return pcie_cap_has_lnkctl(dev);
846 return pcie_cap_has_sltctl(dev);
850 return pcie_cap_has_rtctl(dev);
856 return pcie_cap_version(dev) > 1;
863 pcie_capability_read_dword(struct pci_dev *dev, int pos, u32 *dst)
868 if (!pcie_capability_reg_implemented(dev, pos))
871 return pci_read_config_dword(dev, pci_pcie_cap(dev) + pos, dst);
875 pcie_capability_read_word(struct pci_dev *dev, int pos, u16 *dst)
880 if (!pcie_capability_reg_implemented(dev, pos))
883 return pci_read_config_word(dev, pci_pcie_cap(dev) + pos, dst);
887 pcie_capability_write_word(struct pci_dev *dev, int pos, u16 val)
892 if (!pcie_capability_reg_implemented(dev, pos))
895 return pci_write_config_word(dev, pci_pcie_cap(dev) + pos, val);
898 static inline int pcie_get_minimum_link(struct pci_dev *dev,
907 pci_num_vf(struct pci_dev *dev)
913 pcie_get_speed_cap(struct pci_dev *dev)
919 root = device_get_parent(dev->dev.bsddev);
962 pcie_get_width_cap(struct pci_dev *dev)
966 pcie_capability_read_dword(dev, PCI_EXP_LNKCAP, &lnkcap);
974 pcie_get_mps(struct pci_dev *dev)
976 return (pci_get_max_payload(dev->dev.bsddev));