aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pci/pcivar.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/pcivar.h')
-rw-r--r--sys/dev/pci/pcivar.h16
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,