]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/ethernet/aquantia/atlantic/aq_nic.h
net: atlantic: loopback tests via private flags
[linux.git] / drivers / net / ethernet / aquantia / atlantic / aq_nic.h
index c2513b79b9e9fc80041138e575ded62fc518a097..bb4957a31498f2b02aa468300a9c94c24d50566d 100644 (file)
@@ -46,6 +46,7 @@ struct aq_nic_cfg_s {
        bool is_polling;
        bool is_rss;
        bool is_lro;
+       u32 priv_flags;
        u8  tcs;
        struct aq_rss_parameters aq_rss;
        u32 eee_speeds;
@@ -60,7 +61,8 @@ struct aq_nic_cfg_s {
 #define AQ_NIC_FLAG_ERR_UNPLUG  0x40000000U
 #define AQ_NIC_FLAG_ERR_HW      0x80000000U
 
-#define AQ_NIC_WOL_ENABLED     BIT(0)
+#define AQ_NIC_WOL_MODES        (WAKE_MAGIC |\
+                                WAKE_PHY)
 
 #define AQ_NIC_TCVEC2RING(_NIC_, _TC_, _VEC_) \
        ((_TC_) * AQ_CFG_TCS_MAX + (_VEC_))
@@ -87,6 +89,7 @@ struct aq_hw_rx_fltrs_s {
 
 struct aq_nic_s {
        atomic_t flags;
+       u32 msg_enable;
        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;
@@ -141,7 +144,8 @@ int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
 int aq_nic_get_regs_count(struct aq_nic_s *self);
 void aq_nic_get_stats(struct aq_nic_s *self, u64 *data);
 int aq_nic_stop(struct aq_nic_s *self);
-void aq_nic_deinit(struct aq_nic_s *self);
+void aq_nic_deinit(struct aq_nic_s *self, bool link_down);
+void aq_nic_set_power(struct aq_nic_s *self);
 void aq_nic_free_hot_resources(struct aq_nic_s *self);
 void aq_nic_free_vectors(struct aq_nic_s *self);
 int aq_nic_set_mtu(struct aq_nic_s *self, int new_mtu);
@@ -155,7 +159,7 @@ int aq_nic_set_link_ksettings(struct aq_nic_s *self,
                              const struct ethtool_link_ksettings *cmd);
 struct aq_nic_cfg_s *aq_nic_get_cfg(struct aq_nic_s *self);
 u32 aq_nic_get_fw_version(struct aq_nic_s *self);
-int aq_nic_change_pm_state(struct aq_nic_s *self, pm_message_t *pm_msg);
+int aq_nic_set_loopback(struct aq_nic_s *self);
 int aq_nic_update_interrupt_moderation_settings(struct aq_nic_s *self);
 void aq_nic_shutdown(struct aq_nic_s *self);
 u8 aq_nic_reserve_filter(struct aq_nic_s *self, enum aq_rx_filter_type type);