Lines Matching refs:bits

24 #define BITMASK(bits)		(BIT(bits) - 1)  argument
128 static inline int cpsw_ale_get_field(u32 *ale_entry, u32 start, u32 bits) in cpsw_ale_get_field() argument
134 idx2 = (start + bits - 1) / 32; in cpsw_ale_get_field()
142 return (hi_val + (ale_entry[idx] >> start)) & BITMASK(bits); in cpsw_ale_get_field()
145 static inline void cpsw_ale_set_field(u32 *ale_entry, u32 start, u32 bits, in cpsw_ale_set_field() argument
150 value &= BITMASK(bits); in cpsw_ale_set_field()
152 idx2 = (start + bits - 1) / 32; in cpsw_ale_set_field()
156 ale_entry[index] &= ~(BITMASK(bits + start - (idx2 * 32))); in cpsw_ale_set_field()
161 ale_entry[idx] &= ~(BITMASK(bits) << start); in cpsw_ale_set_field()
165 #define DEFINE_ALE_FIELD_GET(name, start, bits) \ argument
168 return cpsw_ale_get_field(ale_entry, start, bits); \
171 #define DEFINE_ALE_FIELD_SET(name, start, bits) \ argument
174 cpsw_ale_set_field(ale_entry, start, bits, value); \
177 #define DEFINE_ALE_FIELD(name, start, bits) \ argument
178 DEFINE_ALE_FIELD_GET(name, start, bits) \
179 DEFINE_ALE_FIELD_SET(name, start, bits)
182 static inline int cpsw_ale_get_##name(u32 *ale_entry, u32 bits) \
184 return cpsw_ale_get_field(ale_entry, start, bits); \
189 u32 bits) \
191 cpsw_ale_set_field(ale_entry, start, bits, value); \
212 #define ALE_ENTRY_FLD(id, start, bits) \ argument
215 .num_bits = bits, \
270 u32 bits; in cpsw_ale_entry_get_fld() local
281 bits = entry_fld->num_bits; in cpsw_ale_entry_get_fld()
283 bits = ale->port_mask_bits; in cpsw_ale_entry_get_fld()
285 return cpsw_ale_get_field(ale_entry, entry_fld->start_bit, bits); in cpsw_ale_entry_get_fld()
295 u32 bits; in cpsw_ale_entry_set_fld() local
306 bits = entry_fld->num_bits; in cpsw_ale_entry_set_fld()
308 bits = ale->port_mask_bits; in cpsw_ale_entry_set_fld()
310 cpsw_ale_set_field(ale_entry, entry_fld->start_bit, bits, value); in cpsw_ale_entry_set_fld()
912 int bits; member
922 .bits = 1,
930 .bits = 1,
938 .bits = 1,
946 .bits = 1,
954 .bits = 1,
962 .bits = 1,
970 .bits = 1,
978 .bits = 1,
986 .bits = 1,
994 .bits = 1,
1002 .bits = 1,
1010 .bits = 1,
1018 .bits = 2,
1026 .bits = 1,
1034 .bits = 1,
1042 .bits = 1,
1050 .bits = 1,
1058 .bits = 1,
1066 .bits = 1,
1074 .bits = 8,
1082 .bits = 8,
1090 .bits = 6,
1098 .bits = 6,
1106 .bits = 6,
1114 .bits = 6,
1122 .bits = 6,
1130 .bits = 1,
1151 mask = BITMASK(info->bits); in cpsw_ale_control_set()
1185 return tmp & BITMASK(info->bits); in cpsw_ale_control_get()
1603 ale_controls[ALE_PORT_UNKNOWN_VLAN_MEMBER].bits = in cpsw_ale_create()
1607 ale_controls[ALE_PORT_UNKNOWN_MCAST_FLOOD].bits = in cpsw_ale_create()
1612 ale_controls[ALE_PORT_UNKNOWN_REG_MCAST_FLOOD].bits = in cpsw_ale_create()
1617 ale_controls[ALE_PORT_UNTAGGED_EGRESS].bits = in cpsw_ale_create()