net/mlx4_en: Add support for setting rxvlan offload OFF/ON
[cascardo/linux.git] / drivers / net / ethernet / mellanox / mlx4 / mlx4_en.h
index 8fef658..6beb4d3 100644 (file)
@@ -421,10 +421,16 @@ struct mlx4_en_rss_map {
        enum mlx4_qp_state indir_state;
 };
 
+enum mlx4_en_port_flag {
+       MLX4_EN_PORT_ANC = 1<<0, /* Auto-negotiation complete */
+       MLX4_EN_PORT_ANE = 1<<1, /* Auto-negotiation enabled */
+};
+
 struct mlx4_en_port_state {
        int link_state;
        int link_speed;
-       int transciver;
+       int transceiver;
+       u32 flags;
 };
 
 struct mlx4_en_pkt_stats {
@@ -829,6 +835,13 @@ void mlx4_en_cleanup_filters(struct mlx4_en_priv *priv);
 void mlx4_en_ex_selftest(struct net_device *dev, u32 *flags, u64 *buf);
 void mlx4_en_ptp_overflow_check(struct mlx4_en_dev *mdev);
 
+#define DEV_FEATURE_CHANGED(dev, new_features, feature) \
+       ((dev->features & feature) ^ (new_features & feature))
+
+int mlx4_en_reset_config(struct net_device *dev,
+                        struct hwtstamp_config ts_config,
+                        netdev_features_t new_features);
+
 /*
  * Functions for time stamping
  */
@@ -838,9 +851,6 @@ void mlx4_en_fill_hwtstamps(struct mlx4_en_dev *mdev,
                            u64 timestamp);
 void mlx4_en_init_timestamp(struct mlx4_en_dev *mdev);
 void mlx4_en_remove_timestamp(struct mlx4_en_dev *mdev);
-int mlx4_en_timestamp_config(struct net_device *dev,
-                            int tx_type,
-                            int rx_filter);
 
 /* Globals
  */