Lines Matching defs:lk_data
477 static int a5psw_lk_execute_lookup(struct a5psw *a5psw, union lk_data *lk_data,
483 a5psw_reg_writel(a5psw, A5PSW_LK_DATA_LO, lk_data->lo);
484 a5psw_reg_writel(a5psw, A5PSW_LK_DATA_HI, lk_data->hi);
501 union lk_data lk_data = {0};
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);
517 lk_data.hi = a5psw_reg_readl(a5psw, A5PSW_LK_DATA_HI);
518 if (!lk_data.entry.valid) {
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;
529 a5psw_reg_writel(a5psw, A5PSW_LK_DATA_HI, lk_data.hi);
552 union lk_data lk_data = {0};
558 ether_addr_copy(lk_data.entry.mac, addr);
562 ret = a5psw_lk_execute_lookup(a5psw, &lk_data, &entry);
566 lk_data.hi = a5psw_reg_readl(a5psw, A5PSW_LK_DATA_HI);
574 if (!lk_data.entry.valid)
577 lk_data.entry.port_mask &= ~BIT(port);
579 if (lk_data.entry.port_mask == 0)
582 a5psw_reg_writel(a5psw, A5PSW_LK_DATA_HI, lk_data.hi);
610 union lk_data lk_data;
623 lk_data.hi = a5psw_reg_readl(a5psw, A5PSW_LK_DATA_HI);
625 if (!lk_data.entry.valid ||
626 !(lk_data.entry.port_mask & BIT(port)))
629 lk_data.lo = a5psw_reg_readl(a5psw, A5PSW_LK_DATA_LO);
631 ret = cb(lk_data.entry.mac, 0, lk_data.entry.is_static, data);