Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs...
[cascardo/linux.git] / drivers / net / benet / be_cmds.h
index 4f254cf..8148cc6 100644 (file)
@@ -186,12 +186,14 @@ struct be_mcc_mailbox {
 #define OPCODE_COMMON_NTWK_PMAC_ADD                    59
 #define OPCODE_COMMON_NTWK_PMAC_DEL                    60
 #define OPCODE_COMMON_FUNCTION_RESET                   61
+#define OPCODE_COMMON_MANAGE_FAT                       68
 #define OPCODE_COMMON_ENABLE_DISABLE_BEACON            69
 #define OPCODE_COMMON_GET_BEACON_STATE                 70
 #define OPCODE_COMMON_READ_TRANSRECV_DATA              73
 #define OPCODE_COMMON_GET_PHY_DETAILS                  102
 #define OPCODE_COMMON_SET_DRIVER_FUNCTION_CAP          103
 #define OPCODE_COMMON_GET_CNTL_ADDITIONAL_ATTRIBUTES   121
+#define OPCODE_COMMON_WRITE_OBJECT                     172
 
 #define OPCODE_ETH_RSS_CONFIG                          1
 #define OPCODE_ETH_ACPI_CONFIG                         2
@@ -202,6 +204,7 @@ struct be_mcc_mailbox {
 #define OPCODE_ETH_TX_DESTROY                          9
 #define OPCODE_ETH_RX_DESTROY                          10
 #define OPCODE_ETH_ACPI_WOL_MAGIC_CONFIG               12
+#define OPCODE_ETH_GET_PPORT_STATS                     18
 
 #define OPCODE_LOWLEVEL_HOST_DDR_DMA                    17
 #define OPCODE_LOWLEVEL_LOOPBACK_TEST                   18
@@ -380,6 +383,24 @@ struct be_cmd_resp_cq_create {
        u16 rsvd0;
 } __packed;
 
+struct be_cmd_req_get_fat {
+       struct be_cmd_req_hdr hdr;
+       u32 fat_operation;
+       u32 read_log_offset;
+       u32 read_log_length;
+       u32 data_buffer_size;
+       u32 data_buffer[1];
+} __packed;
+
+struct be_cmd_resp_get_fat {
+       struct be_cmd_resp_hdr hdr;
+       u32 log_size;
+       u32 read_log_length;
+       u32 rsvd[2];
+       u32 data_buffer[1];
+} __packed;
+
+
 /******************** Create MCCQ ***************************/
 /* Pseudo amap definition in which each bit of the actual structure is defined
  * as a byte: used to calculate offset/shift/mask of each field */
@@ -549,7 +570,7 @@ struct be_cmd_req_if_destroy {
 };
 
 /*************** HW Stats Get **********************************/
-struct be_port_rxf_stats {
+struct be_port_rxf_stats_v0 {
        u32 rx_bytes_lsd;       /* dword 0*/
        u32 rx_bytes_msd;       /* dword 1*/
        u32 rx_total_frames;    /* dword 2*/
@@ -618,8 +639,8 @@ struct be_port_rxf_stats {
        u32 rx_input_fifo_overflow;     /* dword 65*/
 };
 
-struct be_rxf_stats {
-       struct be_port_rxf_stats port[2];
+struct be_rxf_stats_v0 {
+       struct be_port_rxf_stats_v0 port[2];
        u32 rx_drops_no_pbuf;   /* dword 132*/
        u32 rx_drops_no_txpb;   /* dword 133*/
        u32 rx_drops_no_erx_descr;      /* dword 134*/
@@ -642,36 +663,227 @@ struct be_rxf_stats {
        u32 rsvd1[6];
 };
 
-struct be_erx_stats {
+struct be_erx_stats_v0 {
        u32 rx_drops_no_fragments[44];     /* dwordS 0 to 43*/
-       u32 debug_wdma_sent_hold;          /* dword 44*/
-       u32 debug_wdma_pbfree_sent_hold;   /* dword 45*/
-       u32 debug_wdma_zerobyte_pbfree_sent_hold; /* dword 46*/
-       u32 debug_pmem_pbuf_dealloc;       /* dword 47*/
+       u32 rsvd[4];
 };
 
 struct be_pmem_stats {
        u32 eth_red_drops;
-       u32 rsvd[4];
+       u32 rsvd[5];
 };
 
-struct be_hw_stats {
-       struct be_rxf_stats rxf;
+struct be_hw_stats_v0 {
+       struct be_rxf_stats_v0 rxf;
        u32 rsvd[48];
-       struct be_erx_stats erx;
+       struct be_erx_stats_v0 erx;
        struct be_pmem_stats pmem;
 };
 
-struct be_cmd_req_get_stats {
+struct be_cmd_req_get_stats_v0 {
+       struct be_cmd_req_hdr hdr;
+       u8 rsvd[sizeof(struct be_hw_stats_v0)];
+};
+
+struct be_cmd_resp_get_stats_v0 {
+       struct be_cmd_resp_hdr hdr;
+       struct be_hw_stats_v0 hw_stats;
+};
+
+#define make_64bit_val(hi_32, lo_32)   (((u64)hi_32<<32) | lo_32)
+struct lancer_cmd_pport_stats {
+       u32 tx_packets_lo;
+       u32 tx_packets_hi;
+       u32 tx_unicast_packets_lo;
+       u32 tx_unicast_packets_hi;
+       u32 tx_multicast_packets_lo;
+       u32 tx_multicast_packets_hi;
+       u32 tx_broadcast_packets_lo;
+       u32 tx_broadcast_packets_hi;
+       u32 tx_bytes_lo;
+       u32 tx_bytes_hi;
+       u32 tx_unicast_bytes_lo;
+       u32 tx_unicast_bytes_hi;
+       u32 tx_multicast_bytes_lo;
+       u32 tx_multicast_bytes_hi;
+       u32 tx_broadcast_bytes_lo;
+       u32 tx_broadcast_bytes_hi;
+       u32 tx_discards_lo;
+       u32 tx_discards_hi;
+       u32 tx_errors_lo;
+       u32 tx_errors_hi;
+       u32 tx_pause_frames_lo;
+       u32 tx_pause_frames_hi;
+       u32 tx_pause_on_frames_lo;
+       u32 tx_pause_on_frames_hi;
+       u32 tx_pause_off_frames_lo;
+       u32 tx_pause_off_frames_hi;
+       u32 tx_internal_mac_errors_lo;
+       u32 tx_internal_mac_errors_hi;
+       u32 tx_control_frames_lo;
+       u32 tx_control_frames_hi;
+       u32 tx_packets_64_bytes_lo;
+       u32 tx_packets_64_bytes_hi;
+       u32 tx_packets_65_to_127_bytes_lo;
+       u32 tx_packets_65_to_127_bytes_hi;
+       u32 tx_packets_128_to_255_bytes_lo;
+       u32 tx_packets_128_to_255_bytes_hi;
+       u32 tx_packets_256_to_511_bytes_lo;
+       u32 tx_packets_256_to_511_bytes_hi;
+       u32 tx_packets_512_to_1023_bytes_lo;
+       u32 tx_packets_512_to_1023_bytes_hi;
+       u32 tx_packets_1024_to_1518_bytes_lo;
+       u32 tx_packets_1024_to_1518_bytes_hi;
+       u32 tx_packets_1519_to_2047_bytes_lo;
+       u32 tx_packets_1519_to_2047_bytes_hi;
+       u32 tx_packets_2048_to_4095_bytes_lo;
+       u32 tx_packets_2048_to_4095_bytes_hi;
+       u32 tx_packets_4096_to_8191_bytes_lo;
+       u32 tx_packets_4096_to_8191_bytes_hi;
+       u32 tx_packets_8192_to_9216_bytes_lo;
+       u32 tx_packets_8192_to_9216_bytes_hi;
+       u32 tx_lso_packets_lo;
+       u32 tx_lso_packets_hi;
+       u32 rx_packets_lo;
+       u32 rx_packets_hi;
+       u32 rx_unicast_packets_lo;
+       u32 rx_unicast_packets_hi;
+       u32 rx_multicast_packets_lo;
+       u32 rx_multicast_packets_hi;
+       u32 rx_broadcast_packets_lo;
+       u32 rx_broadcast_packets_hi;
+       u32 rx_bytes_lo;
+       u32 rx_bytes_hi;
+       u32 rx_unicast_bytes_lo;
+       u32 rx_unicast_bytes_hi;
+       u32 rx_multicast_bytes_lo;
+       u32 rx_multicast_bytes_hi;
+       u32 rx_broadcast_bytes_lo;
+       u32 rx_broadcast_bytes_hi;
+       u32 rx_unknown_protos;
+       u32 rsvd_69; /* Word 69 is reserved */
+       u32 rx_discards_lo;
+       u32 rx_discards_hi;
+       u32 rx_errors_lo;
+       u32 rx_errors_hi;
+       u32 rx_crc_errors_lo;
+       u32 rx_crc_errors_hi;
+       u32 rx_alignment_errors_lo;
+       u32 rx_alignment_errors_hi;
+       u32 rx_symbol_errors_lo;
+       u32 rx_symbol_errors_hi;
+       u32 rx_pause_frames_lo;
+       u32 rx_pause_frames_hi;
+       u32 rx_pause_on_frames_lo;
+       u32 rx_pause_on_frames_hi;
+       u32 rx_pause_off_frames_lo;
+       u32 rx_pause_off_frames_hi;
+       u32 rx_frames_too_long_lo;
+       u32 rx_frames_too_long_hi;
+       u32 rx_internal_mac_errors_lo;
+       u32 rx_internal_mac_errors_hi;
+       u32 rx_undersize_packets;
+       u32 rx_oversize_packets;
+       u32 rx_fragment_packets;
+       u32 rx_jabbers;
+       u32 rx_control_frames_lo;
+       u32 rx_control_frames_hi;
+       u32 rx_control_frames_unknown_opcode_lo;
+       u32 rx_control_frames_unknown_opcode_hi;
+       u32 rx_in_range_errors;
+       u32 rx_out_of_range_errors;
+       u32 rx_address_match_errors;
+       u32 rx_vlan_mismatch_errors;
+       u32 rx_dropped_too_small;
+       u32 rx_dropped_too_short;
+       u32 rx_dropped_header_too_small;
+       u32 rx_dropped_invalid_tcp_length;
+       u32 rx_dropped_runt;
+       u32 rx_ip_checksum_errors;
+       u32 rx_tcp_checksum_errors;
+       u32 rx_udp_checksum_errors;
+       u32 rx_non_rss_packets;
+       u32 rsvd_111;
+       u32 rx_ipv4_packets_lo;
+       u32 rx_ipv4_packets_hi;
+       u32 rx_ipv6_packets_lo;
+       u32 rx_ipv6_packets_hi;
+       u32 rx_ipv4_bytes_lo;
+       u32 rx_ipv4_bytes_hi;
+       u32 rx_ipv6_bytes_lo;
+       u32 rx_ipv6_bytes_hi;
+       u32 rx_nic_packets_lo;
+       u32 rx_nic_packets_hi;
+       u32 rx_tcp_packets_lo;
+       u32 rx_tcp_packets_hi;
+       u32 rx_iscsi_packets_lo;
+       u32 rx_iscsi_packets_hi;
+       u32 rx_management_packets_lo;
+       u32 rx_management_packets_hi;
+       u32 rx_switched_unicast_packets_lo;
+       u32 rx_switched_unicast_packets_hi;
+       u32 rx_switched_multicast_packets_lo;
+       u32 rx_switched_multicast_packets_hi;
+       u32 rx_switched_broadcast_packets_lo;
+       u32 rx_switched_broadcast_packets_hi;
+       u32 num_forwards_lo;
+       u32 num_forwards_hi;
+       u32 rx_fifo_overflow;
+       u32 rx_input_fifo_overflow;
+       u32 rx_drops_too_many_frags_lo;
+       u32 rx_drops_too_many_frags_hi;
+       u32 rx_drops_invalid_queue;
+       u32 rsvd_141;
+       u32 rx_drops_mtu_lo;
+       u32 rx_drops_mtu_hi;
+       u32 rx_packets_64_bytes_lo;
+       u32 rx_packets_64_bytes_hi;
+       u32 rx_packets_65_to_127_bytes_lo;
+       u32 rx_packets_65_to_127_bytes_hi;
+       u32 rx_packets_128_to_255_bytes_lo;
+       u32 rx_packets_128_to_255_bytes_hi;
+       u32 rx_packets_256_to_511_bytes_lo;
+       u32 rx_packets_256_to_511_bytes_hi;
+       u32 rx_packets_512_to_1023_bytes_lo;
+       u32 rx_packets_512_to_1023_bytes_hi;
+       u32 rx_packets_1024_to_1518_bytes_lo;
+       u32 rx_packets_1024_to_1518_bytes_hi;
+       u32 rx_packets_1519_to_2047_bytes_lo;
+       u32 rx_packets_1519_to_2047_bytes_hi;
+       u32 rx_packets_2048_to_4095_bytes_lo;
+       u32 rx_packets_2048_to_4095_bytes_hi;
+       u32 rx_packets_4096_to_8191_bytes_lo;
+       u32 rx_packets_4096_to_8191_bytes_hi;
+       u32 rx_packets_8192_to_9216_bytes_lo;
+       u32 rx_packets_8192_to_9216_bytes_hi;
+};
+
+struct pport_stats_params {
+       u16 pport_num;
+       u8 rsvd;
+       u8 reset_stats;
+};
+
+struct lancer_cmd_req_pport_stats {
        struct be_cmd_req_hdr hdr;
-       u8 rsvd[sizeof(struct be_hw_stats)];
+       union {
+               struct pport_stats_params params;
+               u8 rsvd[sizeof(struct lancer_cmd_pport_stats)];
+       } cmd_params;
 };
 
-struct be_cmd_resp_get_stats {
+struct lancer_cmd_resp_pport_stats {
        struct be_cmd_resp_hdr hdr;
-       struct be_hw_stats hw_stats;
+       struct lancer_cmd_pport_stats pport_stats;
 };
 
+static inline  struct lancer_cmd_pport_stats*
+       pport_stats_from_cmd(struct be_adapter *adapter)
+{
+       struct lancer_cmd_resp_pport_stats *cmd = adapter->stats_cmd.va;
+       return &cmd->pport_stats;
+}
+
 struct be_cmd_req_get_cntl_addnl_attribs {
        struct be_cmd_req_hdr hdr;
        u8 rsvd[8];
@@ -695,13 +907,6 @@ struct be_cmd_req_vlan_config {
        u16 normal_vlan[64];
 } __packed;
 
-struct be_cmd_req_promiscuous_config {
-       struct be_cmd_req_hdr hdr;
-       u8 port0_promiscuous;
-       u8 port1_promiscuous;
-       u16 rsvd0;
-} __packed;
-
 /******************** Multicast MAC Config *******************/
 #define BE_MAX_MC              64 /* set mcast promisc if > 64 */
 struct macaddr {
@@ -716,11 +921,18 @@ struct be_cmd_req_mcast_mac_config {
        struct macaddr mac[BE_MAX_MC];
 } __packed;
 
-static inline struct be_hw_stats *
-hw_stats_from_cmd(struct be_cmd_resp_get_stats *cmd)
-{
-       return &cmd->hw_stats;
-}
+/******************* RX FILTER ******************************/
+struct be_cmd_req_rx_filter {
+       struct be_cmd_req_hdr hdr;
+       u32 global_flags_mask;
+       u32 global_flags;
+       u32 if_flags_mask;
+       u32 if_flags;
+       u32 if_id;
+       u32 multicast_num;
+       struct macaddr mac[BE_MAX_MC];
+};
+
 
 /******************** Link Status Query *******************/
 struct be_cmd_req_link_status {
@@ -920,6 +1132,36 @@ struct be_cmd_write_flashrom {
        struct flashrom_params params;
 };
 
+/**************** Lancer Firmware Flash ************/
+struct amap_lancer_write_obj_context {
+       u8 write_length[24];
+       u8 reserved1[7];
+       u8 eof;
+} __packed;
+
+struct lancer_cmd_req_write_object {
+       struct be_cmd_req_hdr hdr;
+       u8 context[sizeof(struct amap_lancer_write_obj_context) / 8];
+       u32 write_offset;
+       u8 object_name[104];
+       u32 descriptor_count;
+       u32 buf_len;
+       u32 addr_low;
+       u32 addr_high;
+};
+
+struct lancer_cmd_resp_write_object {
+       u8 opcode;
+       u8 subsystem;
+       u8 rsvd1[2];
+       u8 status;
+       u8 additional_status;
+       u8 rsvd2[2];
+       u32 resp_len;
+       u32 actual_resp_len;
+       u32 actual_write_len;
+};
+
 /************************ WOL *******************************/
 struct be_cmd_req_acpi_wol_magic_config{
        struct be_cmd_req_hdr hdr;
@@ -1061,6 +1303,151 @@ struct be_cmd_resp_set_func_cap {
        u8 rsvd[212];
 };
 
+/*************** HW Stats Get v1 **********************************/
+#define BE_TXP_SW_SZ                   48
+struct be_port_rxf_stats_v1 {
+       u32 rsvd0[12];
+       u32 rx_crc_errors;
+       u32 rx_alignment_symbol_errors;
+       u32 rx_pause_frames;
+       u32 rx_priority_pause_frames;
+       u32 rx_control_frames;
+       u32 rx_in_range_errors;
+       u32 rx_out_range_errors;
+       u32 rx_frame_too_long;
+       u32 rx_address_match_errors;
+       u32 rx_dropped_too_small;
+       u32 rx_dropped_too_short;
+       u32 rx_dropped_header_too_small;
+       u32 rx_dropped_tcp_length;
+       u32 rx_dropped_runt;
+       u32 rsvd1[10];
+       u32 rx_ip_checksum_errs;
+       u32 rx_tcp_checksum_errs;
+       u32 rx_udp_checksum_errs;
+       u32 rsvd2[7];
+       u32 rx_switched_unicast_packets;
+       u32 rx_switched_multicast_packets;
+       u32 rx_switched_broadcast_packets;
+       u32 rsvd3[3];
+       u32 tx_pauseframes;
+       u32 tx_priority_pauseframes;
+       u32 tx_controlframes;
+       u32 rsvd4[10];
+       u32 rxpp_fifo_overflow_drop;
+       u32 rx_input_fifo_overflow_drop;
+       u32 pmem_fifo_overflow_drop;
+       u32 jabber_events;
+       u32 rsvd5[3];
+};
+
+
+struct be_rxf_stats_v1 {
+       struct be_port_rxf_stats_v1 port[4];
+       u32 rsvd0[2];
+       u32 rx_drops_no_pbuf;
+       u32 rx_drops_no_txpb;
+       u32 rx_drops_no_erx_descr;
+       u32 rx_drops_no_tpre_descr;
+       u32 rsvd1[6];
+       u32 rx_drops_too_many_frags;
+       u32 rx_drops_invalid_ring;
+       u32 forwarded_packets;
+       u32 rx_drops_mtu;
+       u32 rsvd2[14];
+};
+
+struct be_erx_stats_v1 {
+       u32 rx_drops_no_fragments[68];     /* dwordS 0 to 67*/
+       u32 rsvd[4];
+};
+
+struct be_hw_stats_v1 {
+       struct be_rxf_stats_v1 rxf;
+       u32 rsvd0[BE_TXP_SW_SZ];
+       struct be_erx_stats_v1 erx;
+       struct be_pmem_stats pmem;
+       u32 rsvd1[3];
+};
+
+struct be_cmd_req_get_stats_v1 {
+       struct be_cmd_req_hdr hdr;
+       u8 rsvd[sizeof(struct be_hw_stats_v1)];
+};
+
+struct be_cmd_resp_get_stats_v1 {
+       struct be_cmd_resp_hdr hdr;
+       struct be_hw_stats_v1 hw_stats;
+};
+
+static inline void *
+hw_stats_from_cmd(struct be_adapter *adapter)
+{
+       if (adapter->generation == BE_GEN3) {
+               struct be_cmd_resp_get_stats_v1 *cmd = adapter->stats_cmd.va;
+
+               return &cmd->hw_stats;
+       } else {
+               struct be_cmd_resp_get_stats_v0 *cmd = adapter->stats_cmd.va;
+
+               return &cmd->hw_stats;
+       }
+}
+
+static inline void *be_port_rxf_stats_from_cmd(struct be_adapter *adapter)
+{
+       if (adapter->generation == BE_GEN3) {
+               struct be_hw_stats_v1 *hw_stats = hw_stats_from_cmd(adapter);
+               struct be_rxf_stats_v1 *rxf_stats = &hw_stats->rxf;
+
+               return &rxf_stats->port[adapter->port_num];
+       } else {
+               struct be_hw_stats_v0 *hw_stats = hw_stats_from_cmd(adapter);
+               struct be_rxf_stats_v0 *rxf_stats = &hw_stats->rxf;
+
+               return &rxf_stats->port[adapter->port_num];
+       }
+}
+
+static inline void *be_rxf_stats_from_cmd(struct be_adapter *adapter)
+{
+       if (adapter->generation == BE_GEN3) {
+               struct be_hw_stats_v1 *hw_stats = hw_stats_from_cmd(adapter);
+
+               return &hw_stats->rxf;
+       } else {
+               struct be_hw_stats_v0 *hw_stats = hw_stats_from_cmd(adapter);
+
+               return &hw_stats->rxf;
+       }
+}
+
+static inline void *be_erx_stats_from_cmd(struct be_adapter *adapter)
+{
+       if (adapter->generation == BE_GEN3) {
+               struct be_hw_stats_v1 *hw_stats = hw_stats_from_cmd(adapter);
+
+               return &hw_stats->erx;
+       } else {
+               struct be_hw_stats_v0 *hw_stats = hw_stats_from_cmd(adapter);
+
+               return &hw_stats->erx;
+       }
+}
+
+static inline void *be_pmem_stats_from_cmd(struct be_adapter *adapter)
+{
+       if (adapter->generation == BE_GEN3) {
+               struct be_hw_stats_v1 *hw_stats = hw_stats_from_cmd(adapter);
+
+               return &hw_stats->pmem;
+       } else {
+               struct be_hw_stats_v0 *hw_stats = hw_stats_from_cmd(adapter);
+
+               return &hw_stats->pmem;
+       }
+}
+
 extern int be_pci_fnum_get(struct be_adapter *adapter);
 extern int be_cmd_POST(struct be_adapter *adapter);
 extern int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
@@ -1093,18 +1480,19 @@ extern int be_cmd_rxq_create(struct be_adapter *adapter,
 extern int be_cmd_q_destroy(struct be_adapter *adapter, struct be_queue_info *q,
                        int type);
 extern int be_cmd_link_status_query(struct be_adapter *adapter,
-                       bool *link_up, u8 *mac_speed, u16 *link_speed);
+                       bool *link_up, u8 *mac_speed, u16 *link_speed, u32 dom);
 extern int be_cmd_reset(struct be_adapter *adapter);
 extern int be_cmd_get_stats(struct be_adapter *adapter,
                        struct be_dma_mem *nonemb_cmd);
+extern int lancer_cmd_get_pport_stats(struct be_adapter *adapter,
+                       struct be_dma_mem *nonemb_cmd);
 extern int be_cmd_get_fw_ver(struct be_adapter *adapter, char *fw_ver);
 
 extern int be_cmd_modify_eqd(struct be_adapter *adapter, u32 eq_id, u32 eqd);
 extern int be_cmd_vlan_config(struct be_adapter *adapter, u32 if_id,
                        u16 *vtag_array, u32 num, bool untagged,
                        bool promiscuous);
-extern int be_cmd_promiscuous_config(struct be_adapter *adapter,
-                       u8 port_num, bool en);
+extern int be_cmd_promiscuous_config(struct be_adapter *adapter, bool en);
 extern int be_cmd_multicast_set(struct be_adapter *adapter, u32 if_id,
                        struct net_device *netdev, struct be_dma_mem *mem);
 extern int be_cmd_set_flow_control(struct be_adapter *adapter,
@@ -1124,6 +1512,11 @@ extern int be_cmd_get_beacon_state(struct be_adapter *adapter,
 extern int be_cmd_write_flashrom(struct be_adapter *adapter,
                        struct be_dma_mem *cmd, u32 flash_oper,
                        u32 flash_opcode, u32 buf_size);
+extern int lancer_cmd_write_object(struct be_adapter *adapter,
+                               struct be_dma_mem *cmd,
+                               u32 data_size, u32 data_offset,
+                               const char *obj_name,
+                               u32 *data_written, u8 *addn_status);
 int be_cmd_get_flash_crc(struct be_adapter *adapter, u8 *flashed_crc,
                                int offset);
 extern int be_cmd_enable_magic_wol(struct be_adapter *adapter, u8 *mac,
@@ -1148,4 +1541,6 @@ extern void be_detect_dump_ue(struct be_adapter *adapter);
 extern int be_cmd_get_die_temperature(struct be_adapter *adapter);
 extern int be_cmd_get_cntl_attributes(struct be_adapter *adapter);
 extern int be_cmd_check_native_mode(struct be_adapter *adapter);
+extern int be_cmd_get_reg_len(struct be_adapter *adapter, u32 *log_size);
+extern void be_cmd_get_regs(struct be_adapter *adapter, u32 buf_len, void *buf);