net/mlx4_en: fix sparse warning on a cast which truncates bits from constant value
[firefly-linux-kernel-4.4.55.git] / drivers / net / ethernet / mellanox / mlx4 / mlx4_en.h
index 115784da8efa1ede52440fe3839f1e61cf011246..d2dd97fa091fbee1c731a2f04f86113fe879bfa3 100644 (file)
@@ -51,8 +51,8 @@
 #include "en_port.h"
 
 #define DRV_NAME       "mlx4_en"
-#define DRV_VERSION    "1.5.4.1"
-#define DRV_RELDATE    "March 2011"
+#define DRV_VERSION    "1.5.4.2"
+#define DRV_RELDATE    "October 2011"
 
 #define MLX4_EN_MSG_LEVEL      (NETIF_MSG_LINK | NETIF_MSG_IFDOWN)
 
@@ -249,6 +249,7 @@ struct mlx4_en_tx_ring {
        struct mlx4_srq dummy;
        unsigned long bytes;
        unsigned long packets;
+       unsigned long tx_csum;
        spinlock_t comp_lock;
        struct mlx4_bf bf;
        bool bf_enabled;
@@ -271,10 +272,13 @@ struct mlx4_en_rx_ring {
        u32 prod;
        u32 cons;
        u32 buf_size;
+       u8  fcs_del;
        void *buf;
        void *rx_info;
        unsigned long bytes;
        unsigned long packets;
+       unsigned long csum_ok;
+       unsigned long csum_none;
 };
 
 
@@ -362,16 +366,6 @@ struct mlx4_en_rss_map {
        enum mlx4_qp_state indir_state;
 };
 
-struct mlx4_en_rss_context {
-       __be32 base_qpn;
-       __be32 default_qpn;
-       u16 reserved;
-       u8 hash_fn;
-       u8 flags;
-       __be32 rss_key[10];
-       __be32 base_qpn_udp;
-};
-
 struct mlx4_en_port_state {
        int link_state;
        int link_speed;
@@ -426,11 +420,11 @@ struct mlx4_en_priv {
        struct mlx4_en_port_state port_state;
        spinlock_t stats_lock;
 
-       unsigned long last_moder_packets;
+       unsigned long last_moder_packets[MAX_RX_RINGS];
        unsigned long last_moder_tx_packets;
-       unsigned long last_moder_bytes;
+       unsigned long last_moder_bytes[MAX_RX_RINGS];
        unsigned long last_moder_jiffies;
-       int last_moder_time;
+       int last_moder_time[MAX_RX_RINGS];
        u16 rx_usecs;
        u16 rx_frames;
        u16 tx_usecs;
@@ -491,9 +485,9 @@ struct mlx4_en_priv {
 enum mlx4_en_wol {
        MLX4_EN_WOL_MAGIC = (1ULL << 61),
        MLX4_EN_WOL_ENABLED = (1ULL << 62),
-       MLX4_EN_WOL_DO_MODIFY = (1ULL << 63),
 };
 
+#define MLX4_EN_WOL_DO_MODIFY (1ULL << 63)
 
 void mlx4_en_destroy_netdev(struct net_device *dev);
 int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
@@ -502,13 +496,12 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
 int mlx4_en_start_port(struct net_device *dev);
 void mlx4_en_stop_port(struct net_device *dev);
 
-void mlx4_en_free_resources(struct mlx4_en_priv *priv, bool reserve_vectors);
+void mlx4_en_free_resources(struct mlx4_en_priv *priv);
 int mlx4_en_alloc_resources(struct mlx4_en_priv *priv);
 
 int mlx4_en_create_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq,
                      int entries, int ring, enum cq_type mode);
-void mlx4_en_destroy_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq,
-                       bool reserve_vectors);
+void mlx4_en_destroy_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq);
 int mlx4_en_activate_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq,
                        int cq_idx);
 void mlx4_en_deactivate_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq);
@@ -579,8 +572,9 @@ extern const struct ethtool_ops mlx4_en_ethtool_ops;
  * printk / logging functions
  */
 
+__printf(3, 4)
 int en_print(const char *level, const struct mlx4_en_priv *priv,
-            const char *format, ...) __attribute__ ((format (printf, 3, 4)));
+            const char *format, ...);
 
 #define en_dbg(mlevel, priv, format, arg...)                   \
 do {                                                           \