Lines Matching refs:err

158 	int err;  in dpaa2_switch_fdb_set_egress_flood()  local
162 err = dpsw_set_egress_flood(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_fdb_set_egress_flood()
164 if (err) { in dpaa2_switch_fdb_set_egress_flood()
165 dev_err(ethsw->dev, "dpsw_set_egress_flood() = %d\n", err); in dpaa2_switch_fdb_set_egress_flood()
166 return err; in dpaa2_switch_fdb_set_egress_flood()
171 err = dpsw_set_egress_flood(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_fdb_set_egress_flood()
173 if (err) { in dpaa2_switch_fdb_set_egress_flood()
174 dev_err(ethsw->dev, "dpsw_set_egress_flood() = %d\n", err); in dpaa2_switch_fdb_set_egress_flood()
175 return err; in dpaa2_switch_fdb_set_egress_flood()
195 int err; in dpaa2_switch_add_vlan() local
198 err = dpsw_vlan_add(ethsw->mc_io, 0, in dpaa2_switch_add_vlan()
200 if (err) { in dpaa2_switch_add_vlan()
201 dev_err(ethsw->dev, "dpsw_vlan_add err %d\n", err); in dpaa2_switch_add_vlan()
202 return err; in dpaa2_switch_add_vlan()
213 int err; in dpaa2_switch_port_is_up() local
215 err = dpsw_if_get_link_state(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_is_up()
218 if (err) { in dpaa2_switch_port_is_up()
219 netdev_err(netdev, "dpsw_if_get_link_state() err %d\n", err); in dpaa2_switch_port_is_up()
234 int err, ret; in dpaa2_switch_port_set_pvid() local
236 err = dpsw_if_get_tci(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_set_pvid()
238 if (err) { in dpaa2_switch_port_set_pvid()
239 netdev_err(netdev, "dpsw_if_get_tci err %d\n", err); in dpaa2_switch_port_set_pvid()
240 return err; in dpaa2_switch_port_set_pvid()
248 err = dpsw_if_disable(ethsw->mc_io, 0, in dpaa2_switch_port_set_pvid()
251 if (err) { in dpaa2_switch_port_set_pvid()
252 netdev_err(netdev, "dpsw_if_disable err %d\n", err); in dpaa2_switch_port_set_pvid()
253 return err; in dpaa2_switch_port_set_pvid()
257 err = dpsw_if_set_tci(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_set_pvid()
259 if (err) { in dpaa2_switch_port_set_pvid()
260 netdev_err(netdev, "dpsw_if_set_tci err %d\n", err); in dpaa2_switch_port_set_pvid()
280 return err; in dpaa2_switch_port_set_pvid()
289 int err; in dpaa2_switch_port_add_vlan() local
303 err = dpsw_vlan_add_if(ethsw->mc_io, 0, ethsw->dpsw_handle, vid, &vcfg); in dpaa2_switch_port_add_vlan()
304 if (err) { in dpaa2_switch_port_add_vlan()
305 netdev_err(netdev, "dpsw_vlan_add_if err %d\n", err); in dpaa2_switch_port_add_vlan()
306 return err; in dpaa2_switch_port_add_vlan()
312 err = dpsw_vlan_add_if_untagged(ethsw->mc_io, 0, in dpaa2_switch_port_add_vlan()
315 if (err) { in dpaa2_switch_port_add_vlan()
317 "dpsw_vlan_add_if_untagged err %d\n", err); in dpaa2_switch_port_add_vlan()
318 return err; in dpaa2_switch_port_add_vlan()
324 err = dpaa2_switch_port_set_pvid(port_priv, vid); in dpaa2_switch_port_add_vlan()
325 if (err) in dpaa2_switch_port_add_vlan()
326 return err; in dpaa2_switch_port_add_vlan()
353 int err; in dpaa2_switch_port_set_stp_state() local
363 err = dpsw_if_set_stp(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_set_stp_state()
366 if (err) { in dpaa2_switch_port_set_stp_state()
368 "dpsw_if_set_stp err %d\n", err); in dpaa2_switch_port_set_stp_state()
369 return err; in dpaa2_switch_port_set_stp_state()
382 int i, err; in dpaa2_switch_dellink() local
387 err = dpsw_vlan_remove(ethsw->mc_io, 0, ethsw->dpsw_handle, vid); in dpaa2_switch_dellink()
388 if (err) { in dpaa2_switch_dellink()
389 dev_err(ethsw->dev, "dpsw_vlan_remove err %d\n", err); in dpaa2_switch_dellink()
390 return err; in dpaa2_switch_dellink()
408 int err; in dpaa2_switch_port_fdb_add_uc() local
415 err = dpsw_fdb_add_unicast(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_fdb_add_uc()
418 if (err) in dpaa2_switch_port_fdb_add_uc()
420 "dpsw_fdb_add_unicast err %d\n", err); in dpaa2_switch_port_fdb_add_uc()
421 return err; in dpaa2_switch_port_fdb_add_uc()
429 int err; in dpaa2_switch_port_fdb_del_uc() local
436 err = dpsw_fdb_remove_unicast(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_fdb_del_uc()
440 if (err && err != -ENXIO) in dpaa2_switch_port_fdb_del_uc()
442 "dpsw_fdb_remove_unicast err %d\n", err); in dpaa2_switch_port_fdb_del_uc()
443 return err; in dpaa2_switch_port_fdb_del_uc()
451 int err; in dpaa2_switch_port_fdb_add_mc() local
459 err = dpsw_fdb_add_multicast(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_fdb_add_mc()
463 if (err && err != -ENXIO) in dpaa2_switch_port_fdb_add_mc()
465 err); in dpaa2_switch_port_fdb_add_mc()
466 return err; in dpaa2_switch_port_fdb_add_mc()
474 int err; in dpaa2_switch_port_fdb_del_mc() local
482 err = dpsw_fdb_remove_multicast(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_fdb_del_mc()
486 if (err && err != -ENAVAIL) in dpaa2_switch_port_fdb_del_mc()
488 "dpsw_fdb_remove_multicast err %d\n", err); in dpaa2_switch_port_fdb_del_mc()
489 return err; in dpaa2_switch_port_fdb_del_mc()
497 int err; in dpaa2_switch_port_get_stats() local
499 err = dpsw_if_get_counter(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_get_stats()
503 if (err) in dpaa2_switch_port_get_stats()
506 err = dpsw_if_get_counter(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_get_stats()
510 if (err) in dpaa2_switch_port_get_stats()
513 err = dpsw_if_get_counter(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_get_stats()
517 if (err) in dpaa2_switch_port_get_stats()
520 err = dpsw_if_get_counter(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_get_stats()
524 if (err) in dpaa2_switch_port_get_stats()
527 err = dpsw_if_get_counter(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_get_stats()
532 if (err) in dpaa2_switch_port_get_stats()
535 err = dpsw_if_get_counter(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_get_stats()
540 if (err) in dpaa2_switch_port_get_stats()
544 err = dpsw_if_get_counter(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_get_stats()
549 if (err) in dpaa2_switch_port_get_stats()
555 netdev_err(netdev, "dpsw_if_get_counter err %d\n", err); in dpaa2_switch_port_get_stats()
580 int err; in dpaa2_switch_port_change_mtu() local
582 err = dpsw_if_set_max_frame_length(port_priv->ethsw_data->mc_io, in dpaa2_switch_port_change_mtu()
587 if (err) { in dpaa2_switch_port_change_mtu()
589 "dpsw_if_set_max_frame_length() err %d\n", err); in dpaa2_switch_port_change_mtu()
590 return err; in dpaa2_switch_port_change_mtu()
601 int err; in dpaa2_switch_port_link_state_update() local
618 err = dpsw_if_get_link_state(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_link_state_update()
621 if (err) { in dpaa2_switch_port_link_state_update()
622 netdev_err(netdev, "dpsw_if_get_link_state() err %d\n", err); in dpaa2_switch_port_link_state_update()
623 return err; in dpaa2_switch_port_link_state_update()
687 int err; in dpaa2_switch_port_open() local
700 err = dpsw_if_enable(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_open()
703 if (err) { in dpaa2_switch_port_open()
705 netdev_err(netdev, "dpsw_if_enable err %d\n", err); in dpaa2_switch_port_open()
706 return err; in dpaa2_switch_port_open()
723 int err; in dpaa2_switch_port_stop() local
736 err = dpsw_if_disable(port_priv->ethsw_data->mc_io, 0, in dpaa2_switch_port_stop()
739 if (err) { in dpaa2_switch_port_stop()
740 netdev_err(netdev, "dpsw_if_disable err %d\n", err); in dpaa2_switch_port_stop()
741 return err; in dpaa2_switch_port_stop()
764 int err; in dpaa2_switch_port_get_phys_name() local
766 err = snprintf(name, len, "p%d", port_priv->idx); in dpaa2_switch_port_get_phys_name()
767 if (err >= len) in dpaa2_switch_port_get_phys_name()
845 int err = 0, i; in dpaa2_switch_fdb_iterate() local
858 err = -ENOMEM; in dpaa2_switch_fdb_iterate()
863 err = dpsw_fdb_dump(ethsw->mc_io, 0, ethsw->dpsw_handle, fdb_id, in dpaa2_switch_fdb_iterate()
865 if (err) { in dpaa2_switch_fdb_iterate()
866 netdev_err(net_dev, "dpsw_fdb_dump() = %d\n", err); in dpaa2_switch_fdb_iterate()
876 err = cb(port_priv, &fdb_entry, data); in dpaa2_switch_fdb_iterate()
877 if (err) in dpaa2_switch_fdb_iterate()
890 return err; in dpaa2_switch_fdb_iterate()
914 int err; in dpaa2_switch_port_fdb_dump() local
916 err = dpaa2_switch_fdb_iterate(port_priv, dpaa2_switch_fdb_entry_dump, &dump); in dpaa2_switch_port_fdb_dump()
919 return err; in dpaa2_switch_port_fdb_dump()
980 int err; in dpaa2_switch_port_set_mac_addr() local
986 err = dpsw_if_get_port_mac_addr(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_set_mac_addr()
988 if (err) { in dpaa2_switch_port_set_mac_addr()
990 return err; in dpaa2_switch_port_set_mac_addr()
1088 int err; in dpaa2_switch_port_tx() local
1113 err = skb_linearize(skb); in dpaa2_switch_port_tx()
1114 if (err) { in dpaa2_switch_port_tx()
1115 net_err_ratelimited("%s: skb_linearize error (%d)!\n", net_dev->name, err); in dpaa2_switch_port_tx()
1119 err = dpaa2_switch_build_single_fd(ethsw, skb, &fd); in dpaa2_switch_port_tx()
1120 if (unlikely(err)) { in dpaa2_switch_port_tx()
1121 net_err_ratelimited("%s: ethsw_build_*_fd() %d\n", net_dev->name, err); in dpaa2_switch_port_tx()
1126 err = dpaa2_io_service_enqueue_qd(NULL, in dpaa2_switch_port_tx()
1130 } while (err == -EBUSY && retries); in dpaa2_switch_port_tx()
1132 if (unlikely(err < 0)) { in dpaa2_switch_port_tx()
1196 int err; in dpaa2_switch_port_acl_tbl_bind() local
1203 err = dpsw_acl_add_if(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_acl_tbl_bind()
1205 if (err) { in dpaa2_switch_port_acl_tbl_bind()
1206 netdev_err(netdev, "dpsw_acl_add_if err %d\n", err); in dpaa2_switch_port_acl_tbl_bind()
1207 return err; in dpaa2_switch_port_acl_tbl_bind()
1223 int err; in dpaa2_switch_port_acl_tbl_unbind() local
1230 err = dpsw_acl_remove_if(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_acl_tbl_unbind()
1232 if (err) { in dpaa2_switch_port_acl_tbl_unbind()
1233 netdev_err(netdev, "dpsw_acl_add_if err %d\n", err); in dpaa2_switch_port_acl_tbl_unbind()
1234 return err; in dpaa2_switch_port_acl_tbl_unbind()
1246 int err; in dpaa2_switch_port_block_bind() local
1251 err = dpaa2_switch_block_offload_mirror(block, port_priv); in dpaa2_switch_port_block_bind()
1252 if (err) in dpaa2_switch_port_block_bind()
1253 return err; in dpaa2_switch_port_block_bind()
1261 err = dpaa2_switch_port_acl_tbl_unbind(port_priv, old_block); in dpaa2_switch_port_block_bind()
1262 if (err) in dpaa2_switch_port_block_bind()
1263 return err; in dpaa2_switch_port_block_bind()
1280 int err; in dpaa2_switch_port_block_unbind() local
1285 err = dpaa2_switch_block_unoffload_mirror(block, port_priv); in dpaa2_switch_port_block_unbind()
1286 if (err) in dpaa2_switch_port_block_unbind()
1287 return err; in dpaa2_switch_port_block_unbind()
1295 err = dpaa2_switch_port_acl_tbl_unbind(port_priv, block); in dpaa2_switch_port_block_unbind()
1296 if (err) in dpaa2_switch_port_block_unbind()
1297 return err; in dpaa2_switch_port_block_unbind()
1315 int err; in dpaa2_switch_setup_tc_block_bind() local
1339 err = dpaa2_switch_port_block_bind(port_priv, filter_block); in dpaa2_switch_setup_tc_block_bind()
1340 if (err) in dpaa2_switch_setup_tc_block_bind()
1354 return err; in dpaa2_switch_setup_tc_block_bind()
1364 int err; in dpaa2_switch_setup_tc_block_unbind() local
1373 err = dpaa2_switch_port_block_unbind(port_priv, filter_block); in dpaa2_switch_setup_tc_block_unbind()
1374 if (!err && !flow_block_cb_decref(block_cb)) { in dpaa2_switch_setup_tc_block_unbind()
1442 int err; in dpaa2_switch_port_connect_mac() local
1461 err = dpaa2_mac_open(mac); in dpaa2_switch_port_connect_mac()
1462 if (err) in dpaa2_switch_port_connect_mac()
1466 err = dpaa2_mac_connect(mac); in dpaa2_switch_port_connect_mac()
1467 if (err) { in dpaa2_switch_port_connect_mac()
1470 ERR_PTR(err)); in dpaa2_switch_port_connect_mac()
1485 return err; in dpaa2_switch_port_connect_mac()
1513 int err, if_id; in dpaa2_switch_irq0_handler_thread() local
1516 err = dpsw_get_irq_status(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_irq0_handler_thread()
1518 if (err) { in dpaa2_switch_irq0_handler_thread()
1519 dev_err(dev, "Can't get irq status (err %d)\n", err); in dpaa2_switch_irq0_handler_thread()
1544 err = dpsw_clear_irq_status(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_irq0_handler_thread()
1546 if (err) in dpaa2_switch_irq0_handler_thread()
1547 dev_err(dev, "Can't clear irq status (err %d)\n", err); in dpaa2_switch_irq0_handler_thread()
1558 int err; in dpaa2_switch_setup_irqs() local
1560 err = fsl_mc_allocate_irqs(sw_dev); in dpaa2_switch_setup_irqs()
1561 if (err) { in dpaa2_switch_setup_irqs()
1563 return err; in dpaa2_switch_setup_irqs()
1567 err = -EINVAL; in dpaa2_switch_setup_irqs()
1571 err = dpsw_set_irq_enable(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_setup_irqs()
1573 if (err) { in dpaa2_switch_setup_irqs()
1574 dev_err(dev, "dpsw_set_irq_enable err %d\n", err); in dpaa2_switch_setup_irqs()
1580 err = devm_request_threaded_irq(dev, irq->virq, NULL, in dpaa2_switch_setup_irqs()
1584 if (err) { in dpaa2_switch_setup_irqs()
1585 dev_err(dev, "devm_request_threaded_irq(): %d\n", err); in dpaa2_switch_setup_irqs()
1589 err = dpsw_set_irq_mask(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_setup_irqs()
1591 if (err) { in dpaa2_switch_setup_irqs()
1592 dev_err(dev, "dpsw_set_irq_mask(): %d\n", err); in dpaa2_switch_setup_irqs()
1596 err = dpsw_set_irq_enable(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_setup_irqs()
1598 if (err) { in dpaa2_switch_setup_irqs()
1599 dev_err(dev, "dpsw_set_irq_enable(): %d\n", err); in dpaa2_switch_setup_irqs()
1609 return err; in dpaa2_switch_setup_irqs()
1616 int err; in dpaa2_switch_teardown_irqs() local
1618 err = dpsw_set_irq_enable(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_teardown_irqs()
1620 if (err) in dpaa2_switch_teardown_irqs()
1621 dev_err(dev, "dpsw_set_irq_enable err %d\n", err); in dpaa2_switch_teardown_irqs()
1630 int err; in dpaa2_switch_port_set_learning() local
1637 err = dpsw_if_set_learning_mode(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_set_learning()
1639 if (err) in dpaa2_switch_port_set_learning()
1640 netdev_err(port_priv->netdev, "dpsw_if_set_learning_mode err %d\n", err); in dpaa2_switch_port_set_learning()
1645 return err; in dpaa2_switch_port_set_learning()
1652 int err; in dpaa2_switch_port_attr_stp_state_set() local
1654 err = dpaa2_switch_port_set_stp_state(port_priv, state); in dpaa2_switch_port_attr_stp_state_set()
1655 if (err) in dpaa2_switch_port_attr_stp_state_set()
1656 return err; in dpaa2_switch_port_attr_stp_state_set()
1662 err = dpaa2_switch_port_set_learning(port_priv, false); in dpaa2_switch_port_attr_stp_state_set()
1666 err = dpaa2_switch_port_set_learning(port_priv, in dpaa2_switch_port_attr_stp_state_set()
1671 return err; in dpaa2_switch_port_attr_stp_state_set()
1715 int err; in dpaa2_switch_port_bridge_flags() local
1720 err = dpaa2_switch_port_set_learning(port_priv, learn_ena); in dpaa2_switch_port_bridge_flags()
1721 if (err) in dpaa2_switch_port_bridge_flags()
1722 return err; in dpaa2_switch_port_bridge_flags()
1727 err = dpaa2_switch_port_flood(port_priv, flags); in dpaa2_switch_port_bridge_flags()
1728 if (err) in dpaa2_switch_port_bridge_flags()
1729 return err; in dpaa2_switch_port_bridge_flags()
1739 int err = 0; in dpaa2_switch_port_attr_set() local
1743 err = dpaa2_switch_port_attr_stp_state_set(netdev, in dpaa2_switch_port_attr_set()
1754 err = dpaa2_switch_port_pre_bridge_flags(netdev, attr->u.brport_flags, extack); in dpaa2_switch_port_attr_set()
1757 err = dpaa2_switch_port_bridge_flags(netdev, attr->u.brport_flags, extack); in dpaa2_switch_port_attr_set()
1760 err = -EOPNOTSUPP; in dpaa2_switch_port_attr_set()
1764 return err; in dpaa2_switch_port_attr_set()
1773 int err = 0; in dpaa2_switch_port_vlans_add() local
1782 err = dpsw_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_vlans_add()
1784 if (err) { in dpaa2_switch_port_vlans_add()
1785 netdev_err(netdev, "dpsw_get_attributes err %d\n", err); in dpaa2_switch_port_vlans_add()
1786 return err; in dpaa2_switch_port_vlans_add()
1792 err = dpsw_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_vlans_add()
1794 if (err) { in dpaa2_switch_port_vlans_add()
1795 netdev_err(netdev, "dpsw_get_attributes err %d\n", err); in dpaa2_switch_port_vlans_add()
1796 return err; in dpaa2_switch_port_vlans_add()
1803 err = dpaa2_switch_add_vlan(port_priv, vlan->vid); in dpaa2_switch_port_vlans_add()
1804 if (err) in dpaa2_switch_port_vlans_add()
1805 return err; in dpaa2_switch_port_vlans_add()
1834 int err; in dpaa2_switch_port_mdb_add() local
1840 err = dpaa2_switch_port_fdb_add_mc(port_priv, mdb->addr); in dpaa2_switch_port_mdb_add()
1841 if (err) in dpaa2_switch_port_mdb_add()
1842 return err; in dpaa2_switch_port_mdb_add()
1844 err = dev_mc_add(netdev, mdb->addr); in dpaa2_switch_port_mdb_add()
1845 if (err) { in dpaa2_switch_port_mdb_add()
1846 netdev_err(netdev, "dev_mc_add err %d\n", err); in dpaa2_switch_port_mdb_add()
1850 return err; in dpaa2_switch_port_mdb_add()
1856 int err; in dpaa2_switch_port_obj_add() local
1860 err = dpaa2_switch_port_vlans_add(netdev, in dpaa2_switch_port_obj_add()
1864 err = dpaa2_switch_port_mdb_add(netdev, in dpaa2_switch_port_obj_add()
1868 err = -EOPNOTSUPP; in dpaa2_switch_port_obj_add()
1872 return err; in dpaa2_switch_port_obj_add()
1880 int i, err; in dpaa2_switch_port_del_vlan() local
1890 err = dpaa2_switch_port_set_pvid(port_priv, 4095); in dpaa2_switch_port_del_vlan()
1891 if (err) in dpaa2_switch_port_del_vlan()
1892 return err; in dpaa2_switch_port_del_vlan()
1898 err = dpsw_vlan_remove_if_untagged(ethsw->mc_io, 0, in dpaa2_switch_port_del_vlan()
1901 if (err) { in dpaa2_switch_port_del_vlan()
1904 err); in dpaa2_switch_port_del_vlan()
1910 err = dpsw_vlan_remove_if(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_del_vlan()
1912 if (err) { in dpaa2_switch_port_del_vlan()
1914 "dpsw_vlan_remove_if err %d\n", err); in dpaa2_switch_port_del_vlan()
1915 return err; in dpaa2_switch_port_del_vlan()
1930 err = dpaa2_switch_dellink(ethsw, vid); in dpaa2_switch_port_del_vlan()
1931 if (err) in dpaa2_switch_port_del_vlan()
1932 return err; in dpaa2_switch_port_del_vlan()
1953 int err; in dpaa2_switch_port_mdb_del() local
1958 err = dpaa2_switch_port_fdb_del_mc(port_priv, mdb->addr); in dpaa2_switch_port_mdb_del()
1959 if (err) in dpaa2_switch_port_mdb_del()
1960 return err; in dpaa2_switch_port_mdb_del()
1962 err = dev_mc_del(netdev, mdb->addr); in dpaa2_switch_port_mdb_del()
1963 if (err) { in dpaa2_switch_port_mdb_del()
1964 netdev_err(netdev, "dev_mc_del err %d\n", err); in dpaa2_switch_port_mdb_del()
1965 return err; in dpaa2_switch_port_mdb_del()
1968 return err; in dpaa2_switch_port_mdb_del()
1974 int err; in dpaa2_switch_port_obj_del() local
1978 err = dpaa2_switch_port_vlans_del(netdev, SWITCHDEV_OBJ_PORT_VLAN(obj)); in dpaa2_switch_port_obj_del()
1981 err = dpaa2_switch_port_mdb_del(netdev, SWITCHDEV_OBJ_PORT_MDB(obj)); in dpaa2_switch_port_obj_del()
1984 err = -EOPNOTSUPP; in dpaa2_switch_port_obj_del()
1987 return err; in dpaa2_switch_port_obj_del()
1993 int err; in dpaa2_switch_port_attr_set_event() local
1995 err = switchdev_handle_port_attr_set(netdev, ptr, in dpaa2_switch_port_attr_set_event()
1998 return notifier_from_errno(err); in dpaa2_switch_port_attr_set_event()
2011 int err; in dpaa2_switch_port_bridge_join() local
2026 err = dpaa2_switch_port_del_vlan(port_priv, 1); in dpaa2_switch_port_bridge_join()
2027 if (err) in dpaa2_switch_port_bridge_join()
2028 return err; in dpaa2_switch_port_bridge_join()
2034 err = dpaa2_switch_port_set_learning(port_priv, learn_ena); in dpaa2_switch_port_bridge_join()
2038 err = dpaa2_switch_fdb_set_egress_flood(ethsw, port_priv->fdb->fdb_id); in dpaa2_switch_port_bridge_join()
2039 if (err) in dpaa2_switch_port_bridge_join()
2042 err = switchdev_bridge_port_offload(netdev, netdev, NULL, in dpaa2_switch_port_bridge_join()
2044 if (err) in dpaa2_switch_port_bridge_join()
2052 return err; in dpaa2_switch_port_bridge_join()
2085 int err; in dpaa2_switch_port_bridge_leave() local
2094 err = vlan_for_each(netdev, dpaa2_switch_port_clear_rxvlan, netdev); in dpaa2_switch_port_bridge_leave()
2095 if (err) in dpaa2_switch_port_bridge_leave()
2096 netdev_err(netdev, "Unable to clear RX VLANs from old FDB table, err (%d)\n", err); in dpaa2_switch_port_bridge_leave()
2101 err = vlan_for_each(netdev, dpaa2_switch_port_restore_rxvlan, netdev); in dpaa2_switch_port_bridge_leave()
2102 if (err) in dpaa2_switch_port_bridge_leave()
2103 netdev_err(netdev, "Unable to restore RX VLANs to the new FDB, err (%d)\n", err); in dpaa2_switch_port_bridge_leave()
2116 err = dpaa2_switch_fdb_set_egress_flood(ethsw, port_priv->fdb->fdb_id); in dpaa2_switch_port_bridge_leave()
2117 if (err) in dpaa2_switch_port_bridge_leave()
2118 return err; in dpaa2_switch_port_bridge_leave()
2121 err = dpaa2_switch_fdb_set_egress_flood(ethsw, old_fdb->fdb_id); in dpaa2_switch_port_bridge_leave()
2122 if (err) in dpaa2_switch_port_bridge_leave()
2123 return err; in dpaa2_switch_port_bridge_leave()
2126 err = dpaa2_switch_port_set_learning(port_priv, false); in dpaa2_switch_port_bridge_leave()
2127 if (err) in dpaa2_switch_port_bridge_leave()
2128 return err; in dpaa2_switch_port_bridge_leave()
2158 int err; in dpaa2_switch_prechangeupper_sanity_checks() local
2165 err = dpaa2_switch_prevent_bridging_with_8021q_upper(netdev); in dpaa2_switch_prechangeupper_sanity_checks()
2166 if (err) { in dpaa2_switch_prechangeupper_sanity_checks()
2182 int err = 0; in dpaa2_switch_port_netdevice_event() local
2195 err = dpaa2_switch_prechangeupper_sanity_checks(netdev, in dpaa2_switch_port_netdevice_event()
2198 if (err) in dpaa2_switch_port_netdevice_event()
2209 err = dpaa2_switch_port_bridge_join(netdev, in dpaa2_switch_port_netdevice_event()
2213 err = dpaa2_switch_port_bridge_leave(netdev); in dpaa2_switch_port_netdevice_event()
2219 return notifier_from_errno(err); in dpaa2_switch_port_netdevice_event()
2235 int err; in dpaa2_switch_event_work() local
2245 err = dpaa2_switch_port_fdb_add_uc(netdev_priv(dev), in dpaa2_switch_event_work()
2248 err = dpaa2_switch_port_fdb_add_mc(netdev_priv(dev), in dpaa2_switch_event_work()
2250 if (err) in dpaa2_switch_event_work()
2329 int err = -EOPNOTSUPP; in dpaa2_switch_port_obj_event() local
2336 err = dpaa2_switch_port_obj_add(netdev, port_obj_info->obj); in dpaa2_switch_port_obj_event()
2339 err = dpaa2_switch_port_obj_del(netdev, port_obj_info->obj); in dpaa2_switch_port_obj_event()
2344 return notifier_from_errno(err); in dpaa2_switch_port_obj_event()
2408 int if_id, err; in dpaa2_switch_rx() local
2443 err = __skb_vlan_pop(skb, &vlan_tci); in dpaa2_switch_rx()
2444 if (err) { in dpaa2_switch_rx()
2445 dev_info(ethsw->dev, "__skb_vlan_pop() returned %d", err); in dpaa2_switch_rx()
2477 int err; in dpaa2_switch_setup_fqs() local
2479 err = dpsw_ctrl_if_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_setup_fqs()
2481 if (err) { in dpaa2_switch_setup_fqs()
2482 dev_err(dev, "dpsw_ctrl_if_get_attributes() = %d\n", err); in dpaa2_switch_setup_fqs()
2483 return err; in dpaa2_switch_setup_fqs()
2524 int err; in dpaa2_switch_add_bufs() local
2551 while ((err = dpaa2_io_service_release(NULL, bpid, in dpaa2_switch_add_bufs()
2560 if (err) { in dpaa2_switch_add_bufs()
2583 int err = 0; in dpaa2_switch_refill_bp() local
2598 err = -ENOMEM; in dpaa2_switch_refill_bp()
2601 return err; in dpaa2_switch_refill_bp()
2643 int err; in dpaa2_switch_setup_dpbp() local
2645 err = fsl_mc_object_allocate(to_fsl_mc_device(dev), FSL_MC_POOL_DPBP, in dpaa2_switch_setup_dpbp()
2647 if (err) { in dpaa2_switch_setup_dpbp()
2648 if (err == -ENXIO) in dpaa2_switch_setup_dpbp()
2649 err = -EPROBE_DEFER; in dpaa2_switch_setup_dpbp()
2652 return err; in dpaa2_switch_setup_dpbp()
2656 err = dpbp_open(ethsw->mc_io, 0, dpbp_dev->obj_desc.id, in dpaa2_switch_setup_dpbp()
2658 if (err) { in dpaa2_switch_setup_dpbp()
2663 err = dpbp_reset(ethsw->mc_io, 0, dpbp_dev->mc_handle); in dpaa2_switch_setup_dpbp()
2664 if (err) { in dpaa2_switch_setup_dpbp()
2669 err = dpbp_enable(ethsw->mc_io, 0, dpbp_dev->mc_handle); in dpaa2_switch_setup_dpbp()
2670 if (err) { in dpaa2_switch_setup_dpbp()
2675 err = dpbp_get_attributes(ethsw->mc_io, 0, dpbp_dev->mc_handle, in dpaa2_switch_setup_dpbp()
2677 if (err) { in dpaa2_switch_setup_dpbp()
2687 err = dpsw_ctrl_if_set_pools(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_setup_dpbp()
2689 if (err) { in dpaa2_switch_setup_dpbp()
2704 return err; in dpaa2_switch_setup_dpbp()
2743 int err, retries = 0; in dpaa2_switch_pull_fq() local
2749 err = dpaa2_io_service_pull_fq(NULL, fq->fqid, fq->store); in dpaa2_switch_pull_fq()
2751 } while (err == -EBUSY && retries++ < DPAA2_SWITCH_SWP_BUSY_RETRIES); in dpaa2_switch_pull_fq()
2753 if (unlikely(err)) in dpaa2_switch_pull_fq()
2754 dev_err(fq->ethsw->dev, "dpaa2_io_service_pull err %d", err); in dpaa2_switch_pull_fq()
2756 return err; in dpaa2_switch_pull_fq()
2793 int err, cleaned = 0, store_cleaned, work_done; in dpaa2_switch_poll() local
2800 err = dpaa2_switch_pull_fq(fq); in dpaa2_switch_poll()
2801 if (unlikely(err)) in dpaa2_switch_poll()
2822 err = dpaa2_io_service_rearm(NULL, &fq->nctx); in dpaa2_switch_poll()
2824 } while (err == -EBUSY && retries++ < DPAA2_SWITCH_SWP_BUSY_RETRIES); in dpaa2_switch_poll()
2845 int err, i, j; in dpaa2_switch_setup_dpio() local
2858 err = dpaa2_io_service_register(NULL, nctx, ethsw->dev); in dpaa2_switch_setup_dpio()
2859 if (err) { in dpaa2_switch_setup_dpio()
2860 err = -EPROBE_DEFER; in dpaa2_switch_setup_dpio()
2871 err = dpsw_ctrl_if_set_queue(ethsw->mc_io, 0, in dpaa2_switch_setup_dpio()
2875 if (err) in dpaa2_switch_setup_dpio()
2888 return err; in dpaa2_switch_setup_dpio()
2902 int err; in dpaa2_switch_ctrl_if_setup() local
2905 err = dpaa2_switch_setup_fqs(ethsw); in dpaa2_switch_ctrl_if_setup()
2906 if (err) in dpaa2_switch_ctrl_if_setup()
2907 return err; in dpaa2_switch_ctrl_if_setup()
2910 err = dpaa2_switch_setup_dpbp(ethsw); in dpaa2_switch_ctrl_if_setup()
2911 if (err) in dpaa2_switch_ctrl_if_setup()
2912 return err; in dpaa2_switch_ctrl_if_setup()
2914 err = dpaa2_switch_alloc_rings(ethsw); in dpaa2_switch_ctrl_if_setup()
2915 if (err) in dpaa2_switch_ctrl_if_setup()
2918 err = dpaa2_switch_setup_dpio(ethsw); in dpaa2_switch_ctrl_if_setup()
2919 if (err) in dpaa2_switch_ctrl_if_setup()
2922 err = dpaa2_switch_seed_bp(ethsw); in dpaa2_switch_ctrl_if_setup()
2923 if (err) in dpaa2_switch_ctrl_if_setup()
2926 err = dpsw_ctrl_if_enable(ethsw->mc_io, 0, ethsw->dpsw_handle); in dpaa2_switch_ctrl_if_setup()
2927 if (err) { in dpaa2_switch_ctrl_if_setup()
2928 dev_err(ethsw->dev, "dpsw_ctrl_if_enable err %d\n", err); in dpaa2_switch_ctrl_if_setup()
2943 return err; in dpaa2_switch_ctrl_if_setup()
2963 int err; in dpaa2_switch_init() local
2968 err = dpsw_open(ethsw->mc_io, 0, ethsw->dev_id, &ethsw->dpsw_handle); in dpaa2_switch_init()
2969 if (err) { in dpaa2_switch_init()
2970 dev_err(dev, "dpsw_open err %d\n", err); in dpaa2_switch_init()
2971 return err; in dpaa2_switch_init()
2974 err = dpsw_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_init()
2976 if (err) { in dpaa2_switch_init()
2977 dev_err(dev, "dpsw_get_attributes err %d\n", err); in dpaa2_switch_init()
2981 err = dpsw_get_api_version(ethsw->mc_io, 0, in dpaa2_switch_init()
2984 if (err) { in dpaa2_switch_init()
2985 dev_err(dev, "dpsw_get_api_version err %d\n", err); in dpaa2_switch_init()
2995 err = -EOPNOTSUPP; in dpaa2_switch_init()
3000 err = -EOPNOTSUPP; in dpaa2_switch_init()
3006 err = dpsw_reset(ethsw->mc_io, 0, ethsw->dpsw_handle); in dpaa2_switch_init()
3007 if (err) { in dpaa2_switch_init()
3008 dev_err(dev, "dpsw_reset err %d\n", err); in dpaa2_switch_init()
3016 err = dpsw_if_disable(ethsw->mc_io, 0, ethsw->dpsw_handle, i); in dpaa2_switch_init()
3017 if (err) { in dpaa2_switch_init()
3018 dev_err(dev, "dpsw_if_disable err %d\n", err); in dpaa2_switch_init()
3022 err = dpsw_if_set_stp(ethsw->mc_io, 0, ethsw->dpsw_handle, i, in dpaa2_switch_init()
3024 if (err) { in dpaa2_switch_init()
3026 err, i); in dpaa2_switch_init()
3035 err = dpsw_vlan_remove_if_untagged(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_init()
3037 if (err) { in dpaa2_switch_init()
3039 err); in dpaa2_switch_init()
3044 err = dpsw_if_set_tci(ethsw->mc_io, 0, ethsw->dpsw_handle, i, &tci_cfg); in dpaa2_switch_init()
3045 if (err) { in dpaa2_switch_init()
3046 dev_err(dev, "dpsw_if_set_tci err %d\n", err); in dpaa2_switch_init()
3050 err = dpsw_vlan_remove_if(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_init()
3052 if (err) { in dpaa2_switch_init()
3053 dev_err(dev, "dpsw_vlan_remove_if err %d\n", err); in dpaa2_switch_init()
3058 err = dpsw_vlan_remove(ethsw->mc_io, 0, ethsw->dpsw_handle, DEFAULT_VLAN_ID); in dpaa2_switch_init()
3059 if (err) { in dpaa2_switch_init()
3060 dev_err(dev, "dpsw_vlan_remove err %d\n", err); in dpaa2_switch_init()
3068 err = -ENOMEM; in dpaa2_switch_init()
3072 err = dpsw_fdb_remove(ethsw->mc_io, 0, ethsw->dpsw_handle, 0); in dpaa2_switch_init()
3073 if (err) in dpaa2_switch_init()
3076 err = dpaa2_switch_ctrl_if_setup(ethsw); in dpaa2_switch_init()
3077 if (err) in dpaa2_switch_init()
3087 return err; in dpaa2_switch_init()
3125 int err; in dpaa2_switch_port_init() local
3128 err = dpsw_if_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_init()
3130 if (err) { in dpaa2_switch_port_init()
3131 netdev_err(netdev, "dpsw_if_get_attributes err %d\n", err); in dpaa2_switch_port_init()
3132 return err; in dpaa2_switch_port_init()
3138 err = dpsw_fdb_add(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_init()
3140 if (err) { in dpaa2_switch_port_init()
3141 netdev_err(netdev, "dpsw_fdb_add err %d\n", err); in dpaa2_switch_port_init()
3142 return err; in dpaa2_switch_port_init()
3156 err = dpaa2_switch_port_vlans_add(netdev, &vlan); in dpaa2_switch_port_init()
3157 if (err) in dpaa2_switch_port_init()
3158 return err; in dpaa2_switch_port_init()
3161 err = dpaa2_switch_fdb_set_egress_flood(ethsw, port_priv->fdb->fdb_id); in dpaa2_switch_port_init()
3162 if (err) in dpaa2_switch_port_init()
3163 return err; in dpaa2_switch_port_init()
3167 err = dpsw_acl_add(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_init()
3169 if (err) { in dpaa2_switch_port_init()
3170 netdev_err(netdev, "dpsw_acl_add err %d\n", err); in dpaa2_switch_port_init()
3171 return err; in dpaa2_switch_port_init()
3182 err = dpaa2_switch_port_acl_tbl_bind(port_priv, filter_block); in dpaa2_switch_port_init()
3183 if (err) in dpaa2_switch_port_init()
3184 return err; in dpaa2_switch_port_init()
3186 err = dpaa2_switch_port_trap_mac_addr(port_priv, stpa); in dpaa2_switch_port_init()
3187 if (err) in dpaa2_switch_port_init()
3188 return err; in dpaa2_switch_port_init()
3190 return err; in dpaa2_switch_port_init()
3206 int err; in dpaa2_switch_teardown() local
3212 err = dpsw_close(ethsw->mc_io, 0, ethsw->dpsw_handle); in dpaa2_switch_teardown()
3213 if (err) in dpaa2_switch_teardown()
3214 dev_warn(dev, "dpsw_close err %d\n", err); in dpaa2_switch_teardown()
3256 int err; in dpaa2_switch_probe_port() local
3298 err = dpaa2_switch_port_init(port_priv, port_idx); in dpaa2_switch_probe_port()
3299 if (err) in dpaa2_switch_probe_port()
3302 err = dpaa2_switch_port_set_mac_addr(port_priv); in dpaa2_switch_probe_port()
3303 if (err) in dpaa2_switch_probe_port()
3306 err = dpaa2_switch_port_set_learning(port_priv, false); in dpaa2_switch_probe_port()
3307 if (err) in dpaa2_switch_probe_port()
3311 err = dpaa2_switch_port_connect_mac(port_priv); in dpaa2_switch_probe_port()
3312 if (err) in dpaa2_switch_probe_port()
3321 return err; in dpaa2_switch_probe_port()
3328 int i, err; in dpaa2_switch_probe() local
3340 err = fsl_mc_portal_allocate(sw_dev, FSL_MC_IO_ATOMIC_CONTEXT_PORTAL, in dpaa2_switch_probe()
3342 if (err) { in dpaa2_switch_probe()
3343 if (err == -ENXIO) in dpaa2_switch_probe()
3344 err = -EPROBE_DEFER; in dpaa2_switch_probe()
3346 dev_err(dev, "fsl_mc_portal_allocate err %d\n", err); in dpaa2_switch_probe()
3350 err = dpaa2_switch_init(sw_dev); in dpaa2_switch_probe()
3351 if (err) in dpaa2_switch_probe()
3357 err = -ENOMEM; in dpaa2_switch_probe()
3364 err = -ENOMEM; in dpaa2_switch_probe()
3372 err = -ENOMEM; in dpaa2_switch_probe()
3377 err = dpaa2_switch_probe_port(ethsw, i); in dpaa2_switch_probe()
3378 if (err) in dpaa2_switch_probe()
3391 err = dpaa2_switch_setup_irqs(sw_dev); in dpaa2_switch_probe()
3392 if (err) in dpaa2_switch_probe()
3404 err = register_netdev(ethsw->ports[i]->netdev); in dpaa2_switch_probe()
3405 if (err < 0) { in dpaa2_switch_probe()
3406 dev_err(dev, "register_netdev error %d\n", err); in dpaa2_switch_probe()
3438 return err; in dpaa2_switch_probe()
3473 int err; in dpaa2_switch_register_notifiers() local
3475 err = register_netdevice_notifier(&dpaa2_switch_port_nb); in dpaa2_switch_register_notifiers()
3476 if (err) { in dpaa2_switch_register_notifiers()
3477 pr_err("dpaa2-switch: failed to register net_device notifier (%d)\n", err); in dpaa2_switch_register_notifiers()
3478 return err; in dpaa2_switch_register_notifiers()
3481 err = register_switchdev_notifier(&dpaa2_switch_port_switchdev_nb); in dpaa2_switch_register_notifiers()
3482 if (err) { in dpaa2_switch_register_notifiers()
3483 pr_err("dpaa2-switch: failed to register switchdev notifier (%d)\n", err); in dpaa2_switch_register_notifiers()
3487 err = register_switchdev_blocking_notifier(&dpaa2_switch_port_switchdev_blocking_nb); in dpaa2_switch_register_notifiers()
3488 if (err) { in dpaa2_switch_register_notifiers()
3489 pr_err("dpaa2-switch: failed to register switchdev blocking notifier (%d)\n", err); in dpaa2_switch_register_notifiers()
3500 return err; in dpaa2_switch_register_notifiers()
3505 int err; in dpaa2_switch_unregister_notifiers() local
3507 err = unregister_switchdev_blocking_notifier(&dpaa2_switch_port_switchdev_blocking_nb); in dpaa2_switch_unregister_notifiers()
3508 if (err) in dpaa2_switch_unregister_notifiers()
3510 err); in dpaa2_switch_unregister_notifiers()
3512 err = unregister_switchdev_notifier(&dpaa2_switch_port_switchdev_nb); in dpaa2_switch_unregister_notifiers()
3513 if (err) in dpaa2_switch_unregister_notifiers()
3514 pr_err("dpaa2-switch: failed to unregister switchdev notifier (%d)\n", err); in dpaa2_switch_unregister_notifiers()
3516 err = unregister_netdevice_notifier(&dpaa2_switch_port_nb); in dpaa2_switch_unregister_notifiers()
3517 if (err) in dpaa2_switch_unregister_notifiers()
3518 pr_err("dpaa2-switch: failed to unregister net_device notifier (%d)\n", err); in dpaa2_switch_unregister_notifiers()
3523 int err; in dpaa2_switch_driver_init() local
3525 err = fsl_mc_driver_register(&dpaa2_switch_drv); in dpaa2_switch_driver_init()
3526 if (err) in dpaa2_switch_driver_init()
3527 return err; in dpaa2_switch_driver_init()
3529 err = dpaa2_switch_register_notifiers(); in dpaa2_switch_driver_init()
3530 if (err) { in dpaa2_switch_driver_init()
3532 return err; in dpaa2_switch_driver_init()