net/ice/base: move and add some help function and macros
The patch move ice_ilog2 and ice_is_pow2 to ice_type.h, also add help macro ROUND_UP and IS_ETHER_ADDR_EQUAL. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
This commit is contained in:
parent
eda40e22b8
commit
f636f2888c
@ -360,15 +360,6 @@ struct ice_flow_prof_params {
|
||||
ice_declare_bitmap(ptypes, ICE_FLOW_PTYPE_MAX);
|
||||
};
|
||||
|
||||
/**
|
||||
* ice_is_pow2 - check if integer value is a power of 2
|
||||
* @val: unsigned integer to be validated
|
||||
*/
|
||||
static bool ice_is_pow2(u64 val)
|
||||
{
|
||||
return (val && !(val & (val - 1)));
|
||||
}
|
||||
|
||||
#define ICE_FLOW_SEG_HDRS_L2_MASK \
|
||||
(ICE_FLOW_SEG_HDR_ETH | ICE_FLOW_SEG_HDR_VLAN)
|
||||
#define ICE_FLOW_SEG_HDRS_L3_MASK \
|
||||
|
@ -1848,21 +1848,6 @@ static void ice_fill_sw_info(struct ice_hw *hw, struct ice_fltr_info *fi)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_ilog2 - Calculates integer log base 2 of a number
|
||||
* @n: number on which to perform operation
|
||||
*/
|
||||
static int ice_ilog2(u64 n)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 63; i >= 0; i--)
|
||||
if (((u64)1 << i) & n)
|
||||
return i;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* ice_fill_sw_rule - Helper function to fill switch rule structure
|
||||
* @hw: pointer to the hardware structure
|
||||
|
@ -22,6 +22,16 @@
|
||||
#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)
|
||||
@ -36,6 +46,30 @@
|
||||
#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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user