net/qede/base: add new files and rearrange the code
[dpdk.git] / drivers / net / qede / base / ecore.h
index 32a3de9..db72f03 100644 (file)
@@ -10,7 +10,9 @@
 #define __ECORE_H
 
 #include "ecore_hsi_common.h"
-#include "ecore_hsi_tools.h"
+#include "ecore_hsi_debug_tools.h"
+#include "ecore_hsi_init_func.h"
+#include "ecore_hsi_init_tool.h"
 #include "ecore_proto_if.h"
 #include "mcp_public.h"
 
@@ -50,6 +52,7 @@ enum ecore_nvm_cmd {
 #ifndef LINUX_REMOVE
 #if !defined(CONFIG_ECORE_L2)
 #define CONFIG_ECORE_L2
+#define CONFIG_ECORE_SRIOV
 #endif
 #endif
 
@@ -79,6 +82,15 @@ static OSAL_INLINE u32 DB_ADDR(u32 cid, u32 DEMS)
        return db_addr;
 }
 
+/* @DPDK: This is a backport from latest ecore for TSS fix */
+static OSAL_INLINE u32 DB_ADDR_VF(u32 cid, u32 DEMS)
+{
+       u32 db_addr = FIELD_VALUE(DB_LEGACY_ADDR_DEMS, DEMS) |
+                     FIELD_VALUE(DB_LEGACY_ADDR_ICID, cid);
+
+       return db_addr;
+}
+
 #define ALIGNED_TYPE_SIZE(type_name, p_hwfn)                             \
        ((sizeof(type_name) + (u32)(1 << (p_hwfn->p_dev->cache_shift)) - 1) & \
         ~((1 << (p_hwfn->p_dev->cache_shift)) - 1))
@@ -151,6 +163,7 @@ struct ecore_dma_mem;
 struct ecore_sb_sp_info;
 struct ecore_igu_info;
 struct ecore_mcp_info;
+struct ecore_dcbx_info;
 
 struct ecore_rt_data {
        u32 *init_val;
@@ -498,6 +511,7 @@ struct ecore_hwfn {
        struct ecore_vf_iov *vf_iov_info;
        struct ecore_pf_iov *pf_iov_info;
        struct ecore_mcp_info *mcp_info;
+       struct ecore_dcbx_info *p_dcbx_info;
 
        struct ecore_hw_cid_data *p_tx_cids;
        struct ecore_hw_cid_data *p_rx_cids;
@@ -544,14 +558,15 @@ struct ecore_dev {
 #define ECORE_DEV_TYPE_AH      (1 << 0)
 /* Translate type/revision combo into the proper conditions */
 #define ECORE_IS_BB(dev)       ((dev)->type == ECORE_DEV_TYPE_BB)
-#define ECORE_IS_BB_A0(dev)    (ECORE_IS_BB(dev) && \
-                                CHIP_REV_IS_A0(dev))
-#define ECORE_IS_BB_B0(dev)    (ECORE_IS_BB(dev) && \
-                                CHIP_REV_IS_B0(dev))
+#define ECORE_IS_BB_A0(dev)    (ECORE_IS_BB(dev) && CHIP_REV_IS_A0(dev))
+#ifndef ASIC_ONLY
+#define ECORE_IS_BB_B0(dev)    ((ECORE_IS_BB(dev) && CHIP_REV_IS_B0(dev)) || \
+                                (CHIP_REV_IS_TEDIBEAR(dev)))
+#else
+#define ECORE_IS_BB_B0(dev)    (ECORE_IS_BB(dev) && CHIP_REV_IS_B0(dev))
+#endif
 #define ECORE_IS_AH(dev)       ((dev)->type == ECORE_DEV_TYPE_AH)
 #define ECORE_IS_K2(dev)       ECORE_IS_AH(dev)
-#define ECORE_GET_TYPE(dev)    (ECORE_IS_BB_A0(dev) ? CHIP_BB_A0 : \
-                                ECORE_IS_BB_B0(dev) ? CHIP_BB_B0 : CHIP_K2)
 
        u16 vendor_id;
        u16 device_id;