net/ice/base: correct abbreviations
[dpdk.git] / drivers / net / ice / base / ice_type.h
index d8cb8ee..deb614e 100644 (file)
 #define ICE_BYTES_PER_DWORD    4
 #define ICE_MAX_TRAFFIC_CLASS  8
 
+/**
+ * ROUND_UP - round up to next arbitrary multiple (not a power of 2)
+ * @a: value to round up
+ * @b: arbitrary multiple
+ *
+ * Round up to the next multiple of the arbitrary b.
+ * Note, when b is a power of 2 use ICE_ALIGN() instead.
+ */
+#define ROUND_UP(a, b) ((b) * DIVIDE_AND_ROUND_UP((a), (b)))
+
 #define MIN_T(_t, _a, _b)      min((_t)(_a), (_t)(_b))
 
 #define IS_ASCII(_ch)  ((_ch) < 0x80)
 #include "ice_flex_type.h"
 #include "ice_protocol_type.h"
 
+/**
+ * ice_is_pow2 - check if integer value is a power of 2
+ * @val: unsigned integer to be validated
+ */
+static inline bool ice_is_pow2(u64 val)
+{
+       return (val && !(val & (val - 1)));
+}
+
+/**
+ * ice_ilog2 - Calculates integer log base 2 of a number
+ * @n: number on which to perform operation
+ */
+static inline int ice_ilog2(u64 n)
+{
+       int i;
+
+       for (i = 63; i >= 0; i--)
+               if (((u64)1 << i) & n)
+                       return i;
+
+       return -1;
+}
+
 static inline bool ice_is_tc_ena(ice_bitmap_t bitmap, u8 tc)
 {
        return ice_is_bit_set(&bitmap, tc);
@@ -104,6 +138,11 @@ static inline u32 ice_round_to_num(u32 N, u32 R)
 
 
 
+#define IS_ETHER_ADDR_EQUAL(addr1, addr2) \
+       (((bool)((((u16 *)(addr1))[0] == ((u16 *)(addr2))[0]))) && \
+        ((bool)((((u16 *)(addr1))[1] == ((u16 *)(addr2))[1]))) && \
+        ((bool)((((u16 *)(addr1))[2] == ((u16 *)(addr2))[2]))))
+
 enum ice_aq_res_ids {
        ICE_NVM_RES_ID = 1,
        ICE_SPD_RES_ID,
@@ -690,25 +729,6 @@ struct ice_switch_info {
        struct ice_sw_recipe *recp_list;
 };
 
-/* FW logging configuration */
-struct ice_fw_log_evnt {
-       u8 cfg : 4;     /* New event enables to configure */
-       u8 cur : 4;     /* Current/active event enables */
-};
-
-struct ice_fw_log_cfg {
-       u8 cq_en : 1;    /* FW logging is enabled via the control queue */
-       u8 uart_en : 1;  /* FW logging is enabled via UART for all PFs */
-       u8 actv_evnts;   /* Cumulation of currently enabled log events */
-
-#define ICE_FW_LOG_EVNT_INFO   (ICE_AQC_FW_LOG_INFO_EN >> ICE_AQC_FW_LOG_EN_S)
-#define ICE_FW_LOG_EVNT_INIT   (ICE_AQC_FW_LOG_INIT_EN >> ICE_AQC_FW_LOG_EN_S)
-#define ICE_FW_LOG_EVNT_FLOW   (ICE_AQC_FW_LOG_FLOW_EN >> ICE_AQC_FW_LOG_EN_S)
-#define ICE_FW_LOG_EVNT_ERR    (ICE_AQC_FW_LOG_ERR_EN >> ICE_AQC_FW_LOG_EN_S)
-#define ICE_FW_LOG_EVNT_ALL    (ICE_FW_LOG_EVNT_INFO | ICE_FW_LOG_EVNT_INIT | \
-                                ICE_FW_LOG_EVNT_FLOW | ICE_FW_LOG_EVNT_ERR)
-       struct ice_fw_log_evnt evnts[ICE_AQC_FW_LOG_ID_MAX];
-};
 
 /* Port hardware description */
 struct ice_hw {
@@ -767,10 +787,9 @@ struct ice_hw {
        u8 fw_patch;            /* firmware patch version */
        u32 fw_build;           /* firmware build number */
 
-       struct ice_fw_log_cfg fw_log;
 
 /* Device max aggregate bandwidths corresponding to the GL_PWR_MODE_CTL
- * register. Used for determining the itr/intrl granularity during
+ * register. Used for determining the ITR/INTRL granularity during
  * initialization.
  */
 #define ICE_MAX_AGG_BW_200G    0x0
@@ -793,6 +812,9 @@ struct ice_hw {
        /* Active package version (currently active) */
        struct ice_pkg_ver active_pkg_ver;
        u8 active_pkg_name[ICE_PKG_NAME_SIZE];
+       u8 active_pkg_in_nvm;
+
+       enum ice_aq_err pkg_dwnld_status;
 
        /* Driver's package ver - (from the Metadata seg) */
        struct ice_pkg_ver pkg_ver;
@@ -853,6 +875,8 @@ struct ice_eth_stats {
        u64 tx_broadcast;               /* bptc */
        u64 tx_discards;                /* tdpc */
        u64 tx_errors;                  /* tepc */
+       u64 rx_no_desc;                 /* repc */
+       u64 rx_errors;                  /* repc */
 };
 
 #define ICE_MAX_UP     8
@@ -933,9 +957,9 @@ enum ice_sw_fwd_act_type {
 #define ICE_SR_MNG_CFG_PTR                     0x0E
 #define ICE_SR_EMP_MODULE_PTR                  0x0F
 #define ICE_SR_PBA_BLOCK_PTR                   0x16
-#define ICE_SR_BOOT_CFG_PTR                    0x17
+#define ICE_SR_BOOT_CFG_PTR                    0x132
 #define ICE_SR_NVM_WOL_CFG                     0x19
-#define ICE_NVM_OEM_VER_OFF                    0x83
+#define ICE_NVM_OEM_VER_OFF                    0x02
 #define ICE_SR_NVM_DEV_STARTER_VER             0x18
 #define ICE_SR_ALTERNATE_SAN_MAC_ADDR_PTR      0x27
 #define ICE_SR_PERMANENT_SAN_MAC_ADDR_PTR      0x28