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, &ethsw->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 				  &ethsw->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 				     &ethsw->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);