pci.c (a5d8944a83ff8a3aad14197b7aa0800ff9bda95e) pci.c (ce204e1bd813047e5f70fadcc9e703b89dac0f32)
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

--- 173 unchanged lines hidden (view full) ---

182 DEVMETHOD(pci_alloc_msix, pci_alloc_msix_method),
183 DEVMETHOD(pci_enable_msi, pci_enable_msi_method),
184 DEVMETHOD(pci_enable_msix, pci_enable_msix_method),
185 DEVMETHOD(pci_disable_msi, pci_disable_msi_method),
186 DEVMETHOD(pci_remap_msix, pci_remap_msix_method),
187 DEVMETHOD(pci_release_msi, pci_release_msi_method),
188 DEVMETHOD(pci_msi_count, pci_msi_count_method),
189 DEVMETHOD(pci_msix_count, pci_msix_count_method),
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

--- 173 unchanged lines hidden (view full) ---

182 DEVMETHOD(pci_alloc_msix, pci_alloc_msix_method),
183 DEVMETHOD(pci_enable_msi, pci_enable_msi_method),
184 DEVMETHOD(pci_enable_msix, pci_enable_msix_method),
185 DEVMETHOD(pci_disable_msi, pci_disable_msi_method),
186 DEVMETHOD(pci_remap_msix, pci_remap_msix_method),
187 DEVMETHOD(pci_release_msi, pci_release_msi_method),
188 DEVMETHOD(pci_msi_count, pci_msi_count_method),
189 DEVMETHOD(pci_msix_count, pci_msix_count_method),
190 DEVMETHOD(pci_msix_pba_bar, pci_msix_pba_bar_method),
191 DEVMETHOD(pci_msix_table_bar, pci_msix_table_bar_method),
190 DEVMETHOD(pci_get_rid, pci_get_rid_method),
191 DEVMETHOD(pci_child_added, pci_child_added_method),
192#ifdef PCI_IOV
193 DEVMETHOD(pci_iov_attach, pci_iov_attach_method),
194 DEVMETHOD(pci_iov_detach, pci_iov_detach_method),
195 DEVMETHOD(pci_create_iov_child, pci_create_iov_child_method),
196#endif
197

--- 1648 unchanged lines hidden (view full) ---

1846 struct pci_devinfo *dinfo = device_get_ivars(child);
1847 struct pcicfg_msix *msix = &dinfo->cfg.msix;
1848
1849 if (pci_do_msix && msix->msix_location != 0)
1850 return (msix->msix_msgnum);
1851 return (0);
1852}
1853
192 DEVMETHOD(pci_get_rid, pci_get_rid_method),
193 DEVMETHOD(pci_child_added, pci_child_added_method),
194#ifdef PCI_IOV
195 DEVMETHOD(pci_iov_attach, pci_iov_attach_method),
196 DEVMETHOD(pci_iov_detach, pci_iov_detach_method),
197 DEVMETHOD(pci_create_iov_child, pci_create_iov_child_method),
198#endif
199

--- 1648 unchanged lines hidden (view full) ---

1848 struct pci_devinfo *dinfo = device_get_ivars(child);
1849 struct pcicfg_msix *msix = &dinfo->cfg.msix;
1850
1851 if (pci_do_msix && msix->msix_location != 0)
1852 return (msix->msix_msgnum);
1853 return (0);
1854}
1855
1856int
1857pci_msix_pba_bar_method(device_t dev, device_t child)
1858{
1859 struct pci_devinfo *dinfo = device_get_ivars(child);
1860 struct pcicfg_msix *msix = &dinfo->cfg.msix;
1861
1862 if (pci_do_msix && msix->msix_location != 0)
1863 return (msix->msix_pba_bar);
1864 return (-1);
1865}
1866
1867int
1868pci_msix_table_bar_method(device_t dev, device_t child)
1869{
1870 struct pci_devinfo *dinfo = device_get_ivars(child);
1871 struct pcicfg_msix *msix = &dinfo->cfg.msix;
1872
1873 if (pci_do_msix && msix->msix_location != 0)
1874 return (msix->msix_table_bar);
1875 return (-1);
1876}
1877
1854/*
1855 * HyperTransport MSI mapping control
1856 */
1857void
1858pci_ht_map_msi(device_t dev, uint64_t addr)
1859{
1860 struct pci_devinfo *dinfo = device_get_ivars(dev);
1861 struct pcicfg_ht *ht = &dinfo->cfg.ht;

--- 3613 unchanged lines hidden ---
1878/*
1879 * HyperTransport MSI mapping control
1880 */
1881void
1882pci_ht_map_msi(device_t dev, uint64_t addr)
1883{
1884 struct pci_devinfo *dinfo = device_get_ivars(dev);
1885 struct pcicfg_ht *ht = &dinfo->cfg.ht;

--- 3613 unchanged lines hidden ---