Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6
[pandora-kernel.git] / drivers / net / qlcnic / qlcnic.h
index e545450..baf646d 100644 (file)
@@ -36,8 +36,8 @@
 
 #define _QLCNIC_LINUX_MAJOR 5
 #define _QLCNIC_LINUX_MINOR 0
-#define _QLCNIC_LINUX_SUBVERSION 19
-#define QLCNIC_LINUX_VERSIONID  "5.0.19"
+#define _QLCNIC_LINUX_SUBVERSION 21
+#define QLCNIC_LINUX_VERSIONID  "5.0.21"
 #define QLCNIC_DRV_IDC_VER  0x01
 #define QLCNIC_DRIVER_VERSION  ((_QLCNIC_LINUX_MAJOR << 16) |\
                 (_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION))
@@ -782,6 +782,7 @@ struct qlcnic_mac_list_s {
 #define QLCNIC_IP_DOWN         3
 
 #define QLCNIC_ILB_MODE                0x1
+#define QLCNIC_ELB_MODE                0x2
 
 #define QLCNIC_LINKEVENT       0x1
 #define QLCNIC_LB_RESPONSE     0x2
@@ -821,6 +822,7 @@ struct qlcnic_mac_list_s {
 #define QLCNIC_FW_CAPABILITY_BDG               BIT_8
 #define QLCNIC_FW_CAPABILITY_FVLANTX           BIT_9
 #define QLCNIC_FW_CAPABILITY_HW_LRO            BIT_10
+#define QLCNIC_FW_CAPABILITY_MULTI_LOOPBACK    BIT_27
 
 /* module types */
 #define LINKEVENT_MODULE_NOT_PRESENT                   1
@@ -935,6 +937,12 @@ struct qlcnic_ipaddr {
 #define QLCNIC_READD_AGE       20
 #define QLCNIC_LB_MAX_FILTERS  64
 
+/* QLCNIC Driver Error Code */
+#define QLCNIC_FW_NOT_RESPOND          51
+#define QLCNIC_TEST_IN_PROGRESS                52
+#define QLCNIC_UNDEFINED_ERROR         53
+#define QLCNIC_LB_CABLE_NOT_CONN       54
+
 struct qlcnic_filter {
        struct hlist_node fnode;
        u8 faddr[ETH_ALEN];
@@ -1006,7 +1014,7 @@ struct qlcnic_adapter {
        u8 max_mac_filters;
        u8 dev_state;
        u8 diag_test;
-       u8 diag_cnt;
+       char diag_cnt;
        u8 reset_ack_timeo;
        u8 dev_init_timeo;
        u16 msg_enable;
@@ -1014,6 +1022,7 @@ struct qlcnic_adapter {
        u8 mac_addr[ETH_ALEN];
 
        u64 dev_rst_time;
+       u8 mac_learn;
        unsigned long vlans[BITS_TO_LONGS(VLAN_N_VID)];
 
        struct qlcnic_npar_info *npars;
@@ -1330,7 +1339,7 @@ enum op_codes {
 #define QLCNIC_DUMP_SKIP       BIT_7
 
 #define QLCNIC_DUMP_MASK_MIN           3
-#define QLCNIC_DUMP_MASK_DEF           0x7f
+#define QLCNIC_DUMP_MASK_DEF           0x1f
 #define QLCNIC_DUMP_MASK_MAX           0xff
 #define QLCNIC_FORCE_FW_DUMP_KEY       0xdeadfeed
 #define QLCNIC_ENABLE_FW_DUMP          0xaddfeed
@@ -1459,6 +1468,7 @@ netdev_tx_t qlcnic_xmit_frame(struct sk_buff *skb, struct net_device *netdev);
 int qlcnic_validate_max_rss(struct net_device *netdev, u8 max_hw, u8 val);
 int qlcnic_set_max_rss(struct qlcnic_adapter *adapter, u8 data);
 void qlcnic_dev_request_reset(struct qlcnic_adapter *);
+void qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter);
 
 /* Management functions */
 int qlcnic_get_mac_address(struct qlcnic_adapter *, u8*);
@@ -1509,6 +1519,8 @@ static const struct qlcnic_brdinfo qlcnic_boards[] = {
                "NC523SFP 10Gb 2-port Server Adapter"},
        {0x1077, 0x8020, 0x103c, 0x3346,
                "CN1000Q Dual Port Converged Network Adapter"},
+       {0x1077, 0x8020, 0x1077, 0x210,
+               "QME8242-k 10GbE Dual Port Mezzanine Card"},
        {0x1077, 0x8020, 0x0, 0x0, "cLOM8214 1/10GbE Controller"},
 };