| @@ -21,27 +21,27 @@ | | | @@ -21,27 +21,27 @@ |
21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | | 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | | 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | | 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | | 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | | 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | | 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | | 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | | 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 | */ | | 29 | */ |
30 | #include <sys/cdefs.h> | | 30 | #include <sys/cdefs.h> |
31 | #if 0 | | 31 | #if 0 |
32 | __FBSDID("$FreeBSD: head/sys/dev/ena/ena.c 333456 2018-05-10 09:37:54Z mw $"); | | 32 | __FBSDID("$FreeBSD: head/sys/dev/ena/ena.c 333456 2018-05-10 09:37:54Z mw $"); |
33 | #endif | | 33 | #endif |
34 | __KERNEL_RCSID(0, "$NetBSD: if_ena.c,v 1.6 2018/11/28 11:50:48 bad Exp $"); | | 34 | __KERNEL_RCSID(0, "$NetBSD: if_ena.c,v 1.7 2018/11/28 16:51:41 jdolecek Exp $"); |
35 | | | 35 | |
36 | #include <sys/param.h> | | 36 | #include <sys/param.h> |
37 | #include <sys/systm.h> | | 37 | #include <sys/systm.h> |
38 | #include <sys/bus.h> | | 38 | #include <sys/bus.h> |
39 | #include <sys/endian.h> | | 39 | #include <sys/endian.h> |
40 | #include <sys/kernel.h> | | 40 | #include <sys/kernel.h> |
41 | #include <sys/kthread.h> | | 41 | #include <sys/kthread.h> |
42 | #include <sys/malloc.h> | | 42 | #include <sys/malloc.h> |
43 | #include <sys/mbuf.h> | | 43 | #include <sys/mbuf.h> |
44 | #include <sys/module.h> | | 44 | #include <sys/module.h> |
45 | #include <sys/socket.h> | | 45 | #include <sys/socket.h> |
46 | #include <sys/sockio.h> | | 46 | #include <sys/sockio.h> |
47 | #include <sys/sysctl.h> | | 47 | #include <sys/sysctl.h> |
| @@ -1879,28 +1879,28 @@ ena_enable_msix(struct ena_adapter *adap | | | @@ -1879,28 +1879,28 @@ ena_enable_msix(struct ena_adapter *adap |
1879 | | | 1879 | |
1880 | /* Reserved the max msix vectors we might need */ | | 1880 | /* Reserved the max msix vectors we might need */ |
1881 | msix_req = ENA_MAX_MSIX_VEC(adapter->num_queues); | | 1881 | msix_req = ENA_MAX_MSIX_VEC(adapter->num_queues); |
1882 | | | 1882 | |
1883 | counts[PCI_INTR_TYPE_INTX] = 0; | | 1883 | counts[PCI_INTR_TYPE_INTX] = 0; |
1884 | counts[PCI_INTR_TYPE_MSI] = 0; | | 1884 | counts[PCI_INTR_TYPE_MSI] = 0; |
1885 | counts[PCI_INTR_TYPE_MSIX] = msix_req; | | 1885 | counts[PCI_INTR_TYPE_MSIX] = msix_req; |
1886 | max_type = PCI_INTR_TYPE_MSIX; | | 1886 | max_type = PCI_INTR_TYPE_MSIX; |
1887 | | | 1887 | |
1888 | if (pci_intr_alloc(&adapter->sc_pa, &adapter->sc_intrs, counts, | | 1888 | if (pci_intr_alloc(&adapter->sc_pa, &adapter->sc_intrs, counts, |
1889 | max_type) != 0) { | | 1889 | max_type) != 0) { |
1890 | aprint_error_dev(adapter->pdev, | | 1890 | aprint_error_dev(adapter->pdev, |
1891 | "failed to allocate interrupt\n"); | | 1891 | "failed to allocate interrupt\n"); |
1892 | return ENOSPC; | | 1892 | return ENOSPC; |
1893 | } | | 1893 | } |
1894 | | | 1894 | |
1895 | adapter->sc_nintrs = counts[PCI_INTR_TYPE_MSIX]; | | 1895 | adapter->sc_nintrs = counts[PCI_INTR_TYPE_MSIX]; |
1896 | | | 1896 | |
1897 | if (counts[PCI_INTR_TYPE_MSIX] != msix_req) { | | 1897 | if (counts[PCI_INTR_TYPE_MSIX] != msix_req) { |
1898 | device_printf(adapter->pdev, | | 1898 | device_printf(adapter->pdev, |
1899 | "Enable only %d MSI-x (out of %d), reduce " | | 1899 | "Enable only %d MSI-x (out of %d), reduce " |
1900 | "the number of queues\n", adapter->sc_nintrs, msix_req); | | 1900 | "the number of queues\n", adapter->sc_nintrs, msix_req); |
1901 | adapter->num_queues = adapter->sc_nintrs - ENA_ADMIN_MSIX_VEC; | | 1901 | adapter->num_queues = adapter->sc_nintrs - ENA_ADMIN_MSIX_VEC; |
1902 | } | | 1902 | } |
1903 | | | 1903 | |
1904 | return 0; | | 1904 | return 0; |
1905 | } | | 1905 | } |
1906 | | | 1906 | |