Lines Matching refs:l2_accel
796 struct fm10k_l2_accel *l2_accel = interface->l2_accel; in fm10k_update_vid() local
867 if (l2_accel) { in fm10k_update_vid()
868 for (i = 0; i < l2_accel->size; i++) { in fm10k_update_vid()
869 struct net_device *sdev = l2_accel->macvlan[i]; in fm10k_update_vid()
874 glort = l2_accel->dglort + 1 + i; in fm10k_update_vid()
1083 struct fm10k_l2_accel *l2_accel = interface->l2_accel; in fm10k_restore_rx_state() local
1123 if (l2_accel) { in fm10k_restore_rx_state()
1124 for (i = 0; i < l2_accel->size; i++) { in fm10k_restore_rx_state()
1125 struct net_device *sdev = l2_accel->macvlan[i]; in fm10k_restore_rx_state()
1130 glort = l2_accel->dglort + 1 + i; in fm10k_restore_rx_state()
1150 if (l2_accel) { in fm10k_restore_rx_state()
1151 for (i = 0; i < l2_accel->size; i++) { in fm10k_restore_rx_state()
1152 struct net_device *sdev = l2_accel->macvlan[i]; in fm10k_restore_rx_state()
1157 glort = l2_accel->dglort + 1 + i; in fm10k_restore_rx_state()
1331 struct fm10k_l2_accel *l2_accel) in fm10k_assign_l2_accel() argument
1338 rcu_assign_pointer(ring->l2_accel, l2_accel); in fm10k_assign_l2_accel()
1341 interface->l2_accel = l2_accel; in fm10k_assign_l2_accel()
1348 struct fm10k_l2_accel *l2_accel = interface->l2_accel; in fm10k_dfwd_add_station() local
1363 if (!l2_accel) { in fm10k_dfwd_add_station()
1369 l2_accel = kzalloc(size, GFP_KERNEL); in fm10k_dfwd_add_station()
1370 if (!l2_accel) in fm10k_dfwd_add_station()
1373 l2_accel->size = 7; in fm10k_dfwd_add_station()
1374 l2_accel->dglort = interface->glort; in fm10k_dfwd_add_station()
1377 fm10k_assign_l2_accel(interface, l2_accel); in fm10k_dfwd_add_station()
1379 } else if ((l2_accel->count == FM10K_MAX_STATIONS) || in fm10k_dfwd_add_station()
1380 (l2_accel->count == (interface->glort_count - 1))) { in fm10k_dfwd_add_station()
1383 } else if (l2_accel->count == l2_accel->size) { in fm10k_dfwd_add_station()
1384 old_l2_accel = l2_accel; in fm10k_dfwd_add_station()
1386 macvlan[(l2_accel->size * 2) + 1]); in fm10k_dfwd_add_station()
1387 l2_accel = kzalloc(size, GFP_KERNEL); in fm10k_dfwd_add_station()
1388 if (!l2_accel) in fm10k_dfwd_add_station()
1391 memcpy(l2_accel, old_l2_accel, in fm10k_dfwd_add_station()
1395 l2_accel->size = (old_l2_accel->size * 2) + 1; in fm10k_dfwd_add_station()
1398 fm10k_assign_l2_accel(interface, l2_accel); in fm10k_dfwd_add_station()
1403 for (i = 0; i < l2_accel->size; i++) { in fm10k_dfwd_add_station()
1404 if (!l2_accel->macvlan[i]) in fm10k_dfwd_add_station()
1409 l2_accel->macvlan[i] = sdev; in fm10k_dfwd_add_station()
1410 l2_accel->count++; in fm10k_dfwd_add_station()
1418 dglort.shared_l = fls(l2_accel->size); in fm10k_dfwd_add_station()
1424 glort = l2_accel->dglort + 1 + i; in fm10k_dfwd_add_station()
1447 struct fm10k_l2_accel *l2_accel = READ_ONCE(interface->l2_accel); in fm10k_dfwd_del_station() local
1454 if (!l2_accel) in fm10k_dfwd_del_station()
1458 for (i = 0; i < l2_accel->size; i++) { in fm10k_dfwd_del_station()
1459 if (l2_accel->macvlan[i] == sdev) in fm10k_dfwd_del_station()
1464 if (i == l2_accel->size) in fm10k_dfwd_del_station()
1470 glort = l2_accel->dglort + 1 + i; in fm10k_dfwd_del_station()
1488 l2_accel->macvlan[i] = NULL; in fm10k_dfwd_del_station()
1489 l2_accel->count--; in fm10k_dfwd_del_station()
1497 dglort.shared_l = fls(l2_accel->size); in fm10k_dfwd_del_station()
1501 if (l2_accel->count == 0) { in fm10k_dfwd_del_station()
1503 kfree_rcu(l2_accel, rcu); in fm10k_dfwd_del_station()