Lines Matching full: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()
275 netdev_err(netdev, "dpsw_if_enable err %d\n", ret); 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()
464 netdev_err(port_priv->netdev, "dpsw_fdb_add_multicast err %d\n", 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()
846 int err = 0, i; in dpaa2_switch_fdb_iterate() local
859 err = -ENOMEM; in dpaa2_switch_fdb_iterate()
864 err = dpsw_fdb_dump(ethsw->mc_io, 0, ethsw->dpsw_handle, fdb_id, in dpaa2_switch_fdb_iterate()
866 if (err) { in dpaa2_switch_fdb_iterate()
867 netdev_err(net_dev, "dpsw_fdb_dump() = %d\n", err); in dpaa2_switch_fdb_iterate()
877 err = cb(port_priv, &fdb_entry, data); in dpaa2_switch_fdb_iterate()
878 if (err) in dpaa2_switch_fdb_iterate()
891 return err; in dpaa2_switch_fdb_iterate()
915 int err; in dpaa2_switch_port_fdb_dump() local
917 err = dpaa2_switch_fdb_iterate(port_priv, dpaa2_switch_fdb_entry_dump, &dump); in dpaa2_switch_port_fdb_dump()
920 return err; in dpaa2_switch_port_fdb_dump()
981 int err; in dpaa2_switch_port_set_mac_addr() local
987 err = dpsw_if_get_port_mac_addr(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_set_mac_addr()
989 if (err) { in dpaa2_switch_port_set_mac_addr()
991 return err; in dpaa2_switch_port_set_mac_addr()
1089 int err; in dpaa2_switch_port_tx() local
1114 err = skb_linearize(skb); in dpaa2_switch_port_tx()
1115 if (err) { in dpaa2_switch_port_tx()
1116 net_err_ratelimited("%s: skb_linearize error (%d)!\n", net_dev->name, err); in dpaa2_switch_port_tx()
1120 err = dpaa2_switch_build_single_fd(ethsw, skb, &fd); in dpaa2_switch_port_tx()
1121 if (unlikely(err)) { in dpaa2_switch_port_tx()
1122 net_err_ratelimited("%s: ethsw_build_*_fd() %d\n", net_dev->name, err); in dpaa2_switch_port_tx()
1127 err = dpaa2_io_service_enqueue_qd(NULL, in dpaa2_switch_port_tx()
1131 } while (err == -EBUSY && retries); in dpaa2_switch_port_tx()
1133 if (unlikely(err < 0)) { in dpaa2_switch_port_tx()
1197 int err; in dpaa2_switch_port_acl_tbl_bind() local
1204 err = dpsw_acl_add_if(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_acl_tbl_bind()
1206 if (err) { in dpaa2_switch_port_acl_tbl_bind()
1207 netdev_err(netdev, "dpsw_acl_add_if err %d\n", err); in dpaa2_switch_port_acl_tbl_bind()
1208 return err; in dpaa2_switch_port_acl_tbl_bind()
1224 int err; in dpaa2_switch_port_acl_tbl_unbind() local
1231 err = dpsw_acl_remove_if(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_acl_tbl_unbind()
1233 if (err) { in dpaa2_switch_port_acl_tbl_unbind()
1234 netdev_err(netdev, "dpsw_acl_add_if err %d\n", err); in dpaa2_switch_port_acl_tbl_unbind()
1235 return err; in dpaa2_switch_port_acl_tbl_unbind()
1247 int err; in dpaa2_switch_port_block_bind() local
1252 err = dpaa2_switch_block_offload_mirror(block, port_priv); in dpaa2_switch_port_block_bind()
1253 if (err) in dpaa2_switch_port_block_bind()
1254 return err; in dpaa2_switch_port_block_bind()
1262 err = dpaa2_switch_port_acl_tbl_unbind(port_priv, old_block); in dpaa2_switch_port_block_bind()
1263 if (err) in dpaa2_switch_port_block_bind()
1264 return err; in dpaa2_switch_port_block_bind()
1281 int err; in dpaa2_switch_port_block_unbind() local
1286 err = dpaa2_switch_block_unoffload_mirror(block, port_priv); in dpaa2_switch_port_block_unbind()
1287 if (err) in dpaa2_switch_port_block_unbind()
1288 return err; in dpaa2_switch_port_block_unbind()
1296 err = dpaa2_switch_port_acl_tbl_unbind(port_priv, block); in dpaa2_switch_port_block_unbind()
1297 if (err) in dpaa2_switch_port_block_unbind()
1298 return err; in dpaa2_switch_port_block_unbind()
1316 int err; in dpaa2_switch_setup_tc_block_bind() local
1340 err = dpaa2_switch_port_block_bind(port_priv, filter_block); in dpaa2_switch_setup_tc_block_bind()
1341 if (err) in dpaa2_switch_setup_tc_block_bind()
1355 return err; in dpaa2_switch_setup_tc_block_bind()
1365 int err; in dpaa2_switch_setup_tc_block_unbind() local
1374 err = dpaa2_switch_port_block_unbind(port_priv, filter_block); in dpaa2_switch_setup_tc_block_unbind()
1375 if (!err && !flow_block_cb_decref(block_cb)) { in dpaa2_switch_setup_tc_block_unbind()
1443 int err; in dpaa2_switch_port_connect_mac() local
1462 err = dpaa2_mac_open(mac); in dpaa2_switch_port_connect_mac()
1463 if (err) in dpaa2_switch_port_connect_mac()
1467 err = dpaa2_mac_connect(mac); in dpaa2_switch_port_connect_mac()
1468 if (err) { in dpaa2_switch_port_connect_mac()
1471 ERR_PTR(err)); in dpaa2_switch_port_connect_mac()
1486 return err; in dpaa2_switch_port_connect_mac()
1513 int err, if_id; in dpaa2_switch_irq0_handler_thread() local
1517 err = dpsw_get_irq_status(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_irq0_handler_thread()
1519 if (err) { in dpaa2_switch_irq0_handler_thread()
1520 dev_err(dev, "Can't get irq status (err %d)\n", err); in dpaa2_switch_irq0_handler_thread()
1543 err = dpsw_clear_irq_status(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_irq0_handler_thread()
1545 if (err) in dpaa2_switch_irq0_handler_thread()
1546 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
1784 err = dpsw_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_vlans_add()
1786 if (err) { in dpaa2_switch_port_vlans_add()
1787 netdev_err(netdev, "dpsw_get_attributes err %d\n", err); in dpaa2_switch_port_vlans_add()
1788 return err; in dpaa2_switch_port_vlans_add()
1794 err = dpsw_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_vlans_add()
1796 if (err) { in dpaa2_switch_port_vlans_add()
1797 netdev_err(netdev, "dpsw_get_attributes err %d\n", err); in dpaa2_switch_port_vlans_add()
1798 return err; in dpaa2_switch_port_vlans_add()
1805 err = dpaa2_switch_add_vlan(port_priv, vlan->vid); in dpaa2_switch_port_vlans_add()
1806 if (err) in dpaa2_switch_port_vlans_add()
1807 return err; in dpaa2_switch_port_vlans_add()
1836 int err; in dpaa2_switch_port_mdb_add() local
1842 err = dpaa2_switch_port_fdb_add_mc(port_priv, mdb->addr); in dpaa2_switch_port_mdb_add()
1843 if (err) in dpaa2_switch_port_mdb_add()
1844 return err; in dpaa2_switch_port_mdb_add()
1846 err = dev_mc_add(netdev, mdb->addr); in dpaa2_switch_port_mdb_add()
1847 if (err) { in dpaa2_switch_port_mdb_add()
1848 netdev_err(netdev, "dev_mc_add err %d\n", err); in dpaa2_switch_port_mdb_add()
1852 return err; in dpaa2_switch_port_mdb_add()
1858 int err; in dpaa2_switch_port_obj_add() local
1862 err = dpaa2_switch_port_vlans_add(netdev, in dpaa2_switch_port_obj_add()
1866 err = dpaa2_switch_port_mdb_add(netdev, in dpaa2_switch_port_obj_add()
1870 err = -EOPNOTSUPP; in dpaa2_switch_port_obj_add()
1874 return err; in dpaa2_switch_port_obj_add()
1882 int i, err; in dpaa2_switch_port_del_vlan() local
1892 err = dpaa2_switch_port_set_pvid(port_priv, 4095); in dpaa2_switch_port_del_vlan()
1893 if (err) in dpaa2_switch_port_del_vlan()
1894 return err; in dpaa2_switch_port_del_vlan()
1900 err = dpsw_vlan_remove_if_untagged(ethsw->mc_io, 0, in dpaa2_switch_port_del_vlan()
1903 if (err) { in dpaa2_switch_port_del_vlan()
1905 "dpsw_vlan_remove_if_untagged err %d\n", in dpaa2_switch_port_del_vlan()
1906 err); in dpaa2_switch_port_del_vlan()
1912 err = dpsw_vlan_remove_if(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_del_vlan()
1914 if (err) { in dpaa2_switch_port_del_vlan()
1916 "dpsw_vlan_remove_if err %d\n", err); in dpaa2_switch_port_del_vlan()
1917 return err; in dpaa2_switch_port_del_vlan()
1932 err = dpaa2_switch_dellink(ethsw, vid); in dpaa2_switch_port_del_vlan()
1933 if (err) in dpaa2_switch_port_del_vlan()
1934 return err; in dpaa2_switch_port_del_vlan()
1955 int err; in dpaa2_switch_port_mdb_del() local
1960 err = dpaa2_switch_port_fdb_del_mc(port_priv, mdb->addr); in dpaa2_switch_port_mdb_del()
1961 if (err) in dpaa2_switch_port_mdb_del()
1962 return err; in dpaa2_switch_port_mdb_del()
1964 err = dev_mc_del(netdev, mdb->addr); in dpaa2_switch_port_mdb_del()
1965 if (err) { in dpaa2_switch_port_mdb_del()
1966 netdev_err(netdev, "dev_mc_del err %d\n", err); in dpaa2_switch_port_mdb_del()
1967 return err; in dpaa2_switch_port_mdb_del()
1970 return err; in dpaa2_switch_port_mdb_del()
1976 int err; in dpaa2_switch_port_obj_del() local
1980 err = dpaa2_switch_port_vlans_del(netdev, SWITCHDEV_OBJ_PORT_VLAN(obj)); in dpaa2_switch_port_obj_del()
1983 err = dpaa2_switch_port_mdb_del(netdev, SWITCHDEV_OBJ_PORT_MDB(obj)); in dpaa2_switch_port_obj_del()
1986 err = -EOPNOTSUPP; in dpaa2_switch_port_obj_del()
1989 return err; in dpaa2_switch_port_obj_del()
1995 int err; in dpaa2_switch_port_attr_set_event() local
1997 err = switchdev_handle_port_attr_set(netdev, ptr, in dpaa2_switch_port_attr_set_event()
2000 return notifier_from_errno(err); in dpaa2_switch_port_attr_set_event()
2011 int err; in dpaa2_switch_port_bridge_join() local
2014 err = dpaa2_switch_port_del_vlan(port_priv, 1); in dpaa2_switch_port_bridge_join()
2015 if (err) in dpaa2_switch_port_bridge_join()
2016 return err; in dpaa2_switch_port_bridge_join()
2022 err = dpaa2_switch_port_set_learning(port_priv, learn_ena); in dpaa2_switch_port_bridge_join()
2026 err = dpaa2_switch_fdb_set_egress_flood(ethsw, port_priv->fdb->fdb_id); in dpaa2_switch_port_bridge_join()
2027 if (err) in dpaa2_switch_port_bridge_join()
2031 err = dpaa2_switch_fdb_set_egress_flood(ethsw, old_fdb->fdb_id); in dpaa2_switch_port_bridge_join()
2032 if (err) in dpaa2_switch_port_bridge_join()
2035 err = switchdev_bridge_port_offload(netdev, netdev, NULL, in dpaa2_switch_port_bridge_join()
2037 if (err) in dpaa2_switch_port_bridge_join()
2045 return err; in dpaa2_switch_port_bridge_join()
2078 int err; in dpaa2_switch_port_bridge_leave() local
2087 err = vlan_for_each(netdev, dpaa2_switch_port_clear_rxvlan, netdev); in dpaa2_switch_port_bridge_leave()
2088 if (err) in dpaa2_switch_port_bridge_leave()
2089 netdev_err(netdev, "Unable to clear RX VLANs from old FDB table, err (%d)\n", err); in dpaa2_switch_port_bridge_leave()
2094 err = vlan_for_each(netdev, dpaa2_switch_port_restore_rxvlan, netdev); in dpaa2_switch_port_bridge_leave()
2095 if (err) in dpaa2_switch_port_bridge_leave()
2096 netdev_err(netdev, "Unable to restore RX VLANs to the new FDB, err (%d)\n", err); in dpaa2_switch_port_bridge_leave()
2109 err = dpaa2_switch_fdb_set_egress_flood(ethsw, port_priv->fdb->fdb_id); in dpaa2_switch_port_bridge_leave()
2110 if (err) in dpaa2_switch_port_bridge_leave()
2111 return err; in dpaa2_switch_port_bridge_leave()
2114 err = dpaa2_switch_fdb_set_egress_flood(ethsw, old_fdb->fdb_id); in dpaa2_switch_port_bridge_leave()
2115 if (err) in dpaa2_switch_port_bridge_leave()
2116 return err; in dpaa2_switch_port_bridge_leave()
2119 err = dpaa2_switch_port_set_learning(port_priv, false); in dpaa2_switch_port_bridge_leave()
2120 if (err) in dpaa2_switch_port_bridge_leave()
2121 return err; in dpaa2_switch_port_bridge_leave()
2155 int err; in dpaa2_switch_prechangeupper_sanity_checks() local
2162 err = dpaa2_switch_prevent_bridging_with_8021q_upper(netdev); in dpaa2_switch_prechangeupper_sanity_checks()
2163 if (err) { in dpaa2_switch_prechangeupper_sanity_checks()
2189 int err; in dpaa2_switch_port_prechangeupper() local
2197 err = dpaa2_switch_prechangeupper_sanity_checks(netdev, in dpaa2_switch_port_prechangeupper()
2200 if (err) in dpaa2_switch_port_prechangeupper()
2201 return err; in dpaa2_switch_port_prechangeupper()
2238 int err = 0; in dpaa2_switch_port_netdevice_event() local
2242 err = dpaa2_switch_port_prechangeupper(netdev, ptr); in dpaa2_switch_port_netdevice_event()
2243 if (err) in dpaa2_switch_port_netdevice_event()
2244 return notifier_from_errno(err); in dpaa2_switch_port_netdevice_event()
2248 err = dpaa2_switch_port_changeupper(netdev, ptr); in dpaa2_switch_port_netdevice_event()
2249 if (err) in dpaa2_switch_port_netdevice_event()
2250 return notifier_from_errno(err); in dpaa2_switch_port_netdevice_event()
2271 int err; in dpaa2_switch_event_work() local
2281 err = dpaa2_switch_port_fdb_add_uc(netdev_priv(dev), in dpaa2_switch_event_work()
2284 err = dpaa2_switch_port_fdb_add_mc(netdev_priv(dev), in dpaa2_switch_event_work()
2286 if (err) in dpaa2_switch_event_work()
2365 int err = -EOPNOTSUPP; in dpaa2_switch_port_obj_event() local
2372 err = dpaa2_switch_port_obj_add(netdev, port_obj_info->obj); in dpaa2_switch_port_obj_event()
2375 err = dpaa2_switch_port_obj_del(netdev, port_obj_info->obj); in dpaa2_switch_port_obj_event()
2380 return notifier_from_errno(err); in dpaa2_switch_port_obj_event()
2444 int if_id, err; in dpaa2_switch_rx() local
2479 err = __skb_vlan_pop(skb, &vlan_tci); in dpaa2_switch_rx()
2480 if (err) { in dpaa2_switch_rx()
2481 dev_info(ethsw->dev, "__skb_vlan_pop() returned %d", err); in dpaa2_switch_rx()
2513 int err; in dpaa2_switch_setup_fqs() local
2515 err = dpsw_ctrl_if_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_setup_fqs()
2517 if (err) { in dpaa2_switch_setup_fqs()
2518 dev_err(dev, "dpsw_ctrl_if_get_attributes() = %d\n", err); in dpaa2_switch_setup_fqs()
2519 return err; in dpaa2_switch_setup_fqs()
2560 int err; in dpaa2_switch_add_bufs() local
2587 while ((err = dpaa2_io_service_release(NULL, bpid, in dpaa2_switch_add_bufs()
2596 if (err) { in dpaa2_switch_add_bufs()
2619 int err = 0; in dpaa2_switch_refill_bp() local
2634 err = -ENOMEM; in dpaa2_switch_refill_bp()
2637 return err; in dpaa2_switch_refill_bp()
2680 int err; in dpaa2_switch_setup_dpbp() local
2682 err = fsl_mc_object_allocate(to_fsl_mc_device(dev), FSL_MC_POOL_DPBP, in dpaa2_switch_setup_dpbp()
2684 if (err) { in dpaa2_switch_setup_dpbp()
2685 if (err == -ENXIO) in dpaa2_switch_setup_dpbp()
2686 err = -EPROBE_DEFER; in dpaa2_switch_setup_dpbp()
2689 return err; in dpaa2_switch_setup_dpbp()
2693 err = dpbp_open(ethsw->mc_io, 0, dpbp_dev->obj_desc.id, in dpaa2_switch_setup_dpbp()
2695 if (err) { in dpaa2_switch_setup_dpbp()
2700 err = dpbp_reset(ethsw->mc_io, 0, dpbp_dev->mc_handle); in dpaa2_switch_setup_dpbp()
2701 if (err) { in dpaa2_switch_setup_dpbp()
2706 err = dpbp_enable(ethsw->mc_io, 0, dpbp_dev->mc_handle); in dpaa2_switch_setup_dpbp()
2707 if (err) { in dpaa2_switch_setup_dpbp()
2712 err = dpbp_get_attributes(ethsw->mc_io, 0, dpbp_dev->mc_handle, in dpaa2_switch_setup_dpbp()
2714 if (err) { in dpaa2_switch_setup_dpbp()
2724 err = dpsw_ctrl_if_set_pools(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_setup_dpbp()
2726 if (err) { in dpaa2_switch_setup_dpbp()
2741 return err; in dpaa2_switch_setup_dpbp()
2780 int err, retries = 0; in dpaa2_switch_pull_fq() local
2786 err = dpaa2_io_service_pull_fq(NULL, fq->fqid, fq->store); in dpaa2_switch_pull_fq()
2788 } while (err == -EBUSY && retries++ < DPAA2_SWITCH_SWP_BUSY_RETRIES); in dpaa2_switch_pull_fq()
2790 if (unlikely(err)) in dpaa2_switch_pull_fq()
2791 dev_err(fq->ethsw->dev, "dpaa2_io_service_pull err %d", err); in dpaa2_switch_pull_fq()
2793 return err; in dpaa2_switch_pull_fq()
2830 int err, cleaned = 0, store_cleaned, work_done; in dpaa2_switch_poll() local
2837 err = dpaa2_switch_pull_fq(fq); in dpaa2_switch_poll()
2838 if (unlikely(err)) in dpaa2_switch_poll()
2859 err = dpaa2_io_service_rearm(NULL, &fq->nctx); in dpaa2_switch_poll()
2861 } while (err == -EBUSY && retries++ < DPAA2_SWITCH_SWP_BUSY_RETRIES); in dpaa2_switch_poll()
2882 int err, i, j; in dpaa2_switch_setup_dpio() local
2895 err = dpaa2_io_service_register(NULL, nctx, ethsw->dev); in dpaa2_switch_setup_dpio()
2896 if (err) { in dpaa2_switch_setup_dpio()
2897 err = -EPROBE_DEFER; in dpaa2_switch_setup_dpio()
2908 err = dpsw_ctrl_if_set_queue(ethsw->mc_io, 0, in dpaa2_switch_setup_dpio()
2912 if (err) in dpaa2_switch_setup_dpio()
2925 return err; in dpaa2_switch_setup_dpio()
2939 int err; in dpaa2_switch_ctrl_if_setup() local
2942 err = dpaa2_switch_setup_fqs(ethsw); in dpaa2_switch_ctrl_if_setup()
2943 if (err) in dpaa2_switch_ctrl_if_setup()
2944 return err; in dpaa2_switch_ctrl_if_setup()
2947 err = dpaa2_switch_setup_dpbp(ethsw); in dpaa2_switch_ctrl_if_setup()
2948 if (err) in dpaa2_switch_ctrl_if_setup()
2949 return err; in dpaa2_switch_ctrl_if_setup()
2951 err = dpaa2_switch_alloc_rings(ethsw); in dpaa2_switch_ctrl_if_setup()
2952 if (err) in dpaa2_switch_ctrl_if_setup()
2955 err = dpaa2_switch_setup_dpio(ethsw); in dpaa2_switch_ctrl_if_setup()
2956 if (err) in dpaa2_switch_ctrl_if_setup()
2959 err = dpaa2_switch_seed_bp(ethsw); in dpaa2_switch_ctrl_if_setup()
2960 if (err) in dpaa2_switch_ctrl_if_setup()
2963 err = dpsw_ctrl_if_enable(ethsw->mc_io, 0, ethsw->dpsw_handle); in dpaa2_switch_ctrl_if_setup()
2964 if (err) { in dpaa2_switch_ctrl_if_setup()
2965 dev_err(ethsw->dev, "dpsw_ctrl_if_enable err %d\n", err); in dpaa2_switch_ctrl_if_setup()
2980 return err; in dpaa2_switch_ctrl_if_setup()
3000 int err; in dpaa2_switch_init() local
3005 err = dpsw_open(ethsw->mc_io, 0, ethsw->dev_id, &ethsw->dpsw_handle); in dpaa2_switch_init()
3006 if (err) { in dpaa2_switch_init()
3007 dev_err(dev, "dpsw_open err %d\n", err); in dpaa2_switch_init()
3008 return err; in dpaa2_switch_init()
3011 err = dpsw_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_init()
3013 if (err) { in dpaa2_switch_init()
3014 dev_err(dev, "dpsw_get_attributes err %d\n", err); in dpaa2_switch_init()
3018 err = dpsw_get_api_version(ethsw->mc_io, 0, in dpaa2_switch_init()
3021 if (err) { in dpaa2_switch_init()
3022 dev_err(dev, "dpsw_get_api_version err %d\n", err); in dpaa2_switch_init()
3032 err = -EOPNOTSUPP; in dpaa2_switch_init()
3037 err = -EOPNOTSUPP; in dpaa2_switch_init()
3043 err = dpsw_reset(ethsw->mc_io, 0, ethsw->dpsw_handle); in dpaa2_switch_init()
3044 if (err) { in dpaa2_switch_init()
3045 dev_err(dev, "dpsw_reset err %d\n", err); in dpaa2_switch_init()
3053 err = dpsw_if_disable(ethsw->mc_io, 0, ethsw->dpsw_handle, i); in dpaa2_switch_init()
3054 if (err) { in dpaa2_switch_init()
3055 dev_err(dev, "dpsw_if_disable err %d\n", err); in dpaa2_switch_init()
3059 err = dpsw_if_set_stp(ethsw->mc_io, 0, ethsw->dpsw_handle, i, in dpaa2_switch_init()
3061 if (err) { in dpaa2_switch_init()
3062 dev_err(dev, "dpsw_if_set_stp err %d for port %d\n", in dpaa2_switch_init()
3063 err, i); in dpaa2_switch_init()
3072 err = dpsw_vlan_remove_if_untagged(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_init()
3074 if (err) { in dpaa2_switch_init()
3075 dev_err(dev, "dpsw_vlan_remove_if_untagged err %d\n", in dpaa2_switch_init()
3076 err); in dpaa2_switch_init()
3081 err = dpsw_if_set_tci(ethsw->mc_io, 0, ethsw->dpsw_handle, i, &tci_cfg); in dpaa2_switch_init()
3082 if (err) { in dpaa2_switch_init()
3083 dev_err(dev, "dpsw_if_set_tci err %d\n", err); in dpaa2_switch_init()
3087 err = dpsw_vlan_remove_if(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_init()
3089 if (err) { in dpaa2_switch_init()
3090 dev_err(dev, "dpsw_vlan_remove_if err %d\n", err); in dpaa2_switch_init()
3095 err = dpsw_vlan_remove(ethsw->mc_io, 0, ethsw->dpsw_handle, DEFAULT_VLAN_ID); in dpaa2_switch_init()
3096 if (err) { in dpaa2_switch_init()
3097 dev_err(dev, "dpsw_vlan_remove err %d\n", err); in dpaa2_switch_init()
3105 err = -ENOMEM; in dpaa2_switch_init()
3109 err = dpsw_fdb_remove(ethsw->mc_io, 0, ethsw->dpsw_handle, 0); in dpaa2_switch_init()
3110 if (err) in dpaa2_switch_init()
3113 err = dpaa2_switch_ctrl_if_setup(ethsw); in dpaa2_switch_init()
3114 if (err) in dpaa2_switch_init()
3124 return err; in dpaa2_switch_init()
3162 int err; in dpaa2_switch_port_init() local
3165 err = dpsw_if_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_init()
3167 if (err) { in dpaa2_switch_port_init()
3168 netdev_err(netdev, "dpsw_if_get_attributes err %d\n", err); in dpaa2_switch_port_init()
3169 return err; in dpaa2_switch_port_init()
3175 err = dpsw_fdb_add(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_init()
3177 if (err) { in dpaa2_switch_port_init()
3178 netdev_err(netdev, "dpsw_fdb_add err %d\n", err); in dpaa2_switch_port_init()
3179 return err; in dpaa2_switch_port_init()
3193 err = dpaa2_switch_port_vlans_add(netdev, &vlan); in dpaa2_switch_port_init()
3194 if (err) in dpaa2_switch_port_init()
3195 return err; in dpaa2_switch_port_init()
3198 err = dpaa2_switch_fdb_set_egress_flood(ethsw, port_priv->fdb->fdb_id); in dpaa2_switch_port_init()
3199 if (err) in dpaa2_switch_port_init()
3200 return err; in dpaa2_switch_port_init()
3204 err = dpsw_acl_add(ethsw->mc_io, 0, ethsw->dpsw_handle, in dpaa2_switch_port_init()
3206 if (err) { in dpaa2_switch_port_init()
3207 netdev_err(netdev, "dpsw_acl_add err %d\n", err); in dpaa2_switch_port_init()
3208 return err; in dpaa2_switch_port_init()
3219 err = dpaa2_switch_port_acl_tbl_bind(port_priv, filter_block); in dpaa2_switch_port_init()
3220 if (err) in dpaa2_switch_port_init()
3221 return err; in dpaa2_switch_port_init()
3223 err = dpaa2_switch_port_trap_mac_addr(port_priv, stpa); in dpaa2_switch_port_init()
3224 if (err) in dpaa2_switch_port_init()
3225 return err; in dpaa2_switch_port_init()
3227 return err; in dpaa2_switch_port_init()
3243 int err; in dpaa2_switch_teardown() local
3249 err = dpsw_close(ethsw->mc_io, 0, ethsw->dpsw_handle); in dpaa2_switch_teardown()
3250 if (err) in dpaa2_switch_teardown()
3251 dev_warn(dev, "dpsw_close err %d\n", err); in dpaa2_switch_teardown()
3293 int err; in dpaa2_switch_probe_port() local
3336 err = dpaa2_switch_port_init(port_priv, port_idx); in dpaa2_switch_probe_port()
3337 if (err) in dpaa2_switch_probe_port()
3340 err = dpaa2_switch_port_set_mac_addr(port_priv); in dpaa2_switch_probe_port()
3341 if (err) in dpaa2_switch_probe_port()
3344 err = dpaa2_switch_port_set_learning(port_priv, false); in dpaa2_switch_probe_port()
3345 if (err) in dpaa2_switch_probe_port()
3349 err = dpaa2_switch_port_connect_mac(port_priv); in dpaa2_switch_probe_port()
3350 if (err) in dpaa2_switch_probe_port()
3359 return err; in dpaa2_switch_probe_port()
3366 int i, err; in dpaa2_switch_probe() local
3378 err = fsl_mc_portal_allocate(sw_dev, FSL_MC_IO_ATOMIC_CONTEXT_PORTAL, in dpaa2_switch_probe()
3380 if (err) { in dpaa2_switch_probe()
3381 if (err == -ENXIO) in dpaa2_switch_probe()
3382 err = -EPROBE_DEFER; in dpaa2_switch_probe()
3384 dev_err(dev, "fsl_mc_portal_allocate err %d\n", err); in dpaa2_switch_probe()
3388 err = dpaa2_switch_init(sw_dev); in dpaa2_switch_probe()
3389 if (err) in dpaa2_switch_probe()
3395 err = -ENOMEM; in dpaa2_switch_probe()
3402 err = -ENOMEM; in dpaa2_switch_probe()
3410 err = -ENOMEM; in dpaa2_switch_probe()
3415 err = dpaa2_switch_probe_port(ethsw, i); in dpaa2_switch_probe()
3416 if (err) in dpaa2_switch_probe()
3429 err = dpaa2_switch_setup_irqs(sw_dev); in dpaa2_switch_probe()
3430 if (err) in dpaa2_switch_probe()
3442 err = register_netdev(ethsw->ports[i]->netdev); in dpaa2_switch_probe()
3443 if (err < 0) { in dpaa2_switch_probe()
3444 dev_err(dev, "register_netdev error %d\n", err); in dpaa2_switch_probe()
3476 return err; in dpaa2_switch_probe()
3511 int err; in dpaa2_switch_register_notifiers() local
3513 err = register_netdevice_notifier(&dpaa2_switch_port_nb); in dpaa2_switch_register_notifiers()
3514 if (err) { in dpaa2_switch_register_notifiers()
3515 pr_err("dpaa2-switch: failed to register net_device notifier (%d)\n", err); in dpaa2_switch_register_notifiers()
3516 return err; in dpaa2_switch_register_notifiers()
3519 err = register_switchdev_notifier(&dpaa2_switch_port_switchdev_nb); in dpaa2_switch_register_notifiers()
3520 if (err) { in dpaa2_switch_register_notifiers()
3521 pr_err("dpaa2-switch: failed to register switchdev notifier (%d)\n", err); in dpaa2_switch_register_notifiers()
3525 err = register_switchdev_blocking_notifier(&dpaa2_switch_port_switchdev_blocking_nb); in dpaa2_switch_register_notifiers()
3526 if (err) { in dpaa2_switch_register_notifiers()
3527 pr_err("dpaa2-switch: failed to register switchdev blocking notifier (%d)\n", err); in dpaa2_switch_register_notifiers()
3538 return err; in dpaa2_switch_register_notifiers()
3543 int err; in dpaa2_switch_unregister_notifiers() local
3545 err = unregister_switchdev_blocking_notifier(&dpaa2_switch_port_switchdev_blocking_nb); in dpaa2_switch_unregister_notifiers()
3546 if (err) in dpaa2_switch_unregister_notifiers()
3548 err); in dpaa2_switch_unregister_notifiers()
3550 err = unregister_switchdev_notifier(&dpaa2_switch_port_switchdev_nb); in dpaa2_switch_unregister_notifiers()
3551 if (err) in dpaa2_switch_unregister_notifiers()
3552 pr_err("dpaa2-switch: failed to unregister switchdev notifier (%d)\n", err); in dpaa2_switch_unregister_notifiers()
3554 err = unregister_netdevice_notifier(&dpaa2_switch_port_nb); in dpaa2_switch_unregister_notifiers()
3555 if (err) in dpaa2_switch_unregister_notifiers()
3556 pr_err("dpaa2-switch: failed to unregister net_device notifier (%d)\n", err); in dpaa2_switch_unregister_notifiers()
3561 int err; in dpaa2_switch_driver_init() local
3563 err = fsl_mc_driver_register(&dpaa2_switch_drv); in dpaa2_switch_driver_init()
3564 if (err) in dpaa2_switch_driver_init()
3565 return err; in dpaa2_switch_driver_init()
3567 err = dpaa2_switch_register_notifiers(); in dpaa2_switch_driver_init()
3568 if (err) { in dpaa2_switch_driver_init()
3570 return err; in dpaa2_switch_driver_init()