net/bnxt: refactor and rename some fields and enums
[dpdk.git] / drivers / net / bnxt / bnxt_cpr.h
index 77a22d2..cccd6cd 100644 (file)
@@ -19,6 +19,10 @@ struct bnxt_db_info;
        (!!(rte_le_to_cpu_32(((struct cmpl_base *)(cmp))->info3_v) &    \
            CMPL_BASE_V) == !(v))
 
+#define NQ_CMP_VALID(nqcmp, raw_cons, ring)            \
+       (!!((nqcmp)->v & rte_cpu_to_le_32(NQ_CN_V)) ==  \
+        !((raw_cons) & ((ring)->ring_size)))
+
 #define CMP_TYPE(cmp)                                          \
        (((struct cmpl_base *)cmp)->type & CMPL_BASE_TYPE_MASK)
 
@@ -60,9 +64,9 @@ struct bnxt_db_info;
                                (cons));                                \
 } while (0)
 #define B_CP_DIS_DB(cpr, raw_cons)                                     \
-       rte_write32((DB_CP_FLAGS |                                      \
-                   RING_CMP(((cpr)->cp_ring_struct), raw_cons)),       \
-                   ((cpr)->cp_db.doorbell))
+       rte_write32_relaxed((DB_CP_FLAGS |                              \
+                           RING_CMP(((cpr)->cp_ring_struct), raw_cons)), \
+                           ((cpr)->cp_db.doorbell))
 
 #define B_CP_DB(cpr, raw_cons, ring_mask)                              \
        rte_write32((DB_CP_FLAGS |                                      \
@@ -70,8 +74,12 @@ struct bnxt_db_info;
                    ((cpr)->cp_db.doorbell))
 
 struct bnxt_db_info {
-       void            *doorbell;
-       uint32_t        db_key32;
+       void                    *doorbell;
+       union {
+               uint64_t        db_key64;
+               uint32_t        db_key32;
+       };
+       bool                    db_64;
 };
 
 struct bnxt_ring;
@@ -98,5 +106,24 @@ struct bnxt;
 void bnxt_handle_async_event(struct bnxt *bp, struct cmpl_base *cmp);
 void bnxt_handle_fwd_req(struct bnxt *bp, struct cmpl_base *cmp);
 int bnxt_event_hwrm_resp_handler(struct bnxt *bp, struct cmpl_base *cmp);
+void bnxt_dev_reset_and_resume(void *arg);
+void bnxt_wait_for_device_shutdown(struct bnxt *bp);
+
+#define EVENT_DATA1_REASON_CODE_FW_EXCEPTION_FATAL     \
+       HWRM_ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_EXCEPTION_FATAL
+#define EVENT_DATA1_REASON_CODE_MASK                   \
+       HWRM_ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_MASK
+
+#define EVENT_DATA1_FLAGS_MASK                         \
+       HWRM_ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_MASK
+
+#define EVENT_DATA1_FLAGS_MASTER_FUNC                  \
+       HWRM_ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_MASTER_FUNC
+
+#define EVENT_DATA1_FLAGS_RECOVERY_ENABLED             \
+       HWRM_ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_RECOVERY_ENABLED
+
+bool bnxt_is_recovery_enabled(struct bnxt *bp);
+bool bnxt_is_master_func(struct bnxt *bp);
 
 #endif