xref: /freebsd/sys/dev/iavf/iavf_drv_info.h (revision 51e235148a4becba94e824a44bd69687644a7f56)
1ca853deeSEric Joyner /* SPDX-License-Identifier: BSD-3-Clause */
2ca853deeSEric Joyner /*  Copyright (c) 2021, Intel Corporation
3ca853deeSEric Joyner  *  All rights reserved.
4ca853deeSEric Joyner  *
5ca853deeSEric Joyner  *  Redistribution and use in source and binary forms, with or without
6ca853deeSEric Joyner  *  modification, are permitted provided that the following conditions are met:
7ca853deeSEric Joyner  *
8ca853deeSEric Joyner  *   1. Redistributions of source code must retain the above copyright notice,
9ca853deeSEric Joyner  *      this list of conditions and the following disclaimer.
10ca853deeSEric Joyner  *
11ca853deeSEric Joyner  *   2. Redistributions in binary form must reproduce the above copyright
12ca853deeSEric Joyner  *      notice, this list of conditions and the following disclaimer in the
13ca853deeSEric Joyner  *      documentation and/or other materials provided with the distribution.
14ca853deeSEric Joyner  *
15ca853deeSEric Joyner  *   3. Neither the name of the Intel Corporation nor the names of its
16ca853deeSEric Joyner  *      contributors may be used to endorse or promote products derived from
17ca853deeSEric Joyner  *      this software without specific prior written permission.
18ca853deeSEric Joyner  *
19ca853deeSEric Joyner  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20ca853deeSEric Joyner  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21ca853deeSEric Joyner  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22ca853deeSEric Joyner  *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23ca853deeSEric Joyner  *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24ca853deeSEric Joyner  *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25ca853deeSEric Joyner  *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26ca853deeSEric Joyner  *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27ca853deeSEric Joyner  *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28ca853deeSEric Joyner  *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29ca853deeSEric Joyner  *  POSSIBILITY OF SUCH DAMAGE.
30ca853deeSEric Joyner  */
31ca853deeSEric Joyner 
32ca853deeSEric Joyner /**
33ca853deeSEric Joyner  * @file iavf_drv_info.h
34ca853deeSEric Joyner  * @brief device IDs and driver version
35ca853deeSEric Joyner  *
36ca853deeSEric Joyner  * Contains the device IDs tables and the driver version string.
37ca853deeSEric Joyner  *
38ca853deeSEric Joyner  * It must be included after iavf_legacy.h or iavf_iflib.h, and is expected to
39ca853deeSEric Joyner  * be included exactly once in the associated if_iavf file. Thus, it does not
40ca853deeSEric Joyner  * have the standard header guard.
41ca853deeSEric Joyner  */
42ca853deeSEric Joyner 
43ca853deeSEric Joyner /**
44ca853deeSEric Joyner  * @var iavf_driver_version
45ca853deeSEric Joyner  * @brief driver version string
46ca853deeSEric Joyner  *
47ca853deeSEric Joyner  * Driver version information, used for display as part of an informational
48ca853deeSEric Joyner  * sysctl.
49ca853deeSEric Joyner  */
50ca853deeSEric Joyner const char iavf_driver_version[] = "3.0.26-k";
51ca853deeSEric Joyner 
52ca853deeSEric Joyner #define PVIDV(vendor, devid, name) \
53ca853deeSEric Joyner 	PVID(vendor, devid, name " - 3.0.26-k")
54ca853deeSEric Joyner #define PVIDV_OEM(vendor, devid, svid, sdevid, revid, name) \
55ca853deeSEric Joyner 	PVID_OEM(vendor, devid, svid, sdevid, revid, name " - 3.0.26-k")
56ca853deeSEric Joyner 
57ca853deeSEric Joyner /**
58ca853deeSEric Joyner  * @var iavf_vendor_info_array
59ca853deeSEric Joyner  * @brief array of PCI devices supported by this driver
60ca853deeSEric Joyner  *
61ca853deeSEric Joyner  * Array of PCI devices which are supported by this driver. Used to determine
62ca853deeSEric Joyner  * whether a given device should be loaded by this driver. This information is
63ca853deeSEric Joyner  * also exported as part of the module information for other tools to analyze.
64ca853deeSEric Joyner  *
65ca853deeSEric Joyner  * @remark Each type of device ID needs to be listed from most-specific entry
66ca853deeSEric Joyner  * to most-generic entry; e.g. PVIDV_OEM()s for a device ID must come before
67ca853deeSEric Joyner  * the PVIDV() for it.
68ca853deeSEric Joyner  */
69*51e23514SMarius Strobl static const pci_vendor_info_t iavf_vendor_info_array[] = {
70ca853deeSEric Joyner 	PVIDV(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_VF,
71ca853deeSEric Joyner 	    "Intel(R) Ethernet Virtual Function 700 Series"),
72ca853deeSEric Joyner 	PVIDV(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_X722_VF,
73ca853deeSEric Joyner 	    "Intel(R) Ethernet Virtual Function 700 Series (X722)"),
74ca853deeSEric Joyner 	PVIDV(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_ADAPTIVE_VF,
75ca853deeSEric Joyner 	    "Intel(R) Ethernet Adaptive Virtual Function"),
76ca853deeSEric Joyner 	PVID_END
77ca853deeSEric Joyner };
78