fm10k/base: add bit macro
authorXiao Wang <xiao.w.wang@intel.com>
Fri, 19 Feb 2016 11:06:56 +0000 (19:06 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 16 Mar 2016 17:51:44 +0000 (18:51 +0100)
Using the BIT macro can simplify the bit-shifting operation and make the
code look clean. Similar to how this is handled in the i40e base code,
define a macro for it in DPDK, so it can be used here too.

Signed-off-by: Wang Xiao W <xiao.w.wang@intel.com>
Tested-by: Heng Ding <hengx.ding@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
drivers/net/fm10k/base/fm10k_pf.c
drivers/net/fm10k/base/fm10k_tlv.c
drivers/net/fm10k/base/fm10k_type.h

index 3ee88b6..7d48210 100644 (file)
@@ -576,8 +576,8 @@ STATIC s32 fm10k_configure_dglort_map_pf(struct fm10k_hw *hw,
                return FM10K_ERR_PARAM;
 
        /* determine count of VSIs and queues */
-       queue_count = 1 << (dglort->rss_l + dglort->pc_l);
-       vsi_count = 1 << (dglort->vsi_l + dglort->queue_l);
+       queue_count = BIT(dglort->rss_l + dglort->pc_l);
+       vsi_count = BIT(dglort->vsi_l + dglort->queue_l);
        glort = dglort->glort;
        q_idx = dglort->queue_b;
 
@@ -593,8 +593,8 @@ STATIC s32 fm10k_configure_dglort_map_pf(struct fm10k_hw *hw,
        }
 
        /* determine count of PCs and queues */
-       queue_count = 1 << (dglort->queue_l + dglort->rss_l + dglort->vsi_l);
-       pc_count = 1 << dglort->pc_l;
+       queue_count = BIT(dglort->queue_l + dglort->rss_l + dglort->vsi_l);
+       pc_count = BIT(dglort->pc_l);
 
        /* configure PC for Tx queues */
        for (pc = 0; pc < pc_count; pc++) {
@@ -1001,7 +1001,7 @@ STATIC s32 fm10k_iov_reset_resources_pf(struct fm10k_hw *hw,
                return FM10K_ERR_PARAM;
 
        /* clear event notification of VF FLR */
-       FM10K_WRITE_REG(hw, FM10K_PFVFLREC(vf_idx / 32), 1 << (vf_idx % 32));
+       FM10K_WRITE_REG(hw, FM10K_PFVFLREC(vf_idx / 32), BIT(vf_idx % 32));
 
        /* force timeout and then disconnect the mailbox */
        vf_info->mbx.timeout = 0;
@@ -1417,7 +1417,7 @@ s32 fm10k_iov_msg_lport_state_pf(struct fm10k_hw *hw, u32 **results,
                mode = fm10k_iov_supported_xcast_mode_pf(vf_info, mode);
 
                /* if mode is not currently enabled, enable it */
-               if (!(FM10K_VF_FLAG_ENABLED(vf_info) & (1 << mode)))
+               if (!(FM10K_VF_FLAG_ENABLED(vf_info) & BIT(mode)))
                        fm10k_update_xcast_mode_pf(hw, vf_info->glort, mode);
 
                /* swap mode back to a bit flag */
index 4b5f684..b9000ae 100644 (file)
@@ -249,7 +249,7 @@ s32 fm10k_tlv_attr_put_value(u32 *msg, u16 attr_id, s64 value, u32 len)
        attr = &msg[FM10K_TLV_DWORD_LEN(*msg)];
 
        if (len < 4) {
-               attr[1] = (u32)value & ((0x1ul << (8 * len)) - 1);
+               attr[1] = (u32)value & (BIT(8 * len) - 1);
        } else {
                attr[1] = (u32)value;
                if (len > 4)
@@ -699,29 +699,29 @@ STATIC void fm10k_tlv_msg_test_generate_data(u32 *msg, u32 attr_flags)
 {
        DEBUGFUNC("fm10k_tlv_msg_test_generate_data");
 
-       if (attr_flags & (1 << FM10K_TEST_MSG_STRING))
+       if (attr_flags & BIT(FM10K_TEST_MSG_STRING))
                fm10k_tlv_attr_put_null_string(msg, FM10K_TEST_MSG_STRING,
                                               test_str);
-       if (attr_flags & (1 << FM10K_TEST_MSG_MAC_ADDR))
+       if (attr_flags & BIT(FM10K_TEST_MSG_MAC_ADDR))
                fm10k_tlv_attr_put_mac_vlan(msg, FM10K_TEST_MSG_MAC_ADDR,
                                            test_mac, test_vlan);
-       if (attr_flags & (1 << FM10K_TEST_MSG_U8))
+       if (attr_flags & BIT(FM10K_TEST_MSG_U8))
                fm10k_tlv_attr_put_u8(msg, FM10K_TEST_MSG_U8,  test_u8);
-       if (attr_flags & (1 << FM10K_TEST_MSG_U16))
+       if (attr_flags & BIT(FM10K_TEST_MSG_U16))
                fm10k_tlv_attr_put_u16(msg, FM10K_TEST_MSG_U16, test_u16);
-       if (attr_flags & (1 << FM10K_TEST_MSG_U32))
+       if (attr_flags & BIT(FM10K_TEST_MSG_U32))
                fm10k_tlv_attr_put_u32(msg, FM10K_TEST_MSG_U32, test_u32);
-       if (attr_flags & (1 << FM10K_TEST_MSG_U64))
+       if (attr_flags & BIT(FM10K_TEST_MSG_U64))
                fm10k_tlv_attr_put_u64(msg, FM10K_TEST_MSG_U64, test_u64);
-       if (attr_flags & (1 << FM10K_TEST_MSG_S8))
+       if (attr_flags & BIT(FM10K_TEST_MSG_S8))
                fm10k_tlv_attr_put_s8(msg, FM10K_TEST_MSG_S8,  test_s8);
-       if (attr_flags & (1 << FM10K_TEST_MSG_S16))
+       if (attr_flags & BIT(FM10K_TEST_MSG_S16))
                fm10k_tlv_attr_put_s16(msg, FM10K_TEST_MSG_S16, test_s16);
-       if (attr_flags & (1 << FM10K_TEST_MSG_S32))
+       if (attr_flags & BIT(FM10K_TEST_MSG_S32))
                fm10k_tlv_attr_put_s32(msg, FM10K_TEST_MSG_S32, test_s32);
-       if (attr_flags & (1 << FM10K_TEST_MSG_S64))
+       if (attr_flags & BIT(FM10K_TEST_MSG_S64))
                fm10k_tlv_attr_put_s64(msg, FM10K_TEST_MSG_S64, test_s64);
-       if (attr_flags & (1 << FM10K_TEST_MSG_LE_STRUCT))
+       if (attr_flags & BIT(FM10K_TEST_MSG_LE_STRUCT))
                fm10k_tlv_attr_put_le_struct(msg, FM10K_TEST_MSG_LE_STRUCT,
                                             test_le, 8);
 }
index 4ec18fb..98dbf6f 100644 (file)
@@ -50,6 +50,12 @@ struct fm10k_hw;
 #define FM10K_DEV_ID_SDI_FM10420_DA2   0x15D5
 #endif /* ATWOOD_CHANNEL_HW */
 
+#ifndef LINUX_MACROS
+#ifndef BIT
+#define BIT(a) (1UL << (a))
+#endif
+#endif /* LINUX_MACROS */
+
 #define FM10K_MAX_QUEUES               256
 #define FM10K_MAX_QUEUES_PF            128
 #define FM10K_MAX_QUEUES_POOL          16
@@ -465,7 +471,7 @@ struct fm10k_hw;
 #define FM10K_VLAN_TABLE_VID_MAX               4096
 #define FM10K_VLAN_TABLE_VSI_MAX               64
 #define FM10K_VLAN_LENGTH_SHIFT                        16
-#define FM10K_VLAN_CLEAR                       (1 << 15)
+#define FM10K_VLAN_CLEAR                       BIT(15)
 #define FM10K_VLAN_ALL \
        ((FM10K_VLAN_TABLE_VID_MAX - 1) << FM10K_VLAN_LENGTH_SHIFT)
 
@@ -763,10 +769,10 @@ struct fm10k_vf_info {
                                                 */
 };
 
-#define FM10K_VF_FLAG_ALLMULTI_CAPABLE ((u8)1 << FM10K_XCAST_MODE_ALLMULTI)
-#define FM10K_VF_FLAG_MULTI_CAPABLE    ((u8)1 << FM10K_XCAST_MODE_MULTI)
-#define FM10K_VF_FLAG_PROMISC_CAPABLE  ((u8)1 << FM10K_XCAST_MODE_PROMISC)
-#define FM10K_VF_FLAG_NONE_CAPABLE     ((u8)1 << FM10K_XCAST_MODE_NONE)
+#define FM10K_VF_FLAG_ALLMULTI_CAPABLE (u8)(BIT(FM10K_XCAST_MODE_ALLMULTI))
+#define FM10K_VF_FLAG_MULTI_CAPABLE    (u8)(BIT(FM10K_XCAST_MODE_MULTI))
+#define FM10K_VF_FLAG_PROMISC_CAPABLE  (u8)(BIT(FM10K_XCAST_MODE_PROMISC))
+#define FM10K_VF_FLAG_NONE_CAPABLE     (u8)(BIT(FM10K_XCAST_MODE_NONE))
 #define FM10K_VF_FLAG_CAPABLE(vf_info) ((vf_info)->vf_flags & (u8)0xF)
 #define FM10K_VF_FLAG_ENABLED(vf_info) ((vf_info)->vf_flags >> 4)
 #define FM10K_VF_FLAG_SET_MODE(mode)   ((u8)0x10 << (mode))
@@ -817,7 +823,7 @@ struct fm10k_hw {
        u16 subsystem_vendor_id;
        u8 revision_id;
        u32 flags;
-#define FM10K_HW_FLAG_CLOCK_OWNER      (u32)(1 << 0)
+#define FM10K_HW_FLAG_CLOCK_OWNER      BIT(0)
 };
 
 /* Number of Transmit and Receive Descriptors must be a multiple of 8 */