Lines Matching refs:switchdev_work

2393 dsa_fdb_offload_notify(struct dsa_switchdev_event_work *switchdev_work)  in dsa_fdb_offload_notify()  argument
2396 struct dsa_switch *ds = switchdev_work->ds; in dsa_fdb_offload_notify()
2399 if (!dsa_is_user_port(ds, switchdev_work->port)) in dsa_fdb_offload_notify()
2402 info.addr = switchdev_work->addr; in dsa_fdb_offload_notify()
2403 info.vid = switchdev_work->vid; in dsa_fdb_offload_notify()
2405 dp = dsa_to_port(ds, switchdev_work->port); in dsa_fdb_offload_notify()
2412 struct dsa_switchdev_event_work *switchdev_work = in dsa_slave_switchdev_event_work() local
2414 struct dsa_switch *ds = switchdev_work->ds; in dsa_slave_switchdev_event_work()
2418 dp = dsa_to_port(ds, switchdev_work->port); in dsa_slave_switchdev_event_work()
2420 switch (switchdev_work->event) { in dsa_slave_switchdev_event_work()
2422 if (switchdev_work->host_addr) in dsa_slave_switchdev_event_work()
2423 err = dsa_port_host_fdb_add(dp, switchdev_work->addr, in dsa_slave_switchdev_event_work()
2424 switchdev_work->vid); in dsa_slave_switchdev_event_work()
2426 err = dsa_port_fdb_add(dp, switchdev_work->addr, in dsa_slave_switchdev_event_work()
2427 switchdev_work->vid); in dsa_slave_switchdev_event_work()
2431 dp->index, switchdev_work->addr, in dsa_slave_switchdev_event_work()
2432 switchdev_work->vid, err); in dsa_slave_switchdev_event_work()
2435 dsa_fdb_offload_notify(switchdev_work); in dsa_slave_switchdev_event_work()
2439 if (switchdev_work->host_addr) in dsa_slave_switchdev_event_work()
2440 err = dsa_port_host_fdb_del(dp, switchdev_work->addr, in dsa_slave_switchdev_event_work()
2441 switchdev_work->vid); in dsa_slave_switchdev_event_work()
2443 err = dsa_port_fdb_del(dp, switchdev_work->addr, in dsa_slave_switchdev_event_work()
2444 switchdev_work->vid); in dsa_slave_switchdev_event_work()
2448 dp->index, switchdev_work->addr, in dsa_slave_switchdev_event_work()
2449 switchdev_work->vid, err); in dsa_slave_switchdev_event_work()
2455 kfree(switchdev_work); in dsa_slave_switchdev_event_work()
2479 struct dsa_switchdev_event_work *switchdev_work; in dsa_slave_fdb_event() local
2507 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in dsa_slave_fdb_event()
2508 if (!switchdev_work) in dsa_slave_fdb_event()
2516 INIT_WORK(&switchdev_work->work, dsa_slave_switchdev_event_work); in dsa_slave_fdb_event()
2517 switchdev_work->ds = ds; in dsa_slave_fdb_event()
2518 switchdev_work->port = dp->index; in dsa_slave_fdb_event()
2519 switchdev_work->event = event; in dsa_slave_fdb_event()
2520 switchdev_work->dev = dev; in dsa_slave_fdb_event()
2522 ether_addr_copy(switchdev_work->addr, fdb_info->addr); in dsa_slave_fdb_event()
2523 switchdev_work->vid = fdb_info->vid; in dsa_slave_fdb_event()
2524 switchdev_work->host_addr = host_addr; in dsa_slave_fdb_event()
2526 dsa_schedule_work(&switchdev_work->work); in dsa_slave_fdb_event()