1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
2 * Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
11 #include "ionic_dev.h"
13 #include "ionic_osdep.h"
15 #define IONIC_DRV_NAME "ionic"
16 #define IONIC_DRV_DESCRIPTION "Pensando Ethernet NIC Driver"
17 #define IONIC_DRV_VERSION "0.11.0-49"
20 #define IONIC_PENSANDO_VENDOR_ID 0x1dd8
23 #define IONIC_DEV_ID_ETH_PF 0x1002
24 #define IONIC_DEV_ID_ETH_VF 0x1003
25 #define IONIC_DEV_ID_ETH_MGMT 0x1004
28 IONIC_MAC_UNKNOWN = 0,
33 struct ionic_mac_info {
34 enum ionic_mac_type type;
38 struct ionic_mac_info mac;
44 * Structure to store private data for each driver instance (for each adapter).
46 struct ionic_adapter {
48 struct ionic_dev idev;
49 struct ionic_dev_bar bars[IONIC_BARS_MAX];
50 struct ionic_identity ident;
53 struct rte_pci_device *pci_dev;
54 LIST_ENTRY(ionic_adapter) pci_adapters;
57 int ionic_dev_cmd_wait_check(struct ionic_dev *idev, unsigned long max_wait);
58 int ionic_setup(struct ionic_adapter *adapter);
60 int ionic_identify(struct ionic_adapter *adapter);
61 int ionic_init(struct ionic_adapter *adapter);
62 int ionic_reset(struct ionic_adapter *adapter);
64 #endif /* _IONIC_H_ */