ale_entry          61 drivers/net/ethernet/ti/cpsw_ale.c static inline int cpsw_ale_get_field(u32 *ale_entry, u32 start, u32 bits)
ale_entry          68 drivers/net/ethernet/ti/cpsw_ale.c 	return (ale_entry[idx] >> start) & BITMASK(bits);
ale_entry          71 drivers/net/ethernet/ti/cpsw_ale.c static inline void cpsw_ale_set_field(u32 *ale_entry, u32 start, u32 bits,
ale_entry          80 drivers/net/ethernet/ti/cpsw_ale.c 	ale_entry[idx] &= ~(BITMASK(bits) << start);
ale_entry          81 drivers/net/ethernet/ti/cpsw_ale.c 	ale_entry[idx] |=  (value << start);
ale_entry          85 drivers/net/ethernet/ti/cpsw_ale.c static inline int cpsw_ale_get_##name(u32 *ale_entry)			\
ale_entry          87 drivers/net/ethernet/ti/cpsw_ale.c 	return cpsw_ale_get_field(ale_entry, start, bits);		\
ale_entry          89 drivers/net/ethernet/ti/cpsw_ale.c static inline void cpsw_ale_set_##name(u32 *ale_entry, u32 value)	\
ale_entry          91 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_field(ale_entry, start, bits, value);		\
ale_entry          95 drivers/net/ethernet/ti/cpsw_ale.c static inline int cpsw_ale_get_##name(u32 *ale_entry, u32 bits)		\
ale_entry          97 drivers/net/ethernet/ti/cpsw_ale.c 	return cpsw_ale_get_field(ale_entry, start, bits);		\
ale_entry          99 drivers/net/ethernet/ti/cpsw_ale.c static inline void cpsw_ale_set_##name(u32 *ale_entry, u32 value,	\
ale_entry         102 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_field(ale_entry, start, bits, value);		\
ale_entry         124 drivers/net/ethernet/ti/cpsw_ale.c static inline void cpsw_ale_get_addr(u32 *ale_entry, u8 *addr)
ale_entry         129 drivers/net/ethernet/ti/cpsw_ale.c 		addr[i] = cpsw_ale_get_field(ale_entry, 40 - 8*i, 8);
ale_entry         132 drivers/net/ethernet/ti/cpsw_ale.c static inline void cpsw_ale_set_addr(u32 *ale_entry, const u8 *addr)
ale_entry         137 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_field(ale_entry, 40 - 8*i, 8, addr[i]);
ale_entry         140 drivers/net/ethernet/ti/cpsw_ale.c static int cpsw_ale_read(struct cpsw_ale *ale, int idx, u32 *ale_entry)
ale_entry         149 drivers/net/ethernet/ti/cpsw_ale.c 		ale_entry[i] = readl_relaxed(ale->params.ale_regs +
ale_entry         155 drivers/net/ethernet/ti/cpsw_ale.c static int cpsw_ale_write(struct cpsw_ale *ale, int idx, u32 *ale_entry)
ale_entry         162 drivers/net/ethernet/ti/cpsw_ale.c 		writel_relaxed(ale_entry[i], ale->params.ale_regs +
ale_entry         173 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS];
ale_entry         179 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_read(ale, idx, ale_entry);
ale_entry         180 drivers/net/ethernet/ti/cpsw_ale.c 		type = cpsw_ale_get_entry_type(ale_entry);
ale_entry         183 drivers/net/ethernet/ti/cpsw_ale.c 		if (cpsw_ale_get_vlan_id(ale_entry) != vid)
ale_entry         185 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_get_addr(ale_entry, entry_addr);
ale_entry         194 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS];
ale_entry         198 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_read(ale, idx, ale_entry);
ale_entry         199 drivers/net/ethernet/ti/cpsw_ale.c 		type = cpsw_ale_get_entry_type(ale_entry);
ale_entry         202 drivers/net/ethernet/ti/cpsw_ale.c 		if (cpsw_ale_get_vlan_id(ale_entry) == vid)
ale_entry         210 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS];
ale_entry         214 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_read(ale, idx, ale_entry);
ale_entry         215 drivers/net/ethernet/ti/cpsw_ale.c 		type = cpsw_ale_get_entry_type(ale_entry);
ale_entry         224 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS];
ale_entry         228 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_read(ale, idx, ale_entry);
ale_entry         229 drivers/net/ethernet/ti/cpsw_ale.c 		type = cpsw_ale_get_entry_type(ale_entry);
ale_entry         232 drivers/net/ethernet/ti/cpsw_ale.c 		if (cpsw_ale_get_mcast(ale_entry))
ale_entry         234 drivers/net/ethernet/ti/cpsw_ale.c 		type = cpsw_ale_get_ucast_type(ale_entry);
ale_entry         242 drivers/net/ethernet/ti/cpsw_ale.c static void cpsw_ale_flush_mcast(struct cpsw_ale *ale, u32 *ale_entry,
ale_entry         247 drivers/net/ethernet/ti/cpsw_ale.c 	mask = cpsw_ale_get_port_mask(ale_entry,
ale_entry         255 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_port_mask(ale_entry, mask,
ale_entry         258 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_entry_type(ale_entry, ALE_TYPE_FREE);
ale_entry         263 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS];
ale_entry         267 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_read(ale, idx, ale_entry);
ale_entry         268 drivers/net/ethernet/ti/cpsw_ale.c 		ret = cpsw_ale_get_entry_type(ale_entry);
ale_entry         277 drivers/net/ethernet/ti/cpsw_ale.c 		if (vid != -1 && cpsw_ale_get_vlan_id(ale_entry) != vid)
ale_entry         280 drivers/net/ethernet/ti/cpsw_ale.c 		if (cpsw_ale_get_mcast(ale_entry)) {
ale_entry         283 drivers/net/ethernet/ti/cpsw_ale.c 			if (cpsw_ale_get_super(ale_entry))
ale_entry         286 drivers/net/ethernet/ti/cpsw_ale.c 			cpsw_ale_get_addr(ale_entry, addr);
ale_entry         288 drivers/net/ethernet/ti/cpsw_ale.c 				cpsw_ale_flush_mcast(ale, ale_entry, port_mask);
ale_entry         291 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_write(ale, idx, ale_entry);
ale_entry         296 drivers/net/ethernet/ti/cpsw_ale.c static inline void cpsw_ale_set_vlan_entry_type(u32 *ale_entry,
ale_entry         300 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_entry_type(ale_entry, ALE_TYPE_VLAN_ADDR);
ale_entry         301 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_vlan_id(ale_entry, vid);
ale_entry         303 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_entry_type(ale_entry, ALE_TYPE_ADDR);
ale_entry         310 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS] = {0, 0, 0};
ale_entry         313 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_vlan_entry_type(ale_entry, flags, vid);
ale_entry         315 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_addr(ale_entry, addr);
ale_entry         316 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_ucast_type(ale_entry, ALE_UCAST_PERSISTANT);
ale_entry         317 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_secure(ale_entry, (flags & ALE_SECURE) ? 1 : 0);
ale_entry         318 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_blocked(ale_entry, (flags & ALE_BLOCKED) ? 1 : 0);
ale_entry         319 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_port_num(ale_entry, port, ale->port_num_bits);
ale_entry         329 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_write(ale, idx, ale_entry);
ale_entry         336 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS] = {0, 0, 0};
ale_entry         343 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_entry_type(ale_entry, ALE_TYPE_FREE);
ale_entry         344 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_write(ale, idx, ale_entry);
ale_entry         351 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS] = {0, 0, 0};
ale_entry         356 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_read(ale, idx, ale_entry);
ale_entry         358 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_vlan_entry_type(ale_entry, flags, vid);
ale_entry         360 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_addr(ale_entry, addr);
ale_entry         361 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_super(ale_entry, (flags & ALE_SUPER) ? 1 : 0);
ale_entry         362 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_mcast_state(ale_entry, mcast_state);
ale_entry         364 drivers/net/ethernet/ti/cpsw_ale.c 	mask = cpsw_ale_get_port_mask(ale_entry,
ale_entry         367 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_port_mask(ale_entry, port_mask,
ale_entry         377 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_write(ale, idx, ale_entry);
ale_entry         384 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS] = {0, 0, 0};
ale_entry         391 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_read(ale, idx, ale_entry);
ale_entry         394 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_port_mask(ale_entry, port_mask,
ale_entry         397 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_entry_type(ale_entry, ALE_TYPE_FREE);
ale_entry         399 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_write(ale, idx, ale_entry);
ale_entry         404 drivers/net/ethernet/ti/cpsw_ale.c static void cpsw_ale_set_vlan_mcast(struct cpsw_ale *ale, u32 *ale_entry,
ale_entry         410 drivers/net/ethernet/ti/cpsw_ale.c 	idx = cpsw_ale_get_vlan_reg_mcast_idx(ale_entry);
ale_entry         414 drivers/net/ethernet/ti/cpsw_ale.c 	idx = cpsw_ale_get_vlan_unreg_mcast_idx(ale_entry);
ale_entry         421 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS] = {0, 0, 0};
ale_entry         426 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_read(ale, idx, ale_entry);
ale_entry         428 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_entry_type(ale_entry, ALE_TYPE_VLAN);
ale_entry         429 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_vlan_id(ale_entry, vid);
ale_entry         431 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_vlan_untag_force(ale_entry, untag, ale->vlan_field_bits);
ale_entry         433 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_vlan_reg_mcast(ale_entry, reg_mcast,
ale_entry         435 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_vlan_unreg_mcast(ale_entry, unreg_mcast,
ale_entry         438 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_vlan_mcast(ale, ale_entry, reg_mcast, unreg_mcast);
ale_entry         440 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_set_vlan_member_list(ale_entry, port, ale->vlan_field_bits);
ale_entry         449 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_write(ale, idx, ale_entry);
ale_entry         455 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS] = {0, 0, 0};
ale_entry         462 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_read(ale, idx, ale_entry);
ale_entry         465 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_vlan_member_list(ale_entry, port_mask,
ale_entry         468 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_entry_type(ale_entry, ALE_TYPE_FREE);
ale_entry         470 drivers/net/ethernet/ti/cpsw_ale.c 	cpsw_ale_write(ale, idx, ale_entry);
ale_entry         476 drivers/net/ethernet/ti/cpsw_ale.c 	u32 ale_entry[ALE_ENTRY_WORDS];
ale_entry         483 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_read(ale, idx, ale_entry);
ale_entry         484 drivers/net/ethernet/ti/cpsw_ale.c 		type = cpsw_ale_get_entry_type(ale_entry);
ale_entry         488 drivers/net/ethernet/ti/cpsw_ale.c 			cpsw_ale_get_vlan_member_list(ale_entry,
ale_entry         495 drivers/net/ethernet/ti/cpsw_ale.c 			cpsw_ale_get_vlan_unreg_mcast(ale_entry,
ale_entry         501 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_set_vlan_unreg_mcast(ale_entry, unreg_mcast,
ale_entry         503 drivers/net/ethernet/ti/cpsw_ale.c 		cpsw_ale_write(ale, idx, ale_entry);