X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fqede%2Fbase%2Fecore.h;h=6c8e6d40723e8b103cdfe7eb447b067fdbb999cd;hb=34d5e97e8dca3c60f72d6328fe20b8fad35ad586;hp=925b75cb99facdd67bdd435ec1532db19fce95b5;hpb=3b307c55f2ac7f3f4146bd0dc9b474e1f3076f97;p=dpdk.git diff --git a/drivers/net/qede/base/ecore.h b/drivers/net/qede/base/ecore.h index 925b75cb99..6c8e6d4072 100644 --- a/drivers/net/qede/base/ecore.h +++ b/drivers/net/qede/base/ecore.h @@ -24,12 +24,13 @@ #include "ecore_hsi_debug_tools.h" #include "ecore_hsi_init_func.h" #include "ecore_hsi_init_tool.h" +#include "ecore_hsi_func_common.h" #include "ecore_proto_if.h" #include "mcp_public.h" #define ECORE_MAJOR_VERSION 8 #define ECORE_MINOR_VERSION 40 -#define ECORE_REVISION_VERSION 18 +#define ECORE_REVISION_VERSION 26 #define ECORE_ENGINEERING_VERSION 0 #define ECORE_VERSION \ @@ -422,8 +423,8 @@ struct ecore_hw_info { u8 max_chains_per_vf; u32 port_mode; - u32 hw_mode; - unsigned long device_capabilities; + u32 hw_mode; + u32 device_capabilities; /* Default DCBX mode */ u8 dcbx_mode; @@ -575,6 +576,12 @@ enum BAR_ID { BAR_ID_1 /* Used for doorbells */ }; +struct ecore_nvm_image_info { + u32 num_images; + struct bist_nvm_image_att *image_att; + bool valid; +}; + struct ecore_hwfn { struct ecore_dev *p_dev; u8 my_id; /* ID inside the PF */ @@ -671,6 +678,7 @@ struct ecore_hwfn { struct dbg_tools_data dbg_info; void *dbg_user_info; + struct virt_mem_desc dbg_arrays[MAX_BIN_DBG_BUFFER_TYPE]; struct z_stream_s *stream; @@ -699,8 +707,17 @@ struct ecore_hwfn { */ bool b_en_pacing; + /* Nvm images number and attributes */ + struct ecore_nvm_image_info nvm_info; + + struct phys_mem_desc *fw_overlay_mem; + /* @DPDK */ struct ecore_ptt *p_arfs_ptt; + + /* DPDK specific, not the part of vanilla ecore */ + osal_spinlock_t spq_lock; + u32 iov_task_flags; }; enum ecore_mf_mode { @@ -710,26 +727,34 @@ enum ecore_mf_mode { ECORE_MF_UFP, }; -/* @DPDK */ -struct ecore_dbg_feature { - u8 *dump_buf; - u32 buf_size; - u32 dumped_dwords; +enum ecore_dev_type { + ECORE_DEV_TYPE_BB, + ECORE_DEV_TYPE_AH, }; -enum qed_dbg_features { - DBG_FEATURE_BUS, +/* @DPDK */ +enum ecore_dbg_features { DBG_FEATURE_GRC, DBG_FEATURE_IDLE_CHK, DBG_FEATURE_MCP_TRACE, DBG_FEATURE_REG_FIFO, + DBG_FEATURE_IGU_FIFO, DBG_FEATURE_PROTECTION_OVERRIDE, + DBG_FEATURE_FW_ASSERTS, + DBG_FEATURE_ILT, DBG_FEATURE_NUM }; -enum ecore_dev_type { - ECORE_DEV_TYPE_BB, - ECORE_DEV_TYPE_AH, +struct ecore_dbg_feature { + u8 *dump_buf; + u32 buf_size; + u32 dumped_dwords; +}; + +struct ecore_dbg_params { + struct ecore_dbg_feature features[DBG_FEATURE_NUM]; + u8 engine_for_debug; + bool print_data; }; struct ecore_dev { @@ -805,7 +830,7 @@ struct ecore_dev { u8 path_id; - unsigned long mf_bits; + u32 mf_bits; enum ecore_mf_mode mf_mode; #define IS_MF_DEFAULT(_p_hwfn) \ (((_p_hwfn)->p_dev)->mf_mode == ECORE_MF_DEFAULT) @@ -910,10 +935,15 @@ struct ecore_dev { void *firmware; u64 fw_len; #endif + bool disable_ilt_dump; /* @DPDK */ struct ecore_dbg_feature dbg_features[DBG_FEATURE_NUM]; - u8 engine_for_debug; + struct ecore_dbg_params dbg_params; + osal_mutex_t dbg_lock; + + /* DPDK specific ecore field */ + struct rte_pci_device *pci_dev; }; enum ecore_hsi_def_type { @@ -1063,6 +1093,17 @@ enum _ecore_status_t ecore_all_ppfids_wr(struct ecore_hwfn *p_hwfn, enum _ecore_status_t ecore_llh_dump_ppfid(struct ecore_dev *p_dev, u8 ppfid); enum _ecore_status_t ecore_llh_dump_all(struct ecore_dev *p_dev); +/** + * @brief ecore_set_platform_str - Set the debug dump platform string. + * Write the ecore version and device's string to the given buffer. + * + * @param p_hwfn + * @param buf_str + * @param buf_size + */ +void ecore_set_platform_str(struct ecore_hwfn *p_hwfn, + char *buf_str, u32 buf_size); + #define TSTORM_QZONE_START PXP_VF_BAR0_START_SDM_ZONE_A #define MSTORM_QZONE_START(dev) \