aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2x_hsi.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bnx2x_hsi.h')
-rw-r--r--drivers/net/bnx2x_hsi.h174
1 files changed, 91 insertions, 83 deletions
diff --git a/drivers/net/bnx2x_hsi.h b/drivers/net/bnx2x_hsi.h
index efd764427fa1..c41682353050 100644
--- a/drivers/net/bnx2x_hsi.h
+++ b/drivers/net/bnx2x_hsi.h
@@ -1212,8 +1212,9 @@ struct host_func_stats {
1212 1212
1213 1213
1214#define BCM_5710_FW_MAJOR_VERSION 4 1214#define BCM_5710_FW_MAJOR_VERSION 4
1215#define BCM_5710_FW_MINOR_VERSION 5 1215#define BCM_5710_FW_MINOR_VERSION 8
1216#define BCM_5710_FW_REVISION_VERSION 1 1216#define BCM_5710_FW_REVISION_VERSION 53
1217#define BCM_5710_FW_ENGINEERING_VERSION 0
1217#define BCM_5710_FW_COMPILE_FLAGS 1 1218#define BCM_5710_FW_COMPILE_FLAGS 1
1218 1219
1219 1220
@@ -1465,9 +1466,11 @@ struct ustorm_eth_st_context_config {
1465#endif 1466#endif
1466#if defined(__BIG_ENDIAN) 1467#if defined(__BIG_ENDIAN)
1467 u16 bd_buff_size; 1468 u16 bd_buff_size;
1468 u16 mc_alignment_size; 1469 u8 statistics_counter_id;
1470 u8 mc_alignment_log_size;
1469#elif defined(__LITTLE_ENDIAN) 1471#elif defined(__LITTLE_ENDIAN)
1470 u16 mc_alignment_size; 1472 u8 mc_alignment_log_size;
1473 u8 statistics_counter_id;
1471 u16 bd_buff_size; 1474 u16 bd_buff_size;
1472#endif 1475#endif
1473#if defined(__BIG_ENDIAN) 1476#if defined(__BIG_ENDIAN)
@@ -1479,13 +1482,7 @@ struct ustorm_eth_st_context_config {
1479 u8 __local_bd_prod; 1482 u8 __local_bd_prod;
1480 u8 __local_sge_prod; 1483 u8 __local_sge_prod;
1481#endif 1484#endif
1482#if defined(__BIG_ENDIAN) 1485 u32 reserved;
1483 u16 __bd_cons;
1484 u16 __sge_cons;
1485#elif defined(__LITTLE_ENDIAN)
1486 u16 __sge_cons;
1487 u16 __bd_cons;
1488#endif
1489 u32 bd_page_base_lo; 1486 u32 bd_page_base_lo;
1490 u32 bd_page_base_hi; 1487 u32 bd_page_base_hi;
1491 u32 sge_page_base_lo; 1488 u32 sge_page_base_lo;
@@ -2162,9 +2159,9 @@ struct host_status_block {
2162 * The data for RSS setup ramrod 2159 * The data for RSS setup ramrod
2163 */ 2160 */
2164struct eth_client_setup_ramrod_data { 2161struct eth_client_setup_ramrod_data {
2165 u32 client_id_5b; 2162 u32 client_id;
2166 u8 is_rdma_1b; 2163 u8 is_rdma;
2167 u8 reserved0; 2164 u8 is_fcoe;
2168 u16 reserved1; 2165 u16 reserved1;
2169}; 2166};
2170 2167
@@ -2225,7 +2222,7 @@ struct eth_fast_path_rx_cqe {
2225 * The data for RSS setup ramrod 2222 * The data for RSS setup ramrod
2226 */ 2223 */
2227struct eth_halt_ramrod_data { 2224struct eth_halt_ramrod_data {
2228 u32 client_id_5b; 2225 u32 client_id;
2229 u32 reserved0; 2226 u32 reserved0;
2230}; 2227};
2231 2228
@@ -2236,11 +2233,11 @@ struct eth_halt_ramrod_data {
2236struct eth_query_ramrod_data { 2233struct eth_query_ramrod_data {
2237#if defined(__BIG_ENDIAN) 2234#if defined(__BIG_ENDIAN)
2238 u8 reserved0; 2235 u8 reserved0;
2239 u8 collect_port_1b; 2236 u8 collect_port;
2240 u16 drv_counter; 2237 u16 drv_counter;
2241#elif defined(__LITTLE_ENDIAN) 2238#elif defined(__LITTLE_ENDIAN)
2242 u16 drv_counter; 2239 u16 drv_counter;
2243 u8 collect_port_1b; 2240 u8 collect_port;
2244 u8 reserved0; 2241 u8 reserved0;
2245#endif 2242#endif
2246 u32 ctr_id_vector; 2243 u32 ctr_id_vector;
@@ -2282,7 +2279,7 @@ struct common_ramrod_eth_rx_cqe {
2282#define COMMON_RAMROD_ETH_RX_CQE_TYPE_SHIFT 0 2279#define COMMON_RAMROD_ETH_RX_CQE_TYPE_SHIFT 0
2283#define COMMON_RAMROD_ETH_RX_CQE_RESERVED0 (0x7F<<1) 2280#define COMMON_RAMROD_ETH_RX_CQE_RESERVED0 (0x7F<<1)
2284#define COMMON_RAMROD_ETH_RX_CQE_RESERVED0_SHIFT 1 2281#define COMMON_RAMROD_ETH_RX_CQE_RESERVED0_SHIFT 1
2285 u8 conn_type_3b; 2282 u8 conn_type;
2286 u16 reserved1; 2283 u16 reserved1;
2287 u32 conn_and_cmd_data; 2284 u32 conn_and_cmd_data;
2288#define COMMON_RAMROD_ETH_RX_CQE_CID (0xFFFFFF<<0) 2285#define COMMON_RAMROD_ETH_RX_CQE_CID (0xFFFFFF<<0)
@@ -2377,14 +2374,16 @@ struct tstorm_eth_function_common_config {
2377#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_CAPABILITY_SHIFT 2 2374#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_CAPABILITY_SHIFT 2
2378#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY (0x1<<3) 2375#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY (0x1<<3)
2379#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY_SHIFT 3 2376#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY_SHIFT 3
2380#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_ENABLE (0x1<<4) 2377#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_MODE (0x7<<4)
2381#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_ENABLE_SHIFT 4 2378#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_MODE_SHIFT 4
2382#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_DEFAULT_ENABLE (0x1<<5) 2379#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_DEFAULT_ENABLE (0x1<<7)
2383#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_DEFAULT_ENABLE_SHIFT 5 2380#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_DEFAULT_ENABLE_SHIFT 7
2384#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_VLAN_IN_CAM (0x1<<6) 2381#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_VLAN_IN_CAM (0x1<<8)
2385#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_VLAN_IN_CAM_SHIFT 6 2382#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_VLAN_IN_CAM_SHIFT 8
2386#define __TSTORM_ETH_FUNCTION_COMMON_CONFIG_RESERVED0 (0x1FF<<7) 2383#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_E1HOV_IN_CAM (0x1<<9)
2387#define __TSTORM_ETH_FUNCTION_COMMON_CONFIG_RESERVED0_SHIFT 7 2384#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_E1HOV_IN_CAM_SHIFT 9
2385#define __TSTORM_ETH_FUNCTION_COMMON_CONFIG_RESERVED0 (0x3F<<10)
2386#define __TSTORM_ETH_FUNCTION_COMMON_CONFIG_RESERVED0_SHIFT 10
2388#elif defined(__LITTLE_ENDIAN) 2387#elif defined(__LITTLE_ENDIAN)
2389 u16 config_flags; 2388 u16 config_flags;
2390#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV4_CAPABILITY (0x1<<0) 2389#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV4_CAPABILITY (0x1<<0)
@@ -2395,14 +2394,16 @@ struct tstorm_eth_function_common_config {
2395#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_CAPABILITY_SHIFT 2 2394#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_CAPABILITY_SHIFT 2
2396#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY (0x1<<3) 2395#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY (0x1<<3)
2397#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY_SHIFT 3 2396#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY_SHIFT 3
2398#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_ENABLE (0x1<<4) 2397#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_MODE (0x7<<4)
2399#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_ENABLE_SHIFT 4 2398#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_MODE_SHIFT 4
2400#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_DEFAULT_ENABLE (0x1<<5) 2399#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_DEFAULT_ENABLE (0x1<<7)
2401#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_DEFAULT_ENABLE_SHIFT 5 2400#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_DEFAULT_ENABLE_SHIFT 7
2402#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_VLAN_IN_CAM (0x1<<6) 2401#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_VLAN_IN_CAM (0x1<<8)
2403#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_VLAN_IN_CAM_SHIFT 6 2402#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_VLAN_IN_CAM_SHIFT 8
2404#define __TSTORM_ETH_FUNCTION_COMMON_CONFIG_RESERVED0 (0x1FF<<7) 2403#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_E1HOV_IN_CAM (0x1<<9)
2405#define __TSTORM_ETH_FUNCTION_COMMON_CONFIG_RESERVED0_SHIFT 7 2404#define TSTORM_ETH_FUNCTION_COMMON_CONFIG_E1HOV_IN_CAM_SHIFT 9
2405#define __TSTORM_ETH_FUNCTION_COMMON_CONFIG_RESERVED0 (0x3F<<10)
2406#define __TSTORM_ETH_FUNCTION_COMMON_CONFIG_RESERVED0_SHIFT 10
2406 u8 rss_result_mask; 2407 u8 rss_result_mask;
2407 u8 leading_client_id; 2408 u8 leading_client_id;
2408#endif 2409#endif
@@ -2422,7 +2423,7 @@ struct eth_update_ramrod_data {
2422 * MAC filtering configuration command header 2423 * MAC filtering configuration command header
2423 */ 2424 */
2424struct mac_configuration_hdr { 2425struct mac_configuration_hdr {
2425 u8 length_6b; 2426 u8 length;
2426 u8 offset; 2427 u8 offset;
2427 u16 client_id; 2428 u16 client_id;
2428 u32 reserved1; 2429 u32 reserved1;
@@ -2544,24 +2545,28 @@ struct tstorm_eth_client_config {
2544#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED1 (0xFFF<<4) 2545#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED1 (0xFFF<<4)
2545#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED1_SHIFT 4 2546#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED1_SHIFT 4
2546 u16 config_flags; 2547 u16 config_flags;
2547#define TSTORM_ETH_CLIENT_CONFIG_VLAN_REMOVAL_ENABLE (0x1<<0) 2548#define TSTORM_ETH_CLIENT_CONFIG_VLAN_REM_ENABLE (0x1<<0)
2548#define TSTORM_ETH_CLIENT_CONFIG_VLAN_REMOVAL_ENABLE_SHIFT 0 2549#define TSTORM_ETH_CLIENT_CONFIG_VLAN_REM_ENABLE_SHIFT 0
2549#define TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE (0x1<<1) 2550#define TSTORM_ETH_CLIENT_CONFIG_E1HOV_REM_ENABLE (0x1<<1)
2550#define TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE_SHIFT 1 2551#define TSTORM_ETH_CLIENT_CONFIG_E1HOV_REM_ENABLE_SHIFT 1
2551#define TSTORM_ETH_CLIENT_CONFIG_ENABLE_SGE_RING (0x1<<2) 2552#define TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE (0x1<<2)
2552#define TSTORM_ETH_CLIENT_CONFIG_ENABLE_SGE_RING_SHIFT 2 2553#define TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE_SHIFT 2
2553#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED0 (0x1FFF<<3) 2554#define TSTORM_ETH_CLIENT_CONFIG_ENABLE_SGE_RING (0x1<<3)
2554#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED0_SHIFT 3 2555#define TSTORM_ETH_CLIENT_CONFIG_ENABLE_SGE_RING_SHIFT 3
2556#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED0 (0xFFF<<4)
2557#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED0_SHIFT 4
2555#elif defined(__LITTLE_ENDIAN) 2558#elif defined(__LITTLE_ENDIAN)
2556 u16 config_flags; 2559 u16 config_flags;
2557#define TSTORM_ETH_CLIENT_CONFIG_VLAN_REMOVAL_ENABLE (0x1<<0) 2560#define TSTORM_ETH_CLIENT_CONFIG_VLAN_REM_ENABLE (0x1<<0)
2558#define TSTORM_ETH_CLIENT_CONFIG_VLAN_REMOVAL_ENABLE_SHIFT 0 2561#define TSTORM_ETH_CLIENT_CONFIG_VLAN_REM_ENABLE_SHIFT 0
2559#define TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE (0x1<<1) 2562#define TSTORM_ETH_CLIENT_CONFIG_E1HOV_REM_ENABLE (0x1<<1)
2560#define TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE_SHIFT 1 2563#define TSTORM_ETH_CLIENT_CONFIG_E1HOV_REM_ENABLE_SHIFT 1
2561#define TSTORM_ETH_CLIENT_CONFIG_ENABLE_SGE_RING (0x1<<2) 2564#define TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE (0x1<<2)
2562#define TSTORM_ETH_CLIENT_CONFIG_ENABLE_SGE_RING_SHIFT 2 2565#define TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE_SHIFT 2
2563#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED0 (0x1FFF<<3) 2566#define TSTORM_ETH_CLIENT_CONFIG_ENABLE_SGE_RING (0x1<<3)
2564#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED0_SHIFT 3 2567#define TSTORM_ETH_CLIENT_CONFIG_ENABLE_SGE_RING_SHIFT 3
2568#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED0 (0xFFF<<4)
2569#define __TSTORM_ETH_CLIENT_CONFIG_RESERVED0_SHIFT 4
2565 u16 drop_flags; 2570 u16 drop_flags;
2566#define TSTORM_ETH_CLIENT_CONFIG_DROP_IP_CS_ERR (0x1<<0) 2571#define TSTORM_ETH_CLIENT_CONFIG_DROP_IP_CS_ERR (0x1<<0)
2567#define TSTORM_ETH_CLIENT_CONFIG_DROP_IP_CS_ERR_SHIFT 0 2572#define TSTORM_ETH_CLIENT_CONFIG_DROP_IP_CS_ERR_SHIFT 0
@@ -2594,9 +2599,26 @@ struct tstorm_eth_mac_filter_config {
2594 2599
2595 2600
2596/* 2601/*
2602 * common flag to indicate existance of TPA.
2603 */
2604struct tstorm_eth_tpa_exist {
2605#if defined(__BIG_ENDIAN)
2606 u16 reserved1;
2607 u8 reserved0;
2608 u8 tpa_exist;
2609#elif defined(__LITTLE_ENDIAN)
2610 u8 tpa_exist;
2611 u8 reserved0;
2612 u16 reserved1;
2613#endif
2614 u32 reserved2;
2615};
2616
2617
2618/*
2597 * Three RX producers for ETH 2619 * Three RX producers for ETH
2598 */ 2620 */
2599struct tstorm_eth_rx_producers { 2621struct ustorm_eth_rx_producers {
2600#if defined(__BIG_ENDIAN) 2622#if defined(__BIG_ENDIAN)
2601 u16 bd_prod; 2623 u16 bd_prod;
2602 u16 cqe_prod; 2624 u16 cqe_prod;
@@ -2615,23 +2637,6 @@ struct tstorm_eth_rx_producers {
2615 2637
2616 2638
2617/* 2639/*
2618 * common flag to indicate existence of TPA.
2619 */
2620struct tstorm_eth_tpa_exist {
2621#if defined(__BIG_ENDIAN)
2622 u16 reserved1;
2623 u8 reserved0;
2624 u8 tpa_exist;
2625#elif defined(__LITTLE_ENDIAN)
2626 u8 tpa_exist;
2627 u8 reserved0;
2628 u16 reserved1;
2629#endif
2630 u32 reserved2;
2631};
2632
2633
2634/*
2635 * per-port SAFC demo variables 2640 * per-port SAFC demo variables
2636 */ 2641 */
2637struct cmng_flags_per_port { 2642struct cmng_flags_per_port {
@@ -2674,15 +2679,15 @@ struct fairness_vars_per_port {
2674 */ 2679 */
2675struct safc_struct_per_port { 2680struct safc_struct_per_port {
2676#if defined(__BIG_ENDIAN) 2681#if defined(__BIG_ENDIAN)
2677 u16 __reserved0; 2682 u16 __reserved1;
2678 u8 cur_cos_types; 2683 u8 __reserved0;
2679 u8 safc_timeout_usec; 2684 u8 safc_timeout_usec;
2680#elif defined(__LITTLE_ENDIAN) 2685#elif defined(__LITTLE_ENDIAN)
2681 u8 safc_timeout_usec; 2686 u8 safc_timeout_usec;
2682 u8 cur_cos_types; 2687 u8 __reserved0;
2683 u16 __reserved0; 2688 u16 __reserved1;
2684#endif 2689#endif
2685 u8 cos_to_protocol[MAX_COS_NUMBER]; 2690 u16 cos_to_pause_mask[NUM_OF_SAFC_BITS];
2686}; 2691};
2687 2692
2688 2693
@@ -2788,13 +2793,15 @@ struct fairness_vars_per_vn {
2788 */ 2793 */
2789struct fw_version { 2794struct fw_version {
2790#if defined(__BIG_ENDIAN) 2795#if defined(__BIG_ENDIAN)
2791 u16 patch; 2796 u8 engineering;
2792 u8 primary; 2797 u8 revision;
2793 u8 client; 2798 u8 minor;
2799 u8 major;
2794#elif defined(__LITTLE_ENDIAN) 2800#elif defined(__LITTLE_ENDIAN)
2795 u8 client; 2801 u8 major;
2796 u8 primary; 2802 u8 minor;
2797 u16 patch; 2803 u8 revision;
2804 u8 engineering;
2798#endif 2805#endif
2799 u32 flags; 2806 u32 flags;
2800#define FW_VERSION_OPTIMIZED (0x1<<0) 2807#define FW_VERSION_OPTIMIZED (0x1<<0)
@@ -2812,9 +2819,10 @@ struct fw_version {
2812 * FW version stored in first line of pram 2819 * FW version stored in first line of pram
2813 */ 2820 */
2814struct pram_fw_version { 2821struct pram_fw_version {
2815 u8 client; 2822 u8 major;
2816 u8 primary; 2823 u8 minor;
2817 u16 patch; 2824 u8 revision;
2825 u8 engineering;
2818 u8 flags; 2826 u8 flags;
2819#define PRAM_FW_VERSION_OPTIMIZED (0x1<<0) 2827#define PRAM_FW_VERSION_OPTIMIZED (0x1<<0)
2820#define PRAM_FW_VERSION_OPTIMIZED_SHIFT 0 2828#define PRAM_FW_VERSION_OPTIMIZED_SHIFT 0