diff options
Diffstat (limited to 'sys/dev/pci/pcivar.h')
-rw-r--r-- | sys/dev/pci/pcivar.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/dev/pci/pcivar.h b/sys/dev/pci/pcivar.h index c2c1f055def9..d1b7d28eae91 100644 --- a/sys/dev/pci/pcivar.h +++ b/sys/dev/pci/pcivar.h @@ -51,9 +51,7 @@ struct pcicfg_bridge { /* Interesting values for PCI power management */ struct pcicfg_pp { uint16_t pp_cap; /* PCI power management capabilities */ - uint8_t pp_status; /* conf. space addr. of PM control/status reg */ - uint8_t pp_bse; /* conf. space addr. of PM BSE reg */ - uint8_t pp_data; /* conf. space addr. of PM data reg */ + uint8_t pp_location; /* Offset of power management registers */ }; struct pci_map { @@ -90,7 +88,6 @@ struct pcicfg_vpd { struct pcicfg_msi { uint16_t msi_ctrl; /* Message Control */ uint8_t msi_location; /* Offset of MSI capability registers. */ - uint8_t msi_msgnum; /* Number of messages */ int msi_alloc; /* Number of allocated messages. */ uint64_t msi_addr; /* Contents of address register. */ uint16_t msi_data; /* Contents of data register. */ @@ -111,14 +108,13 @@ struct msix_table_entry { struct pcicfg_msix { uint16_t msix_ctrl; /* Message Control */ - uint16_t msix_msgnum; /* Number of messages */ uint8_t msix_location; /* Offset of MSI-X capability registers. */ uint8_t msix_table_bar; /* BAR containing vector table. */ uint8_t msix_pba_bar; /* BAR containing PBA. */ uint32_t msix_table_offset; uint32_t msix_pba_offset; - int msix_alloc; /* Number of allocated vectors. */ - int msix_table_len; /* Length of virtual table. */ + u_int msix_alloc; /* Number of allocated vectors. */ + u_int msix_table_len; /* Length of virtual table. */ struct msix_table_entry *msix_table; /* Virtual table. */ struct msix_vector *msix_vectors; /* Array of allocated vectors. */ struct resource *msix_table_res; /* Resource containing vector table. */ @@ -126,8 +122,8 @@ struct pcicfg_msix { }; struct pci_id_ofw_iommu { + uintptr_t xref; uint32_t id; - uint32_t xref; }; /* Interesting values for HyperTransport */ @@ -670,6 +666,7 @@ device_t pci_find_dbsf(uint32_t, uint8_t, uint8_t, uint8_t); device_t pci_find_device(uint16_t, uint16_t); device_t pci_find_class(uint8_t class, uint8_t subclass); device_t pci_find_class_from(uint8_t class, uint8_t subclass, device_t devfrom); +device_t pci_find_base_class_from(uint8_t class, device_t devfrom); /* Can be used by drivers to manage the MSI-X table. */ int pci_pending_msix(device_t dev, u_int index); @@ -687,6 +684,9 @@ void pci_restore_state(device_t dev); void pci_save_state(device_t dev); int pci_set_max_read_req(device_t dev, int size); int pci_power_reset(device_t dev); +void pci_clear_pme(device_t dev); +void pci_enable_pme(device_t dev); +bool pci_has_pm(device_t dev); uint32_t pcie_read_config(device_t dev, int reg, int width); void pcie_write_config(device_t dev, int reg, uint32_t value, int width); uint32_t pcie_adjust_config(device_t dev, int reg, uint32_t mask, |