Merge remote-tracking branch 'battery/for-next'
[deliverable/linux.git] / drivers / net / ethernet / qlogic / qed / qed.h
index 45ab746765737ae2d9af3d5cb77c5343b9aa0c04..0929582fc82b747fd8609fa29e85691921434836 100644 (file)
 #include <linux/zlib.h>
 #include <linux/hashtable.h>
 #include <linux/qed/qed_if.h>
+#include "qed_debug.h"
 #include "qed_hsi.h"
 
 extern const struct qed_common_ops qed_common_ops_pass;
-#define DRV_MODULE_VERSION "8.7.1.20"
+#define DRV_MODULE_VERSION "8.10.9.20"
 
 #define MAX_HWFNS_PER_DEVICE    (4)
 #define NAME_SIZE 16
@@ -42,6 +43,8 @@ enum qed_coalescing_mode {
 
 struct qed_eth_cb_ops;
 struct qed_dev_info;
+union qed_mcp_protocol_stats;
+enum qed_mcp_protocol_type;
 
 /* helpers */
 static inline u32 qed_db_addr(u32 cid, u32 DEMS)
@@ -393,6 +396,8 @@ struct qed_hwfn {
        /* Buffer for unzipping firmware data */
        void                            *unzip_buf;
 
+       struct dbg_tools_data           dbg_info;
+
        struct qed_simd_fp_handler      simd_proto_handler[64];
 
 #ifdef CONFIG_QED_SRIOV
@@ -428,6 +433,19 @@ struct qed_int_params {
        u8                      fp_msix_cnt;
 };
 
+struct qed_dbg_feature {
+       struct dentry *dentry;
+       u8 *dump_buf;
+       u32 buf_size;
+       u32 dumped_dwords;
+};
+
+struct qed_dbg_params {
+       struct qed_dbg_feature features[DBG_FEATURE_NUM];
+       u8 engine_for_debug;
+       bool print_data;
+};
+
 struct qed_dev {
        u32     dp_module;
        u8      dp_level;
@@ -442,6 +460,8 @@ struct qed_dev {
                                 CHIP_REV_IS_A0(dev))
 #define QED_IS_BB_B0(dev)       (QED_IS_BB(dev) && \
                                 CHIP_REV_IS_B0(dev))
+#define QED_IS_AH(dev)  ((dev)->type == QED_DEV_TYPE_AH)
+#define QED_IS_K2(dev)  QED_IS_AH(dev)
 
 #define QED_GET_TYPE(dev)       (QED_IS_BB_A0(dev) ? CHIP_BB_A0 : \
                                 QED_IS_BB_B0(dev) ? CHIP_BB_B0 : CHIP_K2)
@@ -542,6 +562,8 @@ struct qed_dev {
        } protocol_ops;
        void                            *ops_cookie;
 
+       struct qed_dbg_params           dbg_params;
+
        const struct firmware           *firmware;
 };
 
@@ -606,7 +628,9 @@ void qed_link_update(struct qed_hwfn *hwfn);
 u32 qed_unzip_data(struct qed_hwfn *p_hwfn,
                   u32 input_len, u8 *input_buf,
                   u32 max_size, u8 *unzip_buf);
-
+void qed_get_protocol_stats(struct qed_dev *cdev,
+                           enum qed_mcp_protocol_type type,
+                           union qed_mcp_protocol_stats *stats);
 int qed_slowpath_irq_req(struct qed_hwfn *hwfn);
 
 #endif /* _QED_H */
This page took 0.026268 seconds and 5 git commands to generate.