/* * aQuantia Corporation Network Driver * Copyright (C) 2014-2017 aQuantia Corporation. All rights reserved * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. */ /* File aq_nic_internal.h: Definition of private object structure. */ #ifndef AQ_NIC_INTERNAL_H #define AQ_NIC_INTERNAL_H struct aq_nic_s { struct aq_obj_s header; struct aq_vec_s *aq_vec[AQ_CFG_VECS_MAX]; struct aq_ring_s *aq_ring_tx[AQ_CFG_VECS_MAX * AQ_CFG_TCS_MAX]; struct aq_hw_s *aq_hw; struct net_device *ndev; struct aq_pci_func_s *aq_pci_func; unsigned int aq_vecs; unsigned int packet_filter; unsigned int power_state; u8 port; struct aq_hw_ops aq_hw_ops; struct aq_hw_caps_s aq_hw_caps; struct aq_nic_cfg_s aq_nic_cfg; struct timer_list service_timer; struct timer_list polling_timer; struct aq_hw_link_status_s link_status; struct { u32 count; u8 ar[AQ_CFG_MULTICAST_ADDRESS_MAX][ETH_ALEN]; } mc_list; }; #define AQ_NIC_FLAGS_IS_NOT_READY (AQ_NIC_FLAG_STOPPING | \ AQ_NIC_FLAG_RESETTING | AQ_NIC_FLAG_CLOSING | \ AQ_NIC_FLAG_ERR_UNPLUG | AQ_NIC_FLAG_ERR_HW) #define AQ_NIC_FLAGS_IS_NOT_TX_READY (AQ_NIC_FLAGS_IS_NOT_READY | \ AQ_NIC_LINK_DOWN) #endif /* AQ_NIC_INTERNAL_H */