ethsw 91 drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c struct ethsw_core *ethsw = port_priv->ethsw_data; ethsw 99 drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c err = dpsw_if_disable(ethsw->mc_io, 0, ethsw 100 drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c ethsw->dpsw_handle, ethsw 124 drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c ret = dpsw_if_enable(ethsw->mc_io, 0, ethsw 125 drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c ethsw->dpsw_handle, ethsw 29 drivers/staging/fsl-dpaa2/ethsw/ethsw.c static int ethsw_add_vlan(struct ethsw_core *ethsw, u16 vid) ethsw 37 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_vlan_add(ethsw->mc_io, 0, ethsw 38 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->dpsw_handle, vid, &vcfg); ethsw 40 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dev_err(ethsw->dev, "dpsw_vlan_add err %d\n", err); ethsw 43 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->vlans[vid] = ETHSW_VLAN_MEMBER; ethsw 50 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = port_priv->ethsw_data; ethsw 56 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_if_get_tci(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 68 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_if_disable(ethsw->mc_io, 0, ethsw 69 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->dpsw_handle, ethsw 77 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_if_set_tci(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 91 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ret = dpsw_if_enable(ethsw->mc_io, 0, ethsw 92 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->dpsw_handle, ethsw 106 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = port_priv->ethsw_data; ethsw 118 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_vlan_add_if(ethsw->mc_io, 0, ethsw->dpsw_handle, vid, &vcfg); ethsw 127 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_vlan_add_if_untagged(ethsw->mc_io, 0, ethsw 128 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->dpsw_handle, ethsw 147 drivers/staging/fsl-dpaa2/ethsw/ethsw.c static int ethsw_set_learning(struct ethsw_core *ethsw, bool enable) ethsw 157 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_fdb_set_learning_mode(ethsw->mc_io, 0, ethsw->dpsw_handle, 0, ethsw 160 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dev_err(ethsw->dev, "dpsw_fdb_set_learning_mode err %d\n", err); ethsw 163 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->learning = enable; ethsw 210 drivers/staging/fsl-dpaa2/ethsw/ethsw.c static int ethsw_dellink_switch(struct ethsw_core *ethsw, u16 vid) ethsw 215 drivers/staging/fsl-dpaa2/ethsw/ethsw.c if (!ethsw->vlans[vid]) ethsw 218 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_vlan_remove(ethsw->mc_io, 0, ethsw->dpsw_handle, vid); ethsw 220 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dev_err(ethsw->dev, "dpsw_vlan_remove err %d\n", err); ethsw 223 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->vlans[vid] = 0; ethsw 225 drivers/staging/fsl-dpaa2/ethsw/ethsw.c for (i = 0; i < ethsw->sw_attr.num_ifs; i++) { ethsw 226 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ppriv_local = ethsw->ports[i]; ethsw 618 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = port_priv->ethsw_data; ethsw 634 drivers/staging/fsl-dpaa2/ethsw/ethsw.c fdb_dump_size = ethsw->sw_attr.max_fdb_entries * sizeof(fdb_entry); ethsw 647 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_fdb_dump(ethsw->mc_io, 0, ethsw->dpsw_handle, 0, ethsw 700 drivers/staging/fsl-dpaa2/ethsw/ethsw.c static void ethsw_links_state_update(struct ethsw_core *ethsw) ethsw 704 drivers/staging/fsl-dpaa2/ethsw/ethsw.c for (i = 0; i < ethsw->sw_attr.num_ifs; i++) ethsw 705 drivers/staging/fsl-dpaa2/ethsw/ethsw.c port_carrier_state_sync(ethsw->ports[i]->netdev); ethsw 711 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = dev_get_drvdata(dev); ethsw 717 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_get_irq_status(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 722 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_clear_irq_status(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 730 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw_links_state_update(ethsw); ethsw 739 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = dev_get_drvdata(dev); ethsw 755 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_set_irq_enable(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 774 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_set_irq_mask(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 781 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_set_irq_enable(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 800 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = dev_get_drvdata(dev); ethsw 803 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_set_irq_enable(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 983 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = port_priv->ethsw_data; ethsw 1000 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_vlan_remove_if_untagged(ethsw->mc_io, 0, ethsw 1001 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->dpsw_handle, ethsw 1012 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_vlan_remove_if(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 1024 drivers/staging/fsl-dpaa2/ethsw/ethsw.c for (i = 0; i < ethsw->sw_attr.num_ifs; i++) ethsw 1025 drivers/staging/fsl-dpaa2/ethsw/ethsw.c if (ethsw->ports[i]->vlans[vid] & ETHSW_VLAN_MEMBER) ethsw 1028 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->vlans[vid] &= ~ETHSW_VLAN_GLOBAL; ethsw 1030 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = ethsw_dellink_switch(ethsw, vid); ethsw 1115 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = port_priv->ethsw_data; ethsw 1118 drivers/staging/fsl-dpaa2/ethsw/ethsw.c for (i = 0; i < ethsw->sw_attr.num_ifs; i++) ethsw 1119 drivers/staging/fsl-dpaa2/ethsw/ethsw.c if (ethsw->ports[i]->bridge_dev && ethsw 1120 drivers/staging/fsl-dpaa2/ethsw/ethsw.c (ethsw->ports[i]->bridge_dev != upper_dev)) { ethsw 1363 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = dev_get_drvdata(dev); ethsw 1368 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->dev_id = sw_dev->obj_desc.id; ethsw 1370 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_open(ethsw->mc_io, 0, ethsw->dev_id, ðsw->dpsw_handle); ethsw 1376 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_get_attributes(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 1377 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ðsw->sw_attr); ethsw 1383 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_get_api_version(ethsw->mc_io, 0, ethsw 1403 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_reset(ethsw->mc_io, 0, ethsw->dpsw_handle); ethsw 1409 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_fdb_set_learning_mode(ethsw->mc_io, 0, ethsw->dpsw_handle, 0, ethsw 1419 drivers/staging/fsl-dpaa2/ethsw/ethsw.c for (i = 0; i < ethsw->sw_attr.num_ifs; i++) { ethsw 1420 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_if_set_stp(ethsw->mc_io, 0, ethsw->dpsw_handle, i, ethsw 1428 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_if_set_broadcast(ethsw->mc_io, 0, ethsw 1429 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->dpsw_handle, i, 1); ethsw 1455 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dpsw_close(ethsw->mc_io, 0, ethsw->dpsw_handle); ethsw 1462 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = port_priv->ethsw_data; ethsw 1472 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_vlan_remove_if_untagged(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 1484 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_vlan_remove_if(ethsw->mc_io, 0, ethsw->dpsw_handle, ethsw 1517 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw = dev_get_drvdata(dev); ethsw 1522 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_close(ethsw->mc_io, 0, ethsw->dpsw_handle); ethsw 1530 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw; ethsw 1535 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw = dev_get_drvdata(dev); ethsw 1541 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dpsw_disable(ethsw->mc_io, 0, ethsw->dpsw_handle); ethsw 1543 drivers/staging/fsl-dpaa2/ethsw/ethsw.c for (i = 0; i < ethsw->sw_attr.num_ifs; i++) { ethsw 1544 drivers/staging/fsl-dpaa2/ethsw/ethsw.c port_priv = ethsw->ports[i]; ethsw 1548 drivers/staging/fsl-dpaa2/ethsw/ethsw.c kfree(ethsw->ports); ethsw 1551 drivers/staging/fsl-dpaa2/ethsw/ethsw.c fsl_mc_portal_free(ethsw->mc_io); ethsw 1553 drivers/staging/fsl-dpaa2/ethsw/ethsw.c kfree(ethsw); ethsw 1560 drivers/staging/fsl-dpaa2/ethsw/ethsw.c static int ethsw_probe_port(struct ethsw_core *ethsw, u16 port_idx) ethsw 1563 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct device *dev = ethsw->dev; ethsw 1575 drivers/staging/fsl-dpaa2/ethsw/ethsw.c port_priv->ethsw_data = ethsw; ethsw 1601 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->ports[port_idx] = port_priv; ethsw 1614 drivers/staging/fsl-dpaa2/ethsw/ethsw.c struct ethsw_core *ethsw; ethsw 1618 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw = kzalloc(sizeof(*ethsw), GFP_KERNEL); ethsw 1620 drivers/staging/fsl-dpaa2/ethsw/ethsw.c if (!ethsw) ethsw 1623 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->dev = dev; ethsw 1624 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dev_set_drvdata(dev, ethsw); ethsw 1627 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ðsw->mc_io); ethsw 1641 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->vlans[DEFAULT_VLAN_ID] = ETHSW_VLAN_MEMBER; ethsw 1644 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->learning = true; ethsw 1646 drivers/staging/fsl-dpaa2/ethsw/ethsw.c ethsw->ports = kcalloc(ethsw->sw_attr.num_ifs, sizeof(*ethsw->ports), ethsw 1648 drivers/staging/fsl-dpaa2/ethsw/ethsw.c if (!(ethsw->ports)) { ethsw 1653 drivers/staging/fsl-dpaa2/ethsw/ethsw.c for (i = 0; i < ethsw->sw_attr.num_ifs; i++) { ethsw 1654 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = ethsw_probe_port(ethsw, i); ethsw 1659 drivers/staging/fsl-dpaa2/ethsw/ethsw.c err = dpsw_enable(ethsw->mc_io, 0, ethsw->dpsw_handle); ethsw 1661 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dev_err(ethsw->dev, "dpsw_enable err %d\n", err); ethsw 1670 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dev_info(dev, "probed %d port switch\n", ethsw->sw_attr.num_ifs); ethsw 1674 drivers/staging/fsl-dpaa2/ethsw/ethsw.c dpsw_disable(ethsw->mc_io, 0, ethsw->dpsw_handle); ethsw 1679 drivers/staging/fsl-dpaa2/ethsw/ethsw.c unregister_netdev(ethsw->ports[i]->netdev); ethsw 1680 drivers/staging/fsl-dpaa2/ethsw/ethsw.c free_netdev(ethsw->ports[i]->netdev); ethsw 1682 drivers/staging/fsl-dpaa2/ethsw/ethsw.c kfree(ethsw->ports); ethsw 1688 drivers/staging/fsl-dpaa2/ethsw/ethsw.c fsl_mc_portal_free(ethsw->mc_io); ethsw 1691 drivers/staging/fsl-dpaa2/ethsw/ethsw.c kfree(ethsw);