pci.c (f41be0f07673849a55ab3dfbba8878b9cb06b133) | pci.c (d7be980dbe6961abce6b3e12de0391cbad295f95) |
---|---|
1/*- 2 * Copyright (c) 1997, Stefan Esser <se@freebsd.org> 3 * Copyright (c) 2000, Michael Smith <msmith@freebsd.org> 4 * Copyright (c) 2000, BSDi 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 108 unchanged lines hidden (view full) --- 117static void pci_unmask_msix(device_t dev, u_int index); 118static int pci_msi_blacklisted(void); 119static int pci_msix_blacklisted(void); 120static void pci_resume_msi(device_t dev); 121static void pci_resume_msix(device_t dev); 122static int pci_remap_intr_method(device_t bus, device_t dev, 123 u_int irq); 124 | 1/*- 2 * Copyright (c) 1997, Stefan Esser <se@freebsd.org> 3 * Copyright (c) 2000, Michael Smith <msmith@freebsd.org> 4 * Copyright (c) 2000, BSDi 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 108 unchanged lines hidden (view full) --- 117static void pci_unmask_msix(device_t dev, u_int index); 118static int pci_msi_blacklisted(void); 119static int pci_msix_blacklisted(void); 120static void pci_resume_msi(device_t dev); 121static void pci_resume_msix(device_t dev); 122static int pci_remap_intr_method(device_t bus, device_t dev, 123 u_int irq); 124 |
125static uint16_t pci_get_rid_method(device_t dev, device_t child); | 125static int pci_get_id_method(device_t dev, device_t child, 126 enum pci_id_type type, uintptr_t *rid); |
126 127static struct pci_devinfo * pci_fill_devinfo(device_t pcib, device_t bus, int d, 128 int b, int s, int f, uint16_t vid, uint16_t did); 129 130static device_method_t pci_methods[] = { 131 /* Device interface */ 132 DEVMETHOD(device_probe, pci_probe), 133 DEVMETHOD(device_attach, pci_attach), --- 51 unchanged lines hidden (view full) --- 185 DEVMETHOD(pci_enable_msix, pci_enable_msix_method), 186 DEVMETHOD(pci_disable_msi, pci_disable_msi_method), 187 DEVMETHOD(pci_remap_msix, pci_remap_msix_method), 188 DEVMETHOD(pci_release_msi, pci_release_msi_method), 189 DEVMETHOD(pci_msi_count, pci_msi_count_method), 190 DEVMETHOD(pci_msix_count, pci_msix_count_method), 191 DEVMETHOD(pci_msix_pba_bar, pci_msix_pba_bar_method), 192 DEVMETHOD(pci_msix_table_bar, pci_msix_table_bar_method), | 127 128static struct pci_devinfo * pci_fill_devinfo(device_t pcib, device_t bus, int d, 129 int b, int s, int f, uint16_t vid, uint16_t did); 130 131static device_method_t pci_methods[] = { 132 /* Device interface */ 133 DEVMETHOD(device_probe, pci_probe), 134 DEVMETHOD(device_attach, pci_attach), --- 51 unchanged lines hidden (view full) --- 186 DEVMETHOD(pci_enable_msix, pci_enable_msix_method), 187 DEVMETHOD(pci_disable_msi, pci_disable_msi_method), 188 DEVMETHOD(pci_remap_msix, pci_remap_msix_method), 189 DEVMETHOD(pci_release_msi, pci_release_msi_method), 190 DEVMETHOD(pci_msi_count, pci_msi_count_method), 191 DEVMETHOD(pci_msix_count, pci_msix_count_method), 192 DEVMETHOD(pci_msix_pba_bar, pci_msix_pba_bar_method), 193 DEVMETHOD(pci_msix_table_bar, pci_msix_table_bar_method), |
193 DEVMETHOD(pci_get_rid, pci_get_rid_method), | 194 DEVMETHOD(pci_get_id, pci_get_id_method), |
194 DEVMETHOD(pci_alloc_devinfo, pci_alloc_devinfo_method), 195 DEVMETHOD(pci_child_added, pci_child_added_method), 196#ifdef PCI_IOV 197 DEVMETHOD(pci_iov_attach, pci_iov_attach_method), 198 DEVMETHOD(pci_iov_detach, pci_iov_detach_method), 199 DEVMETHOD(pci_create_iov_child, pci_create_iov_child_method), 200#endif 201 --- 5616 unchanged lines hidden (view full) --- 5818pci_restore_state(device_t dev) 5819{ 5820 struct pci_devinfo *dinfo; 5821 5822 dinfo = device_get_ivars(dev); 5823 pci_cfg_restore(dev, dinfo); 5824} 5825 | 195 DEVMETHOD(pci_alloc_devinfo, pci_alloc_devinfo_method), 196 DEVMETHOD(pci_child_added, pci_child_added_method), 197#ifdef PCI_IOV 198 DEVMETHOD(pci_iov_attach, pci_iov_attach_method), 199 DEVMETHOD(pci_iov_detach, pci_iov_detach_method), 200 DEVMETHOD(pci_create_iov_child, pci_create_iov_child_method), 201#endif 202 --- 5616 unchanged lines hidden (view full) --- 5819pci_restore_state(device_t dev) 5820{ 5821 struct pci_devinfo *dinfo; 5822 5823 dinfo = device_get_ivars(dev); 5824 pci_cfg_restore(dev, dinfo); 5825} 5826 |
5826static uint16_t 5827pci_get_rid_method(device_t dev, device_t child) | 5827static int 5828pci_get_id_method(device_t dev, device_t child, enum pci_id_type type, 5829 uintptr_t *id) |
5828{ 5829 | 5830{ 5831 |
5830 return (PCIB_GET_RID(device_get_parent(dev), child)); | 5832 return (PCIB_GET_ID(device_get_parent(dev), child, type, id)); |
5831} 5832 5833/* Find the upstream port of a given PCI device in a root complex. */ 5834device_t 5835pci_find_pcie_root_port(device_t dev) 5836{ 5837 struct pci_devinfo *dinfo; 5838 devclass_t pci_class; --- 34 unchanged lines hidden --- | 5833} 5834 5835/* Find the upstream port of a given PCI device in a root complex. */ 5836device_t 5837pci_find_pcie_root_port(device_t dev) 5838{ 5839 struct pci_devinfo *dinfo; 5840 devclass_t pci_class; --- 34 unchanged lines hidden --- |