Lines Matching refs:entry
478 u16 *entry)
491 *entry = ctrl & A5PSW_LK_ADDR_CTRL_ADDRESS;
504 u16 entry;
507 ether_addr_copy(lk_data.entry.mac, addr);
508 lk_data.entry.port_mask = BIT(port);
513 ret = a5psw_lk_execute_lookup(a5psw, &lk_data, &entry);
518 if (!lk_data.entry.valid) {
520 /* port_mask set to 0x1f when entry is not valid, clear it */
521 lk_data.entry.port_mask = 0;
522 lk_data.entry.prio = 0;
525 lk_data.entry.port_mask |= BIT(port);
526 lk_data.entry.is_static = 1;
527 lk_data.entry.valid = 1;
531 reg = A5PSW_LK_ADDR_CTRL_WRITE | entry;
554 u16 entry;
558 ether_addr_copy(lk_data.entry.mac, addr);
562 ret = a5psw_lk_execute_lookup(a5psw, &lk_data, &entry);
574 if (!lk_data.entry.valid)
577 lk_data.entry.port_mask &= ~BIT(port);
578 /* If there is no more port in the mask, clear the entry */
579 if (lk_data.entry.port_mask == 0)
584 reg = entry;
624 /* If entry is not valid or does not contain the port, skip */
625 if (!lk_data.entry.valid ||
626 !(lk_data.entry.port_mask & BIT(port)))
631 ret = cb(lk_data.entry.mac, 0, lk_data.entry.is_static, data);
681 /* Find a free VLAN entry */