X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fionic%2Fionic.h;h=49b90d1b7cc84a935e20d0c53b6969d29da374f3;hb=a9e3a4a9e2dc583d827fbb4c7e427aa5af98281a;hp=a415dd80a316e97a526f908c153c39e2ab1fb7e0;hpb=5ef518098ec6cbed87e84fe3b2d748aa6fda52c1;p=dpdk.git diff --git a/drivers/net/ionic/ionic.h b/drivers/net/ionic/ionic.h index a415dd80a3..49b90d1b7c 100644 --- a/drivers/net/ionic/ionic.h +++ b/drivers/net/ionic/ionic.h @@ -8,6 +8,8 @@ #include #include +#include + #include "ionic_dev.h" #include "ionic_if.h" #include "ionic_osdep.h" @@ -46,14 +48,36 @@ struct ionic_hw { struct ionic_adapter { struct ionic_hw hw; struct ionic_dev idev; + const char *name; struct ionic_dev_bar bars[IONIC_BARS_MAX]; struct ionic_identity ident; + struct ionic_lif *lif; uint32_t num_bars; - bool is_mgmt_nic; + uint32_t max_ntxqs_per_lif; + uint32_t max_nrxqs_per_lif; + uint32_t max_mac_addrs; + uint32_t link_speed; + uint32_t nintrs; + bool intrs[IONIC_INTR_CTRL_REGS_MAX]; + bool link_up; + char fw_version[IONIC_DEVINFO_FWVERS_BUFLEN]; struct rte_pci_device *pci_dev; LIST_ENTRY(ionic_adapter) pci_adapters; }; +/** ionic_admin_ctx - Admin command context. + * @pending_work: Flag that indicates a completion. + * @cmd: Admin command (64B) to be copied to the queue. + * @comp: Admin completion (16B) copied from the queue. + */ +struct ionic_admin_ctx { + bool pending_work; + union ionic_adminq_cmd cmd; + union ionic_adminq_comp comp; +}; + +int ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx); + int ionic_dev_cmd_wait_check(struct ionic_dev *idev, unsigned long max_wait); int ionic_setup(struct ionic_adapter *adapter); @@ -61,4 +85,8 @@ int ionic_identify(struct ionic_adapter *adapter); int ionic_init(struct ionic_adapter *adapter); int ionic_reset(struct ionic_adapter *adapter); +int ionic_port_identify(struct ionic_adapter *adapter); +int ionic_port_init(struct ionic_adapter *adapter); +int ionic_port_reset(struct ionic_adapter *adapter); + #endif /* _IONIC_H_ */