Symbol: mlxsw_sp_port
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1000
mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, false, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1006
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1014
return PTR_ERR_OR_ZERO(mlxsw_sp_port_vlan_create(mlxsw_sp_port, vid));
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1020
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1029
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1037
static int mlxsw_sp_setup_tc_block(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1042
return mlxsw_sp_setup_tc_block_clsact(mlxsw_sp_port, f, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1044
return mlxsw_sp_setup_tc_block_clsact(mlxsw_sp_port, f, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1046
return mlxsw_sp_setup_tc_block_qevent_early_drop(mlxsw_sp_port, f);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1048
return mlxsw_sp_setup_tc_block_qevent_mark(mlxsw_sp_port, f);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1057
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1061
return mlxsw_sp_setup_tc_block(mlxsw_sp_port, type_data);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1063
return mlxsw_sp_setup_tc_red(mlxsw_sp_port, type_data);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1065
return mlxsw_sp_setup_tc_prio(mlxsw_sp_port, type_data);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1067
return mlxsw_sp_setup_tc_ets(mlxsw_sp_port, type_data);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1069
return mlxsw_sp_setup_tc_tbf(mlxsw_sp_port, type_data);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1071
return mlxsw_sp_setup_tc_fifo(mlxsw_sp_port, type_data);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1079
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1082
if (mlxsw_sp_flow_block_rule_count(mlxsw_sp_port->ing_flow_block) ||
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1083
mlxsw_sp_flow_block_rule_count(mlxsw_sp_port->eg_flow_block)) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1087
mlxsw_sp_flow_block_disable_inc(mlxsw_sp_port->ing_flow_block);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1088
mlxsw_sp_flow_block_disable_inc(mlxsw_sp_port->eg_flow_block);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1090
mlxsw_sp_flow_block_disable_dec(mlxsw_sp_port->ing_flow_block);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1091
mlxsw_sp_flow_block_disable_dec(mlxsw_sp_port->eg_flow_block);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1098
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1103
mlxsw_sp_port_admin_status_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1105
mlxsw_reg_pplr_pack(pplr_pl, mlxsw_sp_port->local_port, enable);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1106
err = mlxsw_reg_write(mlxsw_sp_port->mlxsw_sp->core, MLXSW_REG(pplr),
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1110
mlxsw_sp_port_admin_status_set(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1166
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1168
return mlxsw_sp_port->mlxsw_sp->ptp_ops->hwtstamp_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1175
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1177
return mlxsw_sp_port->mlxsw_sp->ptp_ops->hwtstamp_get(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1181
static inline void mlxsw_sp_port_ptp_clear(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1185
mlxsw_sp_port->mlxsw_sp->ptp_ops->hwtstamp_set(mlxsw_sp_port, &config,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1208
mlxsw_sp_port_speed_by_width_set(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1210
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1222
ops->reg_ptys_eth_pack(mlxsw_sp, ptys_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1231
ops->reg_ptys_eth_pack(mlxsw_sp, ptys_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1233
mlxsw_sp_port->link.autoneg);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1237
int mlxsw_sp_port_speed_get(struct mlxsw_sp_port *mlxsw_sp_port, u32 *speed)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1240
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1247
mlxsw_sp_port->local_port, 0,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1258
int mlxsw_sp_port_ets_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1262
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1265
mlxsw_reg_qeec_pack(qeec_pl, mlxsw_sp_port->local_port, hr, index,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1273
int mlxsw_sp_port_ets_maxrate_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1277
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1280
mlxsw_reg_qeec_pack(qeec_pl, mlxsw_sp_port->local_port, hr, index,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1288
static int mlxsw_sp_port_min_bw_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1292
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1295
mlxsw_reg_qeec_pack(qeec_pl, mlxsw_sp_port->local_port, hr, index,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1303
int mlxsw_sp_port_prio_tc_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1306
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1309
mlxsw_reg_qtct_pack(qtct_pl, mlxsw_sp_port->local_port, switch_prio,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1314
static int mlxsw_sp_port_ets_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1321
err = mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1326
err = mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1333
err = mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1339
err = mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1351
err = mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1357
err = mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1365
err = mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1372
err = mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1382
err = mlxsw_sp_port_min_bw_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1392
err = mlxsw_sp_port_prio_tc_set(mlxsw_sp_port, i, 0);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1400
static int mlxsw_sp_port_tc_mc_mode_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1403
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1406
mlxsw_reg_qtctm_pack(qtctm_pl, mlxsw_sp_port->local_port, enable);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1410
static int mlxsw_sp_port_overheat_init_val_set(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1412
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1413
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1414
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1423
mlxsw_sp_port->module_overheat_initial_val = overheat_counter;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1428
mlxsw_sp_port_vlan_classification_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1432
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1435
mlxsw_reg_spvc_pack(spvc_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1462
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1504
dev = alloc_etherdev(sizeof(struct mlxsw_sp_port));
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1511
mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1513
mlxsw_sp_port, dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1514
mlxsw_sp_port->dev = dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1515
mlxsw_sp_port->mlxsw_sp = mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1516
mlxsw_sp_port->local_port = local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1517
mlxsw_sp_port->pvid = MLXSW_SP_DEFAULT_VID;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1518
mlxsw_sp_port->split = split;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1519
mlxsw_sp_port->mapping = *port_mapping;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1520
mlxsw_sp_port->link.autoneg = 1;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1521
INIT_LIST_HEAD(&mlxsw_sp_port->vlans_list);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1523
mlxsw_sp_port->pcpu_stats =
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1525
if (!mlxsw_sp_port->pcpu_stats) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1530
INIT_DELAYED_WORK(&mlxsw_sp_port->periodic_hw_stats.update_dw,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1536
err = mlxsw_sp_port_dev_addr_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1539
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1561
err = mlxsw_sp_port_system_port_mapping_set(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1564
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1568
err = mlxsw_sp_port_speed_by_width_set(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1571
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1575
err = mlxsw_sp->port_type_speed_ops->ptys_max_speed(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1576
&mlxsw_sp_port->max_speed);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1579
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1583
err = mlxsw_sp_port_mtu_set(mlxsw_sp_port, ETH_DATA_LEN);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1586
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1590
err = mlxsw_sp_port_admin_status_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1594
err = mlxsw_sp_port_buffers_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1597
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1601
err = mlxsw_sp_port_ets_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1604
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1608
err = mlxsw_sp_port_tc_mc_mode_set(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1611
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1616
err = mlxsw_sp_port_dcb_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1619
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1623
err = mlxsw_sp_port_fids_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1626
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1630
err = mlxsw_sp_tc_qdisc_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1633
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1637
err = mlxsw_sp_port_vlan_set(mlxsw_sp_port, 0, VLAN_N_VID - 1, false,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1641
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1645
err = mlxsw_sp_port_nve_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1648
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1652
err = mlxsw_sp_port_pvid_set(mlxsw_sp_port, MLXSW_SP_DEFAULT_VID,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1656
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1660
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_create(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1664
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1668
mlxsw_sp_port->default_vlan = mlxsw_sp_port_vlan;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1673
err = mlxsw_sp_port_vlan_classification_set(mlxsw_sp_port, false, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1680
INIT_DELAYED_WORK(&mlxsw_sp_port->ptp.shaper_dw,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1683
mlxsw_sp->ports[local_port] = mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1685
err = mlxsw_sp_port_overheat_init_val_set(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1688
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1695
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1699
mlxsw_core_schedule_dw(&mlxsw_sp_port->periodic_hw_stats.update_dw, 0);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1704
mlxsw_sp_port_vlan_classification_set(mlxsw_sp_port, true, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1710
mlxsw_sp_port_nve_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1713
mlxsw_sp_tc_qdisc_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1715
mlxsw_sp_port_fids_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1717
mlxsw_sp_port_dcb_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1719
mlxsw_sp_port_tc_mc_mode_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1722
mlxsw_sp_port_buffers_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1730
free_percpu(mlxsw_sp_port->pcpu_stats);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1748
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1749
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1750
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1752
cancel_delayed_work_sync(&mlxsw_sp_port->periodic_hw_stats.update_dw);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1753
cancel_delayed_work_sync(&mlxsw_sp_port->ptp.shaper_dw);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1754
unregister_netdev(mlxsw_sp_port->dev); /* This calls ndo_stop */
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1755
mlxsw_sp_port_ptp_clear(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1756
mlxsw_sp_port_vlan_classification_set(mlxsw_sp_port, true, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1758
mlxsw_sp_port_vlan_flush(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1759
mlxsw_sp_port_nve_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1760
mlxsw_sp_tc_qdisc_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1761
mlxsw_sp_port_fids_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1762
mlxsw_sp_port_dcb_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1763
mlxsw_sp_port_tc_mc_mode_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1764
mlxsw_sp_port_buffers_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1765
free_percpu(mlxsw_sp_port->pcpu_stats);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1766
WARN_ON_ONCE(!list_empty(&mlxsw_sp_port->vlans_list));
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1767
free_netdev(mlxsw_sp_port->dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1776
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1779
mlxsw_sp_port = kzalloc_obj(*mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1780
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1783
mlxsw_sp_port->mlxsw_sp = mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1784
mlxsw_sp_port->local_port = MLXSW_PORT_CPU_PORT;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1787
mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1795
mlxsw_sp->ports[MLXSW_PORT_CPU_PORT] = mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1799
kfree(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1805
struct mlxsw_sp_port *mlxsw_sp_port =
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1810
kfree(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
1968
alloc_size = sizeof(struct mlxsw_sp_port *) * max_ports;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2099
static struct mlxsw_sp_port *
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2113
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2119
mlxsw_sp_port = mlxsw_sp_port_get_by_local_port(mlxsw_sp, local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2120
if (!mlxsw_sp_port) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2127
if (mlxsw_sp_port->split) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2132
mlxsw_reg_pmtdb_pack(pmtdb_pl, mlxsw_sp_port->mapping.slot_index,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2133
mlxsw_sp_port->mapping.module,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2134
mlxsw_sp_port->mapping.module_width / count,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2148
port_mapping = mlxsw_sp_port->mapping;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2176
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2182
mlxsw_sp_port = mlxsw_sp_port_get_by_local_port(mlxsw_sp, local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2183
if (!mlxsw_sp_port) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2190
if (!mlxsw_sp_port->split) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2195
count = mlxsw_sp_port->mapping.module_width /
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2196
mlxsw_sp_port->mapping.width;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2198
mlxsw_reg_pmtdb_pack(pmtdb_pl, mlxsw_sp_port->mapping.slot_index,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2199
mlxsw_sp_port->mapping.module,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2200
mlxsw_sp_port->mapping.module_width / count,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2221
mlxsw_sp_port_down_wipe_counters(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2226
mlxsw_sp_port->periodic_hw_stats.xstats.backlog[i] = 0;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2233
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2241
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2242
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2247
netdev_info(mlxsw_sp_port->dev, "link up\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2248
netif_carrier_on(mlxsw_sp_port->dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2249
mlxsw_core_schedule_dw(&mlxsw_sp_port->ptp.shaper_dw, 0);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2251
netdev_info(mlxsw_sp_port->dev, "link down\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2252
netif_carrier_off(mlxsw_sp_port->dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2253
mlxsw_sp_port_down_wipe_counters(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2301
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2304
if (unlikely(!mlxsw_sp_port)) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2310
skb->dev = mlxsw_sp_port->dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
2312
pcpu_stats = this_cpu_ptr(mlxsw_sp_port->pcpu_stats);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
240
int mlxsw_sp_port_vid_stp_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
244
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
251
mlxsw_reg_spms_pack(spms_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
271
int mlxsw_sp_port_admin_status_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
274
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
277
mlxsw_reg_paos_pack(paos_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
283
static int mlxsw_sp_port_dev_addr_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
286
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
289
mlxsw_reg_ppad_pack(ppad_pl, true, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
294
static int mlxsw_sp_port_dev_addr_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
296
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
298
eth_hw_addr_gen(mlxsw_sp_port->dev, mlxsw_sp->base_mac,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
299
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
300
return mlxsw_sp_port_dev_addr_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
301
mlxsw_sp_port->dev->dev_addr);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
304
static int mlxsw_sp_port_mtu_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 mtu)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
306
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
311
mlxsw_reg_pmtu_pack(pmtu_pl, mlxsw_sp_port->local_port, mtu);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
324
int mlxsw_sp_port_vp_mode_set(struct mlxsw_sp_port *mlxsw_sp_port, bool enable)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
326
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
329
mlxsw_reg_svpe_pack(svpe_pl, mlxsw_sp_port->local_port, enable);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
333
int mlxsw_sp_port_vid_learning_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
336
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
343
mlxsw_reg_spvmlr_pack(spvmlr_pl, mlxsw_sp_port->local_port, vid, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
350
int mlxsw_sp_port_security_set(struct mlxsw_sp_port *mlxsw_sp_port, bool enable)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
352
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
356
if (mlxsw_sp_port->security == enable)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
359
mlxsw_reg_spfsr_pack(spfsr_pl, mlxsw_sp_port->local_port, enable);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
364
mlxsw_sp_port->security = enable;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
384
int mlxsw_sp_port_egress_ethtype_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
387
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
396
mlxsw_reg_spevet_pack(spevet_pl, mlxsw_sp_port->local_port, sver_type);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3986
struct mlxsw_sp_port *mlxsw_sp_port_dev_lower_find(struct net_device *dev)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
3997
return (struct mlxsw_sp_port *)priv.data;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
400
static int __mlxsw_sp_port_pvid_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4002
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4004
mlxsw_sp_port = mlxsw_sp_port_dev_lower_find(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4005
return mlxsw_sp_port ? mlxsw_sp_port->mlxsw_sp : NULL;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4008
struct mlxsw_sp_port *mlxsw_sp_port_dev_lower_find_rcu(struct net_device *dev)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4020
return (struct mlxsw_sp_port *)priv.data;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
403
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4087
mlxsw_sp_port_lag_uppers_cleanup(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4095
mlxsw_sp_port_bridge_leave(mlxsw_sp_port, lag_dev, br_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4101
mlxsw_sp_port_bridge_leave(mlxsw_sp_port, upper_dev, br_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
412
mlxsw_reg_spvid_pack(spvid_pl, mlxsw_sp_port->local_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4150
static int mlxsw_sp_lag_col_port_add(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4153
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4156
mlxsw_reg_slcor_port_add_pack(slcor_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4161
static int mlxsw_sp_lag_col_port_remove(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4164
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4167
mlxsw_reg_slcor_port_remove_pack(slcor_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4172
static int mlxsw_sp_lag_col_port_enable(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4175
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4178
mlxsw_reg_slcor_col_enable_pack(slcor_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
418
static int mlxsw_sp_port_allow_untagged_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4183
static int mlxsw_sp_lag_col_port_disable(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4186
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4189
mlxsw_reg_slcor_col_disable_pack(slcor_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
421
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
424
mlxsw_reg_spaft_pack(spaft_pl, mlxsw_sp_port->local_port, allow);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4264
static int mlxsw_sp_lag_uppers_bridge_join(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4276
err = mlxsw_sp_port_bridge_join(mlxsw_sp_port, lag_dev, master,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
428
int mlxsw_sp_port_pvid_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4288
err = mlxsw_sp_port_bridge_join(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4312
mlxsw_sp_port_bridge_leave(mlxsw_sp_port, upper_dev, master);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4317
mlxsw_sp_port_bridge_leave(mlxsw_sp_port, lag_dev, master);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4323
mlxsw_sp_lag_uppers_bridge_leave(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4338
mlxsw_sp_port_bridge_leave(mlxsw_sp_port, upper_dev, master);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
434
err = mlxsw_sp_port_allow_untagged_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4343
mlxsw_sp_port_bridge_leave(mlxsw_sp_port, lag_dev, master);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4346
static int mlxsw_sp_port_lag_join(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4350
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4365
err = mlxsw_sp_lag_uppers_bridge_join(mlxsw_sp_port, lag_dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4370
err = mlxsw_sp_lag_col_port_add(mlxsw_sp_port, lag_id, port_index);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4375
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4376
mlxsw_sp_port->lag_id = lag_id;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4377
mlxsw_sp_port->lagged = 1;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4379
err = mlxsw_sp_fid_port_join_lag(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
438
err = __mlxsw_sp_port_pvid_set(mlxsw_sp_port, vid, ethtype);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4384
if (mlxsw_sp_port->default_vlan->fid)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4385
mlxsw_sp_port_vlan_router_leave(mlxsw_sp_port->default_vlan);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4388
err = mlxsw_sp_router_port_join_lag(mlxsw_sp_port, lag_dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4400
mlxsw_sp_router_port_leave_lag(mlxsw_sp_port, lag_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4402
mlxsw_sp_fid_port_leave_lag(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4404
mlxsw_sp_port->lagged = 0;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4406
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4407
mlxsw_sp_lag_col_port_remove(mlxsw_sp_port, lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4409
mlxsw_sp_lag_uppers_bridge_leave(mlxsw_sp_port, lag_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
441
err = mlxsw_sp_port_allow_untagged_set(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4415
static void mlxsw_sp_port_lag_leave(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4418
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4419
u16 lag_id = mlxsw_sp_port->lag_id;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4422
if (!mlxsw_sp_port->lagged)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4426
mlxsw_sp_lag_col_port_remove(mlxsw_sp_port, lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4429
mlxsw_sp_port_vlan_flush(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4430
mlxsw_sp_port_vlan_cleanup(mlxsw_sp_port->default_vlan);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4434
mlxsw_sp_port_lag_uppers_cleanup(mlxsw_sp_port, lag_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4436
mlxsw_sp_fid_port_leave_lag(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4441
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4442
mlxsw_sp_port->lagged = 0;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4445
mlxsw_sp_port_pvid_set(mlxsw_sp_port, MLXSW_SP_DEFAULT_VID,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4449
static int mlxsw_sp_lag_dist_port_add(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4452
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4456
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
446
mlxsw_sp_port->pvid = vid;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4460
static int mlxsw_sp_lag_dist_port_remove(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4463
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4467
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4472
mlxsw_sp_port_lag_col_dist_enable(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4476
err = mlxsw_sp_lag_col_port_enable(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4477
mlxsw_sp_port->lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4481
err = mlxsw_sp_lag_dist_port_add(mlxsw_sp_port, mlxsw_sp_port->lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4488
mlxsw_sp_lag_col_port_disable(mlxsw_sp_port, mlxsw_sp_port->lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4493
mlxsw_sp_port_lag_col_dist_disable(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4497
err = mlxsw_sp_lag_dist_port_remove(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4498
mlxsw_sp_port->lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
450
__mlxsw_sp_port_pvid_set(mlxsw_sp_port, mlxsw_sp_port->pvid, ethtype);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4502
err = mlxsw_sp_lag_col_port_disable(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4503
mlxsw_sp_port->lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4510
mlxsw_sp_lag_dist_port_add(mlxsw_sp_port, mlxsw_sp_port->lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4514
static int mlxsw_sp_port_lag_changed(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4518
return mlxsw_sp_port_lag_col_dist_enable(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4520
return mlxsw_sp_port_lag_col_dist_disable(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4523
static int mlxsw_sp_port_stp_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4526
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4538
mlxsw_reg_spms_pack(spms_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4548
static int mlxsw_sp_port_ovs_join(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
455
mlxsw_sp_port_system_port_mapping_set(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4553
err = mlxsw_sp_port_vp_mode_set(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4556
err = mlxsw_sp_port_stp_set(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4559
err = mlxsw_sp_port_vlan_set(mlxsw_sp_port, 1, VLAN_N_VID - 2,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4565
err = mlxsw_sp_port_vid_learning_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
457
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4575
mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4577
mlxsw_sp_port_stp_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4579
mlxsw_sp_port_vp_mode_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4583
static void mlxsw_sp_port_ovs_leave(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4588
mlxsw_sp_port_vid_learning_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4591
mlxsw_sp_port_vlan_set(mlxsw_sp_port, 1, VLAN_N_VID - 2,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4593
mlxsw_sp_port_stp_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4594
mlxsw_sp_port_vp_mode_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
460
mlxsw_reg_sspr_pack(sspr_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4716
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4723
mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4724
mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4808
if (is_vlan_dev(upper_dev) && mlxsw_sp_port->security) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4817
err = mlxsw_sp_port_bridge_join(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4822
mlxsw_sp_port_bridge_leave(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4832
err = mlxsw_sp_port_lag_join(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4835
mlxsw_sp_port_lag_col_dist_disable(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4836
mlxsw_sp_port_lag_leave(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4843
err = mlxsw_sp_port_ovs_join(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4845
mlxsw_sp_port_ovs_leave(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4857
mlxsw_sp_port_bridge_leave(mlxsw_sp_port, upper_dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4870
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4873
mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4878
if (netif_is_lag_port(dev) && mlxsw_sp_port->lagged) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4879
err = mlxsw_sp_port_lag_changed(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4957
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4958
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
4997
err = mlxsw_sp_port_bridge_join(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
5002
mlxsw_sp_port_bridge_leave(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
579
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
580
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
584
mlxsw_sp_port->mapping.slot_index,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
585
mlxsw_sp_port->mapping.module);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
588
err = mlxsw_sp_port_admin_status_set(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
596
mlxsw_sp_port->mapping.slot_index,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
597
mlxsw_sp_port->mapping.module);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
603
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
604
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
607
mlxsw_sp_port_admin_status_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
609
mlxsw_sp_port->mapping.slot_index,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
610
mlxsw_sp_port->mapping.module);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
617
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
618
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
621
.tx_info.local_port = mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
633
this_cpu_inc(mlxsw_sp_port->pcpu_stats->tx_dropped);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
639
this_cpu_inc(mlxsw_sp_port->pcpu_stats->tx_dropped);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
654
pcpu_stats = this_cpu_ptr(mlxsw_sp_port->pcpu_stats);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
660
this_cpu_inc(mlxsw_sp_port->pcpu_stats->tx_dropped);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
672
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
679
err = mlxsw_sp_port_dev_addr_set(mlxsw_sp_port, addr->sa_data);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
688
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
693
orig_hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
697
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
699
err = mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
705
err = mlxsw_sp_port_mtu_set(mlxsw_sp_port, mtu);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
712
mlxsw_sp_hdroom_configure(mlxsw_sp_port, &orig_hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
720
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
728
p = per_cpu_ptr(mlxsw_sp_port->pcpu_stats, i);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
772
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
773
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
775
mlxsw_reg_ppcnt_pack(ppcnt_pl, mlxsw_sp_port->local_port, grp, prio);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
866
struct mlxsw_sp_port *mlxsw_sp_port =
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
867
container_of(work, struct mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
870
if (!netif_carrier_ok(mlxsw_sp_port->dev))
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
876
mlxsw_sp_port_get_hw_stats(mlxsw_sp_port->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
877
&mlxsw_sp_port->periodic_hw_stats.stats);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
878
mlxsw_sp_port_get_hw_xstats(mlxsw_sp_port->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
879
&mlxsw_sp_port->periodic_hw_stats.xstats);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
882
mlxsw_core_schedule_dw(&mlxsw_sp_port->periodic_hw_stats.update_dw,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
893
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
895
memcpy(stats, &mlxsw_sp_port->periodic_hw_stats.stats, sizeof(*stats));
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
898
static int __mlxsw_sp_port_vlan_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
902
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
910
mlxsw_reg_spvm_pack(spvm_pl, mlxsw_sp_port->local_port, vid_begin,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
917
int mlxsw_sp_port_vlan_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid_begin,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
928
err = __mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid_e,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
937
static void mlxsw_sp_port_vlan_flush(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
943
&mlxsw_sp_port->vlans_list, list) {
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
961
mlxsw_sp_port_vlan_create(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid)
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
967
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
971
err = mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, true, untagged);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
981
mlxsw_sp_port_vlan->mlxsw_sp_port = mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
983
list_add(&mlxsw_sp_port_vlan->list, &mlxsw_sp_port->vlans_list);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
988
mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, false, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
994
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1167
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1171
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1218
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1221
struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1247
int mlxsw_sp_tc_qdisc_init(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1248
void mlxsw_sp_tc_qdisc_fini(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1249
int mlxsw_sp_setup_tc_red(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1251
int mlxsw_sp_setup_tc_prio(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1253
int mlxsw_sp_setup_tc_ets(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1255
int mlxsw_sp_setup_tc_tbf(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1257
int mlxsw_sp_setup_tc_fifo(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1259
int mlxsw_sp_setup_tc_block_qevent_early_drop(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1261
int mlxsw_sp_setup_tc_block_qevent_mark(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1287
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1289
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1310
int mlxsw_sp_port_fids_init(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1311
void mlxsw_sp_port_fids_fini(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1312
int mlxsw_sp_fid_port_join_lag(const struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1313
void mlxsw_sp_fid_port_leave_lag(const struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1392
int mlxsw_sp_port_nve_init(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
1393
void mlxsw_sp_port_nve_fini(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
158
struct mlxsw_sp_port **ports;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
235
int (*hwtstamp_get)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
237
int (*hwtstamp_set)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
245
void (*get_stats)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
287
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
375
int (*ptys_max_speed)(struct mlxsw_sp_port *mlxsw_sp_port, u32 *p_max_speed);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
468
mlxsw_sp_port_is_pause_en(const struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
470
return mlxsw_sp_port->link.tx_pause || mlxsw_sp_port->link.rx_pause;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
473
static inline struct mlxsw_sp_port *
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
476
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
481
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
482
return mlxsw_sp_port && mlxsw_sp_port->lagged ? mlxsw_sp_port : NULL;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
486
mlxsw_sp_port_vlan_find_by_vid(const struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
491
list_for_each_entry(mlxsw_sp_port_vlan, &mlxsw_sp_port->vlans_list,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
512
int mlxsw_sp_port_admin_status_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
515
mlxsw_sp_port_vlan_classification_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
580
int mlxsw_sp_port_buffers_init(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
581
void mlxsw_sp_port_buffers_fini(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
619
void mlxsw_sp_hdroom_bufs_reset_sizes(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
621
int mlxsw_sp_hdroom_configure(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
654
int mlxsw_sp_port_bridge_join(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
658
void mlxsw_sp_port_bridge_leave(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
676
int mlxsw_sp_port_speed_get(struct mlxsw_sp_port *mlxsw_sp_port, u32 *speed);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
677
int mlxsw_sp_port_ets_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
680
int mlxsw_sp_port_prio_tc_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
682
int mlxsw_sp_port_ets_maxrate_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
686
int mlxsw_sp_port_vid_stp_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
688
int mlxsw_sp_port_vp_mode_set(struct mlxsw_sp_port *mlxsw_sp_port, bool enable);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
689
int mlxsw_sp_port_vid_learning_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
691
int mlxsw_sp_port_security_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
694
int mlxsw_sp_port_egress_ethtype_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
696
int mlxsw_sp_port_pvid_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
699
mlxsw_sp_port_vlan_create(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
703
int mlxsw_sp_port_vlan_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid_begin,
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
714
struct mlxsw_sp_port *mlxsw_sp_port_dev_lower_find(struct net_device *dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
715
struct mlxsw_sp_port *mlxsw_sp_port_dev_lower_find_rcu(struct net_device *dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
723
int mlxsw_sp_port_dcb_init(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
724
void mlxsw_sp_port_dcb_fini(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
726
static inline int mlxsw_sp_port_dcb_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
730
static inline void mlxsw_sp_port_dcb_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
75
struct mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
895
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum.h
952
int mlxsw_sp_setup_tc_block_clsact(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
114
binding->mlxsw_sp_port, binding->ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
125
binding->mlxsw_sp_port, binding->ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
421
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
430
mlxsw_sp_port = netdev_priv(out_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
431
if (mlxsw_sp_port->mlxsw_sp != mlxsw_sp) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
435
local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
455
struct mlxsw_sp_port *in_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
463
in_port = binding->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
796
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
804
mlxsw_sp_port = binding->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c
807
mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
140
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
149
mlxsw_sp_port = mlxsw_sp->ports[local_in_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
150
err = mlxsw_sp_span_analyzed_port_get(mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
164
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
167
mlxsw_sp_port = mlxsw_sp->ports[local_in_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
168
mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
240
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
259
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
260
err = mlxsw_sp_span_analyzed_port_get(mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
281
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
284
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c
285
mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1717
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1723
mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1729
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1735
mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1858
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
1868
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
309
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
316
MLXSW_REG_PXBT_OP_BIND, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
324
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
331
MLXSW_REG_PXBT_OP_UNBIND, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h
45
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h
48
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1001
return __mlxsw_sp_sb_cms_init(mlxsw_sp_port->mlxsw_sp,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1002
mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1094
static int mlxsw_sp_port_sb_pms_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1096
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1098
return mlxsw_sp_sb_pms_init(mlxsw_sp, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1322
int mlxsw_sp_port_buffers_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1326
mlxsw_sp_port->hdroom = kzalloc_obj(*mlxsw_sp_port->hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1327
if (!mlxsw_sp_port->hdroom)
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1329
mlxsw_sp_port->hdroom->mtu = mlxsw_sp_port->dev->mtu;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1331
err = mlxsw_sp_port_headroom_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1334
err = mlxsw_sp_port_sb_cms_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1337
err = mlxsw_sp_port_sb_pms_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1345
kfree(mlxsw_sp_port->hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1349
void mlxsw_sp_port_buffers_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1351
kfree(mlxsw_sp_port->hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
138
static u32 mlxsw_sp_port_headroom_8x_adjust(const struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1442
struct mlxsw_sp_port *mlxsw_sp_port =
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1444
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1445
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
145
return mlxsw_sp_port->mapping.width == 8 ? 2 * size_cells : size_cells;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1458
struct mlxsw_sp_port *mlxsw_sp_port =
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1460
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1461
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1484
struct mlxsw_sp_port *mlxsw_sp_port =
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1486
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1487
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1505
struct mlxsw_sp_port *mlxsw_sp_port =
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1507
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1508
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1765
struct mlxsw_sp_port *mlxsw_sp_port =
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1767
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1768
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1782
struct mlxsw_sp_port *mlxsw_sp_port =
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1784
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
1785
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
398
void mlxsw_sp_hdroom_bufs_reset_sizes(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
401
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
402
unsigned int max_mtu = mlxsw_sp_port->dev->max_mtu;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
409
mlxsw_sp_port->max_speed);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
410
reserve_cells = mlxsw_sp_port_headroom_8x_adjust(mlxsw_sp_port, reserve_cells);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
435
thres_cells = mlxsw_sp_port_headroom_8x_adjust(mlxsw_sp_port, thres_cells);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
436
delay_cells = mlxsw_sp_port_headroom_8x_adjust(mlxsw_sp_port, delay_cells);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
452
static int mlxsw_sp_hdroom_configure_buffers(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
455
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
461
dirty = memcmp(&mlxsw_sp_port->hdroom->bufs, &hdroom->bufs, sizeof(hdroom->bufs));
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
465
mlxsw_reg_pbmc_pack(pbmc_pl, mlxsw_sp_port->local_port, 0xffff, 0xffff / 2);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
480
mlxsw_sp_port->hdroom->bufs = hdroom->bufs;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
484
static int mlxsw_sp_hdroom_configure_priomap(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
492
dirty = memcmp(&mlxsw_sp_port->hdroom->prios, &hdroom->prios, sizeof(hdroom->prios));
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
496
mlxsw_reg_pptb_pack(pptb_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
500
err = mlxsw_reg_write(mlxsw_sp_port->mlxsw_sp->core, MLXSW_REG(pptb), pptb_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
504
mlxsw_sp_port->hdroom->prios = hdroom->prios;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
508
static int mlxsw_sp_hdroom_configure_int_buf(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
515
dirty = memcmp(&mlxsw_sp_port->hdroom->int_buf, &hdroom->int_buf, sizeof(hdroom->int_buf));
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
519
mlxsw_reg_sbib_pack(sbib_pl, mlxsw_sp_port->local_port, hdroom->int_buf.size_cells);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
520
err = mlxsw_reg_write(mlxsw_sp_port->mlxsw_sp->core, MLXSW_REG(sbib), sbib_pl);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
524
mlxsw_sp_port->hdroom->int_buf = hdroom->int_buf;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
541
static int __mlxsw_sp_hdroom_configure(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
557
orig_hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
564
if (!mlxsw_sp_hdroom_bufs_fit(mlxsw_sp_port->mlxsw_sp, &tmp_hdroom) ||
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
565
!mlxsw_sp_hdroom_bufs_fit(mlxsw_sp_port->mlxsw_sp, hdroom))
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
568
err = mlxsw_sp_hdroom_configure_buffers(mlxsw_sp_port, &tmp_hdroom, force);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
572
err = mlxsw_sp_hdroom_configure_priomap(mlxsw_sp_port, hdroom, force);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
576
err = mlxsw_sp_hdroom_configure_buffers(mlxsw_sp_port, hdroom, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
580
err = mlxsw_sp_hdroom_configure_int_buf(mlxsw_sp_port, hdroom, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
584
*mlxsw_sp_port->hdroom = *hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
588
mlxsw_sp_hdroom_configure_buffers(mlxsw_sp_port, &tmp_hdroom, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
590
mlxsw_sp_hdroom_configure_priomap(mlxsw_sp_port, &tmp_hdroom, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
592
mlxsw_sp_hdroom_configure_buffers(mlxsw_sp_port, &orig_hdroom, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
596
int mlxsw_sp_hdroom_configure(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
599
return __mlxsw_sp_hdroom_configure(mlxsw_sp_port, hdroom, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
602
static int mlxsw_sp_port_headroom_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
604
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
609
hdroom.mtu = mlxsw_sp_port->dev->mtu;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
615
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
618
size9 = mlxsw_sp_port_headroom_8x_adjust(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
619
mlxsw_sp_port->dev->max_mtu +
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
623
return __mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
989
static int mlxsw_sp_port_sb_cms_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
991
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
995
mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
103
err = mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
114
err = mlxsw_sp_port_prio_tc_set(mlxsw_sp_port, i,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
124
err = mlxsw_sp_port_headroom_ets_set(mlxsw_sp_port, ets);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
134
mlxsw_sp_port_prio_tc_set(mlxsw_sp_port, i, my_ets->prio_tc[i]);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
141
err = mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
151
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
154
err = mlxsw_sp_port_ets_validate(mlxsw_sp_port, ets);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
158
err = __mlxsw_sp_dcbnl_ieee_setets(mlxsw_sp_port, ets);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
162
memcpy(mlxsw_sp_port->dcb.ets, ets, sizeof(*ets));
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
163
mlxsw_sp_port->dcb.ets->ets_cap = IEEE_8021QAZ_MAX_TCS;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
203
mlxsw_sp_port_dcb_app_default_prio(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
207
prio_mask = dcb_ieee_getapp_default_prio_mask(mlxsw_sp_port->dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
216
mlxsw_sp_port_dcb_app_dscp_prio_map(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
222
dcb_ieee_getapp_dscp_prio_mask_map(mlxsw_sp_port->dev, map);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
232
mlxsw_sp_port_dcb_app_prio_dscp_map(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
238
dcb_ieee_getapp_prio_dscp_mask_map(mlxsw_sp_port->dev, map);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
250
mlxsw_sp_port_dcb_app_update_qpts(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
253
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
256
mlxsw_reg_qpts_pack(qpts_pl, mlxsw_sp_port->local_port, ts);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
26
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
261
mlxsw_sp_port_dcb_app_update_qrwe(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
264
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
267
mlxsw_reg_qrwe_pack(qrwe_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
273
mlxsw_sp_port_dcb_toggle_trust(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
279
if (mlxsw_sp_port->dcb.trust_state == ts)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
28
memcpy(ets, mlxsw_sp_port->dcb.ets, sizeof(*ets));
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
282
err = mlxsw_sp_port_dcb_app_update_qpts(mlxsw_sp_port, ts);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
286
err = mlxsw_sp_port_dcb_app_update_qrwe(mlxsw_sp_port, rewrite_dscp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
290
mlxsw_sp_port->dcb.trust_state = ts;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
294
mlxsw_sp_port_dcb_app_update_qpts(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
295
mlxsw_sp_port->dcb.trust_state);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
300
mlxsw_sp_port_dcb_app_update_qpdp(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
303
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
306
mlxsw_reg_qpdp_pack(qpdp_pl, mlxsw_sp_port->local_port, default_prio);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
311
mlxsw_sp_port_dcb_app_update_qpdpm(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
314
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
318
mlxsw_reg_qpdpm_pack(qpdpm_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
325
mlxsw_sp_port_dcb_app_update_qpdsm(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
328
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
33
static int mlxsw_sp_port_ets_validate(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
332
mlxsw_reg_qpdsm_pack(qpdsm_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
338
static int mlxsw_sp_port_dcb_app_update(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
346
default_prio = mlxsw_sp_port_dcb_app_default_prio(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
347
err = mlxsw_sp_port_dcb_app_update_qpdp(mlxsw_sp_port, default_prio);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
349
netdev_err(mlxsw_sp_port->dev, "Couldn't configure port default priority\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
353
have_dscp = mlxsw_sp_port_dcb_app_prio_dscp_map(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
356
mlxsw_sp_port_dcb_app_dscp_prio_map(mlxsw_sp_port, default_prio,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
358
err = mlxsw_sp_port_dcb_app_update_qpdpm(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
36
struct net_device *dev = mlxsw_sp_port->dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
361
netdev_err(mlxsw_sp_port->dev, "Couldn't configure priority map\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
365
err = mlxsw_sp_port_dcb_app_update_qpdsm(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
368
netdev_err(mlxsw_sp_port->dev, "Couldn't configure DSCP rewrite map\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
373
err = mlxsw_sp_port_dcb_toggle_trust(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
376
netdev_err(mlxsw_sp_port->dev, "Couldn't switch to trust L2\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
380
err = mlxsw_sp_port_dcb_toggle_trust(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
388
netdev_err(mlxsw_sp_port->dev, "Couldn't switch to trust L3\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
398
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
409
err = mlxsw_sp_port_dcb_app_update(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
423
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
430
err = mlxsw_sp_port_dcb_app_update(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
439
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
441
memcpy(maxrate, mlxsw_sp_port->dcb.maxrate, sizeof(*maxrate));
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
449
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
450
struct ieee_maxrate *my_maxrate = mlxsw_sp_port->dcb.maxrate;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
454
err = mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
464
memcpy(mlxsw_sp_port->dcb.maxrate, maxrate, sizeof(*maxrate));
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
470
mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
477
static int mlxsw_sp_port_pfc_cnt_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
480
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
481
struct ieee_pfc *my_pfc = mlxsw_sp_port->dcb.pfc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
485
mlxsw_reg_ppcnt_pack(ppcnt_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
500
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
504
err = mlxsw_sp_port_pfc_cnt_get(mlxsw_sp_port, i);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
512
memcpy(pfc, mlxsw_sp_port->dcb.pfc, sizeof(*pfc));
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
517
static int mlxsw_sp_port_pfc_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
522
mlxsw_reg_pfcc_pack(pfcc_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
523
mlxsw_reg_pfcc_pprx_set(pfcc_pl, mlxsw_sp_port->link.rx_pause);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
524
mlxsw_reg_pfcc_pptx_set(pfcc_pl, mlxsw_sp_port->link.tx_pause);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
527
return mlxsw_reg_write(mlxsw_sp_port->mlxsw_sp->core, MLXSW_REG(pfcc),
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
534
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
535
bool pause_en = mlxsw_sp_port_is_pause_en(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
546
orig_hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
558
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
560
err = mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
566
err = mlxsw_sp_port_pfc_set(mlxsw_sp_port, pfc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
572
memcpy(mlxsw_sp_port->dcb.pfc, pfc, sizeof(*pfc));
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
573
mlxsw_sp_port->dcb.pfc->pfc_cap = IEEE_8021QAZ_MAX_TCS;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
578
mlxsw_sp_hdroom_configure(mlxsw_sp_port, &orig_hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
584
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
585
struct mlxsw_sp_hdroom *hdroom = mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
586
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
611
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
612
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
617
hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
634
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
635
return mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
655
static int mlxsw_sp_port_ets_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
657
mlxsw_sp_port->dcb.ets = kzalloc_obj(*mlxsw_sp_port->dcb.ets);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
658
if (!mlxsw_sp_port->dcb.ets)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
661
mlxsw_sp_port->dcb.ets->ets_cap = IEEE_8021QAZ_MAX_TCS;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
666
static void mlxsw_sp_port_ets_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
668
kfree(mlxsw_sp_port->dcb.ets);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
67
static int mlxsw_sp_port_headroom_ets_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
671
static int mlxsw_sp_port_maxrate_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
675
mlxsw_sp_port->dcb.maxrate = kmalloc_obj(*mlxsw_sp_port->dcb.maxrate);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
676
if (!mlxsw_sp_port->dcb.maxrate)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
680
mlxsw_sp_port->dcb.maxrate->tc_maxrate[i] = MLXSW_REG_QEEC_MAS_DIS;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
685
static void mlxsw_sp_port_maxrate_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
687
kfree(mlxsw_sp_port->dcb.maxrate);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
690
static int mlxsw_sp_port_pfc_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
692
mlxsw_sp_port->dcb.pfc = kzalloc_obj(*mlxsw_sp_port->dcb.pfc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
693
if (!mlxsw_sp_port->dcb.pfc)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
696
mlxsw_sp_port->dcb.pfc->pfc_cap = IEEE_8021QAZ_MAX_TCS;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
70
struct net_device *dev = mlxsw_sp_port->dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
701
static void mlxsw_sp_port_pfc_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
703
kfree(mlxsw_sp_port->dcb.pfc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
706
int mlxsw_sp_port_dcb_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
710
err = mlxsw_sp_port_ets_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
713
err = mlxsw_sp_port_maxrate_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
716
err = mlxsw_sp_port_pfc_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
720
mlxsw_sp_port->dcb.trust_state = MLXSW_REG_QPTS_TRUST_STATE_PCP;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
721
mlxsw_sp_port->dev->dcbnl_ops = &mlxsw_sp_dcbnl_ops;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
726
mlxsw_sp_port_maxrate_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
728
mlxsw_sp_port_ets_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
732
void mlxsw_sp_port_dcb_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
734
mlxsw_sp_port_pfc_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
735
mlxsw_sp_port_maxrate_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
736
mlxsw_sp_port_ets_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
75
hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
80
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
82
err = mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
91
static int __mlxsw_sp_dcbnl_ieee_setets(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
94
struct ieee_ets *my_ets = mlxsw_sp_port->dcb.ets;
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c
95
struct net_device *dev = mlxsw_sp_port->dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1008
ops->to_ptys_speed_lanes(mlxsw_sp, mlxsw_sp_port->mapping.width,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1017
ops->reg_ptys_eth_pack(mlxsw_sp, ptys_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1023
mlxsw_sp_port->link.autoneg = autoneg;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1028
mlxsw_sp_port_admin_status_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1029
mlxsw_sp_port_admin_status_set(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1037
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(netdev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1038
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1041
mlxsw_sp_port->mapping.slot_index,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1042
mlxsw_sp_port->mapping.module,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1049
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(netdev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1050
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1051
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1052
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1063
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1064
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1065
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1066
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1077
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1078
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1079
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1080
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1089
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(netdev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1090
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1222
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1223
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1224
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1225
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1236
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1237
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1238
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1239
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1250
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1251
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1252
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1253
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
14
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
146
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1468
static int mlxsw_sp1_ptys_max_speed(struct mlxsw_sp_port *mlxsw_sp_port, u32 *p_max_speed)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1475
err = mlxsw_sp_port_ptys_query(mlxsw_sp_port, &eth_proto_cap, NULL, NULL, NULL);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
15
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
154
mlxsw_reg_pddr_pack(pddr_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
160
err = mlxsw_reg_query(mlxsw_sp_port->mlxsw_sp->core, MLXSW_REG(pddr),
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
184
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
186
pause->rx_pause = mlxsw_sp_port->link.rx_pause;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
187
pause->tx_pause = mlxsw_sp_port->link.tx_pause;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
190
static int mlxsw_sp_port_pause_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
195
mlxsw_reg_pfcc_pack(pfcc_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
199
return mlxsw_reg_write(mlxsw_sp_port->mlxsw_sp->core, MLXSW_REG(pfcc),
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
1994
static int mlxsw_sp2_ptys_max_speed(struct mlxsw_sp_port *mlxsw_sp_port, u32 *p_max_speed)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
2001
err = mlxsw_sp_port_ptys_query(mlxsw_sp_port, &eth_proto_cap, NULL, NULL, NULL);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
211
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
218
if (mlxsw_sp_port->dcb.pfc && mlxsw_sp_port->dcb.pfc->pfc_en) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
228
orig_hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
240
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
242
err = mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
248
err = mlxsw_sp_port_pause_set(mlxsw_sp_port, pause);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
254
mlxsw_sp_port->link.rx_pause = pause->rx_pause;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
255
mlxsw_sp_port->link.tx_pause = pause->tx_pause;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
260
mlxsw_sp_hdroom_configure(mlxsw_sp_port, &orig_hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
565
u64 (*getter)(struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
569
mlxsw_sp_port_get_transceiver_overheat_stats(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
571
struct mlxsw_core *mlxsw_core = mlxsw_sp_port->mlxsw_sp->core;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
572
u8 slot_index = mlxsw_sp_port->mapping.slot_index;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
573
u8 module = mlxsw_sp_port->mapping.module;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
580
return mlxsw_sp_port->module_overheat_initial_val;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
582
return stats - mlxsw_sp_port->module_overheat_initial_val;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
631
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
679
mlxsw_sp_port->mlxsw_sp->ptp_ops->get_stats_strings(&p);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
693
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
694
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
709
mlxsw_reg_mlcr_pack(mlcr_pl, mlxsw_sp_port->local_port, active);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
761
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
762
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
787
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
791
data[data_index + i] = port_stats[i].getter(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
797
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
845
mlxsw_sp_port->mlxsw_sp->ptp_ops->get_stats(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
847
data_index += mlxsw_sp_port->mlxsw_sp->ptp_ops->get_stats_count();
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
857
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
862
mlxsw_sp_port->mlxsw_sp->ptp_ops->get_stats_count();
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
930
static int mlxsw_sp_port_ptys_query(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
934
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
941
ops->reg_ptys_eth_pack(mlxsw_sp, ptys_pl, mlxsw_sp_port->local_port, 0, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
957
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
958
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
964
err = mlxsw_sp_port_ptys_query(mlxsw_sp_port, &eth_proto_cap, &eth_proto_admin,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
970
autoneg = mlxsw_sp_port->link.autoneg;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
988
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
989
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
998
ops->reg_ptys_eth_pack(mlxsw_sp, ptys_pl, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1000
static void mlxsw_sp_port_vlan_mode_trans(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1004
mlxsw_sp_port_vp_mode_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1007
&mlxsw_sp_port->vlans_list, list) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1014
__mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port->local_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1117
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
112
const struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1120
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1121
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1124
err = __mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port->local_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1133
err = mlxsw_sp_fid_port_vid_list_add(fid, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1139
err = mlxsw_sp_port_vp_mode_trans(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
114
const struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1148
mlxsw_sp_fid_port_vid_list_del(fid, mlxsw_sp_port->local_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1152
__mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port->local_port, vid, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1158
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1160
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1161
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1164
mlxsw_sp_port_vlan_mode_trans(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1166
mlxsw_sp_fid_port_vid_list_del(fid, mlxsw_sp_port->local_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1168
__mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port->local_port, vid, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1416
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1419
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1420
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1423
err = mlxsw_sp_fid_port_vid_list_add(fid, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1433
err = __mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port->local_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1446
err = mlxsw_sp_port_vp_mode_trans(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1459
__mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port->local_port, vid, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1461
mlxsw_sp_fid_port_vid_list_del(fid, mlxsw_sp_port->local_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1467
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1469
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1470
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1473
mlxsw_sp_port_vlan_mode_trans(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1479
__mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port->local_port, vid, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1480
mlxsw_sp_fid_port_vid_list_del(fid, mlxsw_sp_port->local_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1573
const struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1577
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1587
port = mlxsw_sp_port->lagged ? mlxsw_sp_port->lag_id : local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1589
mlxsw_sp_port->lagged);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1605
const struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1617
mlxsw_sp_port, member);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1627
const struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1629
return mlxsw_sp_fid_rfid_port_memb_cff(fid_family, mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1634
const struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1636
mlxsw_sp_fid_rfid_port_memb_cff(fid_family, mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1754
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1757
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1758
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1775
err = mlxsw_sp_fid_port_vid_list_add(fid, mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1792
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1794
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1795
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
1797
mlxsw_sp_fid_port_vid_list_del(fid, mlxsw_sp_port->local_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2222
static int mlxsw_sp_fid_port_init(const struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2225
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2231
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2235
static void mlxsw_sp_fid_port_fini(const struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2238
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2243
rfid_family->ops->fid_port_fini(rfid_family, mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2246
int mlxsw_sp_port_fids_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2248
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2255
mlxsw_sp->fid_core->port_fid_mappings[mlxsw_sp_port->local_port] = 0;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2257
err = mlxsw_sp_fid_port_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2261
err = mlxsw_sp_port_vp_mode_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2268
mlxsw_sp_fid_port_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2272
void mlxsw_sp_port_fids_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2274
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2276
mlxsw_sp_fid_port_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2277
mlxsw_sp->fid_core->port_fid_mappings[mlxsw_sp_port->local_port] = 0;
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2280
int mlxsw_sp_fid_port_join_lag(const struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2282
return mlxsw_sp_fid_port_init(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2285
void mlxsw_sp_fid_port_leave_lag(const struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
2287
mlxsw_sp_fid_port_fini(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
454
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
458
return fid->fid_family->ops->port_vid_map(fid, mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
462
struct mlxsw_sp_port *mlxsw_sp_port, u16 vid)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
464
fid->fid_family->ops->port_vid_unmap(fid, mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
88
struct mlxsw_sp_port *port, u16 vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
90
struct mlxsw_sp_port *port, u16 vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
958
static int mlxsw_sp_port_vp_mode_trans(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
963
list_for_each_entry(mlxsw_sp_port_vlan, &mlxsw_sp_port->vlans_list,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
972
mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
978
err = mlxsw_sp_port_vp_mode_set(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
987
&mlxsw_sp_port->vlans_list, list) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
994
__mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port->local_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
102
mlxsw_sp_mall_port_unbind(block, mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
109
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
114
binding = mlxsw_sp_flow_block_lookup(block, mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
130
mlxsw_sp_mall_port_unbind(block, mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
201
static int mlxsw_sp_setup_tc_block_bind(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
205
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
230
mlxsw_sp_port, ingress, f->extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
235
mlxsw_sp_port->ing_flow_block = flow_block;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
237
mlxsw_sp_port->eg_flow_block = flow_block;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
252
static void mlxsw_sp_setup_tc_block_unbind(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
256
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
267
mlxsw_sp_port->ing_flow_block = NULL;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
269
mlxsw_sp_port->eg_flow_block = NULL;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
273
mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
280
int mlxsw_sp_setup_tc_block_clsact(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
288
return mlxsw_sp_setup_tc_block_bind(mlxsw_sp_port, f, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
290
mlxsw_sp_setup_tc_block_unbind(mlxsw_sp_port, f, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
35
struct mlxsw_sp_port *mlxsw_sp_port, bool ingress)
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
40
if (binding->mlxsw_sp_port == mlxsw_sp_port &&
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
54
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
61
if (WARN_ON(mlxsw_sp_flow_block_lookup(block, mlxsw_sp_port, ingress)))
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
74
err = mlxsw_sp_mall_port_bind(block, mlxsw_sp_port, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c
83
binding->mlxsw_sp_port = mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
310
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
333
mlxsw_sp_port = netdev_priv(ingress_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
334
if (mlxsw_sp_port->mlxsw_sp != block->mlxsw_sp) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c
341
mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
103
mlxsw_sp_mall_port_sample_add(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
107
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
115
trigger.local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
122
err = mlxsw_sp->mall_ops->sample_add(mlxsw_sp, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
134
mlxsw_sp_mall_port_sample_del(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
137
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
144
trigger.local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
146
mlxsw_sp->mall_ops->sample_del(mlxsw_sp, mlxsw_sp_port, mall_entry);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
151
mlxsw_sp_mall_port_rule_add(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
157
return mlxsw_sp_mall_port_mirror_add(mlxsw_sp_port, mall_entry,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
160
return mlxsw_sp_mall_port_sample_add(mlxsw_sp_port, mall_entry,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
169
mlxsw_sp_mall_port_rule_del(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
174
mlxsw_sp_mall_port_mirror_del(mlxsw_sp_port, mall_entry);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
177
mlxsw_sp_mall_port_sample_del(mlxsw_sp_port, mall_entry);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
26
mlxsw_sp_mall_port_mirror_add(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
286
err = mlxsw_sp_mall_port_rule_add(binding->mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
30
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
304
mlxsw_sp_mall_port_rule_del(binding->mlxsw_sp_port, mall_entry);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
329
mlxsw_sp_mall_port_rule_del(binding->mlxsw_sp_port, mall_entry);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
335
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
342
err = mlxsw_sp_mall_port_rule_add(mlxsw_sp_port, mall_entry,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
352
mlxsw_sp_mall_port_rule_del(mlxsw_sp_port, mall_entry);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
357
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
362
mlxsw_sp_mall_port_rule_del(mlxsw_sp_port, mall_entry);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
380
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
396
return mlxsw_sp_mall_port_sample_set(mlxsw_sp_port, true, rate);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
400
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
403
mlxsw_sp_mall_port_sample_set(mlxsw_sp_port, false, 1);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
412
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
432
err = mlxsw_sp_span_analyzed_port_get(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
443
err = mlxsw_sp_span_agent_bind(mlxsw_sp, span_trigger, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
453
mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, mall_entry->ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
460
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
469
mlxsw_sp_span_agent_unbind(mlxsw_sp, span_trigger, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
471
mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, mall_entry->ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
49
err = mlxsw_sp_span_analyzed_port_get(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
60
err = mlxsw_sp_span_agent_bind(mlxsw_sp, trigger, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
70
mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, mall_entry->ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
77
mlxsw_sp_mall_port_mirror_del(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
80
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
87
mlxsw_sp_span_agent_unbind(mlxsw_sp, trigger, mlxsw_sp_port, &parms);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
88
mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, mall_entry->ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
92
static int mlxsw_sp_mall_port_sample_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
95
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c
98
mlxsw_reg_mpsc_pack(mpsc_pl, mlxsw_sp_port->local_port, enable, rate);
drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c
1014
int mlxsw_sp_port_nve_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c
1016
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c
1019
mlxsw_reg_tnqdr_pack(tnqdr_pl, mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c
1023
void mlxsw_sp_port_nve_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1085
int mlxsw_sp1_ptp_hwtstamp_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1088
*config = mlxsw_sp_port->ptp.hwtstamp_config;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1154
static int mlxsw_sp1_ptp_mtpppc_update(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1157
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1158
struct mlxsw_sp_port *tmp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1173
if (tmp && tmp != mlxsw_sp_port) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1182
netdev_err(mlxsw_sp_port->dev, "Failed to increase parsing depth");
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1189
return mlxsw_sp1_ptp_mtpppc_set(mlxsw_sp_port->mlxsw_sp,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1193
static bool mlxsw_sp1_ptp_hwtstamp_enabled(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1195
return mlxsw_sp_port->ptp.ing_types || mlxsw_sp_port->ptp.egr_types;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1199
mlxsw_sp1_ptp_port_shaper_set(struct mlxsw_sp_port *mlxsw_sp_port, bool enable)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1201
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1204
mlxsw_reg_qeec_ptps_pack(qeec_pl, mlxsw_sp_port->local_port, enable);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1208
static int mlxsw_sp1_ptp_port_shaper_check(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1214
if (!mlxsw_sp1_ptp_hwtstamp_enabled(mlxsw_sp_port))
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1215
return mlxsw_sp1_ptp_port_shaper_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1217
err = mlxsw_sp_port_speed_get(mlxsw_sp_port, &speed);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1228
return mlxsw_sp1_ptp_port_shaper_set(mlxsw_sp_port, ptps);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1234
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1237
mlxsw_sp_port = container_of(dwork, struct mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1240
if (!mlxsw_sp1_ptp_hwtstamp_enabled(mlxsw_sp_port))
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1243
err = mlxsw_sp1_ptp_port_shaper_check(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1245
netdev_err(mlxsw_sp_port->dev, "Failed to set up PTP shaper\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1248
int mlxsw_sp1_ptp_hwtstamp_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1262
err = mlxsw_sp1_ptp_mtpppc_update(mlxsw_sp_port, ing_types, egr_types);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1266
mlxsw_sp_port->ptp.hwtstamp_config = *config;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1267
mlxsw_sp_port->ptp.ing_types = ing_types;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1268
mlxsw_sp_port->ptp.egr_types = egr_types;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1270
err = mlxsw_sp1_ptp_port_shaper_check(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1338
void mlxsw_sp1_get_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1341
void *stats = &mlxsw_sp_port->ptp.stats;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1454
int mlxsw_sp2_ptp_hwtstamp_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1459
ptp_state = mlxsw_sp2_ptp_state(mlxsw_sp_port->mlxsw_sp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1573
static int mlxsw_sp2_ptp_configure_port(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1580
ptp_state = mlxsw_sp2_ptp_state(mlxsw_sp_port->mlxsw_sp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1585
err = mlxsw_sp2_ptp_enable(mlxsw_sp_port->mlxsw_sp, ing_types,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1595
static int mlxsw_sp2_ptp_deconfigure_port(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1601
ptp_state = mlxsw_sp2_ptp_state(mlxsw_sp_port->mlxsw_sp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1606
err = mlxsw_sp2_ptp_disable(mlxsw_sp_port->mlxsw_sp, new_config);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1617
int mlxsw_sp2_ptp_hwtstamp_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1628
ptp_state = mlxsw_sp2_ptp_state(mlxsw_sp_port->mlxsw_sp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1640
ptp_enabled = mlxsw_sp_port->ptp.ing_types ||
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1641
mlxsw_sp_port->ptp.egr_types;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1644
err = mlxsw_sp2_ptp_configure_port(mlxsw_sp_port, new_ing_types,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1649
err = mlxsw_sp2_ptp_deconfigure_port(mlxsw_sp_port, new_config);
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1654
mlxsw_sp_port->ptp.ing_types = new_ing_types;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
1655
mlxsw_sp_port->ptp.egr_types = new_egr_types;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
588
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
594
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
595
if (!(mlxsw_sp_port && (!skb->dev || skb->dev == mlxsw_sp_port->dev))) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
710
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
715
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
716
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
719
types = ingress ? mlxsw_sp_port->ptp.ing_types :
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
720
mlxsw_sp_port->ptp.egr_types;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
751
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
757
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
758
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
761
types = ingress ? mlxsw_sp_port->ptp.ing_types :
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
762
mlxsw_sp_port->ptp.egr_types;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
799
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
820
mlxsw_sp_port = mlxsw_sp->ports[unmatched->key.local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
821
if (mlxsw_sp_port) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
823
&mlxsw_sp_port->ptp.stats.rx_gcd :
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
824
&mlxsw_sp_port->ptp.stats.tx_gcd;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
11
struct mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
121
mlxsw_sp1_ptp_hwtstamp_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
128
mlxsw_sp1_ptp_hwtstamp_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
148
static inline void mlxsw_sp1_get_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
186
mlxsw_sp2_ptp_hwtstamp_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
193
mlxsw_sp2_ptp_hwtstamp_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
214
static inline void mlxsw_sp2_get_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
36
int mlxsw_sp1_ptp_hwtstamp_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
39
int mlxsw_sp1_ptp_hwtstamp_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
50
void mlxsw_sp1_get_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
68
int mlxsw_sp2_ptp_hwtstamp_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.h
71
int mlxsw_sp2_ptp_hwtstamp_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1005
err = mlxsw_sp_qdisc_tbf_bs(mlxsw_sp_port, p->max_size, &burst_size);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1021
mlxsw_sp_qdisc_tbf_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1025
enum mlxsw_reg_qeec_hr hr = mlxsw_sp_qdisc_tbf_hr(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1033
err = mlxsw_sp_qdisc_future_fifo_replace(mlxsw_sp_port, handle, 0,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1037
mlxsw_sp_qdisc_future_fifos_init(mlxsw_sp_port, TC_H_UNSPEC);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1039
tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1042
err = mlxsw_sp_qdisc_tbf_bs(mlxsw_sp_port, p->max_size, &burst_size);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1047
return mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port, hr, tclass_num, 0,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1052
mlxsw_sp_qdisc_tbf_unoffload(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1058
mlxsw_sp_qdisc_leaf_unoffload(mlxsw_sp_port, mlxsw_sp_qdisc, p->qstats);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1062
mlxsw_sp_qdisc_get_tbf_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1066
mlxsw_sp_qdisc_get_tc_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1083
static int __mlxsw_sp_setup_tc_tbf(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1088
mlxsw_sp_qdisc = mlxsw_sp_qdisc_find(mlxsw_sp_port, p->parent);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1093
return mlxsw_sp_qdisc_replace(mlxsw_sp_port, p->handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1103
return mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1105
return mlxsw_sp_qdisc_get_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1108
return mlxsw_sp_qdisc_graft(mlxsw_sp_port, mlxsw_sp_qdisc, 0,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1115
int mlxsw_sp_setup_tc_tbf(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1120
mutex_lock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1121
err = __mlxsw_sp_setup_tc_tbf(mlxsw_sp_port, p);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1122
mutex_unlock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1128
mlxsw_sp_qdisc_fifo_check_params(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1135
mlxsw_sp_qdisc_fifo_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1143
mlxsw_sp_qdisc_get_fifo_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1147
mlxsw_sp_qdisc_get_tc_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1161
mlxsw_sp_qdisc_future_fifo_replace(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1165
struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1169
return mlxsw_sp_qdisc_replace(mlxsw_sp_port, TC_H_UNSPEC,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1177
mlxsw_sp_qdisc_future_fifos_init(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1180
struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1186
static int __mlxsw_sp_setup_tc_fifo(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1189
struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1194
mlxsw_sp_qdisc = mlxsw_sp_qdisc_find(mlxsw_sp_port, p->parent);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1201
mlxsw_sp_qdisc_future_fifos_init(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1217
return mlxsw_sp_qdisc_replace(mlxsw_sp_port, p->handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1227
return mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1229
return mlxsw_sp_qdisc_get_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1238
int mlxsw_sp_setup_tc_fifo(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1243
mutex_lock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1244
err = __mlxsw_sp_setup_tc_fifo(mlxsw_sp_port, p);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1245
mutex_unlock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1250
static int __mlxsw_sp_qdisc_ets_destroy(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1256
mlxsw_sp_port_prio_tc_set(mlxsw_sp_port, i,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1258
mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1269
mlxsw_sp_qdisc_prio_destroy(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1272
return __mlxsw_sp_qdisc_ets_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1285
mlxsw_sp_qdisc_prio_check_params(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1295
void *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1302
mlxsw_sp_qdisc->ops->clean_stats(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1311
mlxsw_sp_qdisc_tree_clean_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1315
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1319
__mlxsw_sp_qdisc_ets_replace(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1357
err = mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1369
err = mlxsw_sp_port_prio_tc_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1379
mlxsw_sp_qdisc_tree_clean_stats(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1382
err = mlxsw_sp_qdisc_future_fifo_replace(mlxsw_sp_port, handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1392
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, child_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1394
mlxsw_sp_port_ets_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1399
mlxsw_sp_qdisc_future_fifos_init(mlxsw_sp_port, TC_H_UNSPEC);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1404
mlxsw_sp_qdisc_prio_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1411
return __mlxsw_sp_qdisc_ets_replace(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1417
__mlxsw_sp_qdisc_ets_unoffload(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1423
backlog = mlxsw_sp_cells_bytes(mlxsw_sp_port->mlxsw_sp,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1429
mlxsw_sp_qdisc_prio_unoffload(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1435
__mlxsw_sp_qdisc_ets_unoffload(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1440
mlxsw_sp_qdisc_get_prio_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1453
mlxsw_sp_qdisc_collect_tc_stats(mlxsw_sp_port, tc_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1458
mlxsw_sp_qdisc_update_stats(mlxsw_sp_port->mlxsw_sp, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1465
mlxsw_sp_setup_tc_qdisc_prio_clean_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1473
xstats = &mlxsw_sp_port->periodic_hw_stats.xstats;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1474
stats = &mlxsw_sp_port->periodic_hw_stats.stats;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1541
mlxsw_sp_qdisc_ets_check_params(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1550
mlxsw_sp_qdisc_ets_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1556
return __mlxsw_sp_qdisc_ets_replace(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1562
mlxsw_sp_qdisc_ets_unoffload(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1568
__mlxsw_sp_qdisc_ets_unoffload(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1573
mlxsw_sp_qdisc_ets_destroy(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1576
return __mlxsw_sp_qdisc_ets_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
160
mlxsw_sp_qdisc_find(struct mlxsw_sp_port *mlxsw_sp_port, u32 parent)
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1618
static int mlxsw_sp_qdisc_graft(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
162
struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1639
old_qdisc = mlxsw_sp_qdisc_find_by_handle(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1642
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, old_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1648
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1653
static int __mlxsw_sp_setup_tc_prio(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1658
mlxsw_sp_qdisc = mlxsw_sp_qdisc_find(mlxsw_sp_port, p->parent);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1663
return mlxsw_sp_qdisc_replace(mlxsw_sp_port, p->handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1673
return mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1675
return mlxsw_sp_qdisc_get_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1678
return mlxsw_sp_qdisc_graft(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1686
int mlxsw_sp_setup_tc_prio(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1691
mutex_lock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1692
err = __mlxsw_sp_setup_tc_prio(mlxsw_sp_port, p);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1693
mutex_unlock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1698
static int __mlxsw_sp_setup_tc_ets(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1703
mlxsw_sp_qdisc = mlxsw_sp_qdisc_find(mlxsw_sp_port, p->parent);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1708
return mlxsw_sp_qdisc_replace(mlxsw_sp_port, p->handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1718
return mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1720
return mlxsw_sp_qdisc_get_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1723
return mlxsw_sp_qdisc_graft(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1731
int mlxsw_sp_setup_tc_ets(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1736
mutex_lock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1737
err = __mlxsw_sp_setup_tc_ets(mlxsw_sp_port, p);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1738
mutex_unlock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1751
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1767
struct mlxsw_sp_port *mlxsw_sp_port = qevent_binding->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1778
err = mlxsw_sp_span_analyzed_port_get(mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1784
err = mlxsw_sp_span_agent_bind(mlxsw_sp, span_trigger, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1789
err = mlxsw_sp_span_trigger_enable(mlxsw_sp_port, span_trigger,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1798
mlxsw_sp_span_agent_unbind(mlxsw_sp, span_trigger, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1801
mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1812
struct mlxsw_sp_port *mlxsw_sp_port = qevent_binding->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1820
mlxsw_sp_span_trigger_disable(mlxsw_sp_port, span_trigger,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1822
mlxsw_sp_span_agent_unbind(mlxsw_sp, span_trigger, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
1824
mlxsw_sp_span_analyzed_port_put(mlxsw_sp_port, ingress);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
183
mlxsw_sp_qdisc_find_by_handle(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle)
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
185
struct mlxsw_sp_qdisc_state *qdisc_state = mlxsw_sp_port->qdisc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
203
static u8 mlxsw_sp_qdisc_get_prio_bitmap(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
211
return mlxsw_sp_qdisc_get_prio_bitmap(mlxsw_sp_port, parent);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2128
mlxsw_sp_qevent_binding_create(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle, int tclass_num,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2138
binding->mlxsw_sp_port = mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2154
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2161
if (qevent_binding->mlxsw_sp_port == mlxsw_sp_port &&
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2169
mlxsw_sp_setup_tc_block_qevent_bind(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
217
static int mlxsw_sp_qdisc_get_tclass_num(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2174
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2200
qdisc = mlxsw_sp_qdisc_find_by_handle(mlxsw_sp_port, f->sch->handle);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2207
if (WARN_ON(mlxsw_sp_qevent_binding_lookup(qevent_block, mlxsw_sp_port, f->sch->handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2213
tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port, qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2214
qevent_binding = mlxsw_sp_qevent_binding_create(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2248
static void mlxsw_sp_setup_tc_block_qevent_unbind(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
225
return mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port, parent);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2252
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2262
qevent_binding = mlxsw_sp_qevent_binding_lookup(qevent_block, mlxsw_sp_port, f->sch->handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2278
mlxsw_sp_setup_tc_block_qevent(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2287
return mlxsw_sp_setup_tc_block_qevent_bind(mlxsw_sp_port, f,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2291
mlxsw_sp_setup_tc_block_qevent_unbind(mlxsw_sp_port, f, span_trigger);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2298
int mlxsw_sp_setup_tc_block_qevent_early_drop(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
230
mlxsw_sp_qdisc_destroy(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2304
return mlxsw_sp_setup_tc_block_qevent(mlxsw_sp_port, f,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2309
int mlxsw_sp_setup_tc_block_qevent_mark(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2314
return mlxsw_sp_setup_tc_block_qevent(mlxsw_sp_port, f,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2319
int mlxsw_sp_tc_qdisc_init(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2328
mlxsw_sp_port->qdisc = qdisc_state;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
233
struct mlxsw_sp_qdisc *root_qdisc = &mlxsw_sp_port->qdisc->root_qdisc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2332
void mlxsw_sp_tc_qdisc_fini(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2334
mutex_destroy(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
2335
kfree(mlxsw_sp_port->qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
242
struct mlxsw_sp_hdroom hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
247
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
248
err_hdroom = mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
255
mlxsw_sp_qdisc_destroy(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
259
err = mlxsw_sp_qdisc->ops->destroy(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
262
mlxsw_sp_qdisc->ops->clean_stats(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
31
int (*check_params)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
33
int (*replace)(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
344
static int mlxsw_sp_qdisc_tree_validate(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
349
mlxsw_sp_qdisc = &mlxsw_sp_port->qdisc->root_qdisc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
35
int (*destroy)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
353
static int mlxsw_sp_qdisc_create(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
358
struct mlxsw_sp_qdisc *root_qdisc = &mlxsw_sp_port->qdisc->root_qdisc;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
363
err = ops->check_params(mlxsw_sp_port, params);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
37
int (*get_stats)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
377
orig_hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
384
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
386
err = mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
394
err = mlxsw_sp_qdisc_tree_validate(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
398
err = ops->replace(mlxsw_sp_port, handle, mlxsw_sp_qdisc, params);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
40
int (*get_xstats)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
408
mlxsw_sp_hdroom_configure(mlxsw_sp_port, &orig_hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
416
mlxsw_sp_qdisc_change(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
422
err = ops->check_params(mlxsw_sp_port, params);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
426
err = ops->replace(mlxsw_sp_port, handle, mlxsw_sp_qdisc, params);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
43
void (*clean_stats)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
436
ops->clean_stats(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
444
ops->unoffload(mlxsw_sp_port, mlxsw_sp_qdisc, params);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
446
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
451
mlxsw_sp_qdisc_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
461
mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
464
return mlxsw_sp_qdisc_create(mlxsw_sp_port, handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
467
return mlxsw_sp_qdisc_change(mlxsw_sp_port, handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
472
mlxsw_sp_qdisc_get_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
478
return mlxsw_sp_qdisc->ops->get_stats(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
48
void (*unoffload)(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
486
mlxsw_sp_qdisc_get_xstats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
492
return mlxsw_sp_qdisc->ops->get_xstats(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
531
mlxsw_sp_qdisc_collect_tc_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
541
prio_bitmap = mlxsw_sp_qdisc_get_prio_bitmap(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
543
tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
545
xstats = &mlxsw_sp_port->periodic_hw_stats.xstats;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
581
mlxsw_sp_qdisc_get_tc_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
590
mlxsw_sp_qdisc_collect_tc_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
593
mlxsw_sp_qdisc_update_stats(mlxsw_sp_port->mlxsw_sp, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
599
mlxsw_sp_tclass_congestion_enable(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
605
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
608
mlxsw_reg_cwtp_pack(cwtp_cmd, mlxsw_sp_port->local_port, tclass_num);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
618
mlxsw_reg_cwtpm_pack(cwtpm_cmd, mlxsw_sp_port->local_port, tclass_num,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
625
mlxsw_sp_tclass_congestion_disable(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
628
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
631
mlxsw_reg_cwtpm_pack(cwtpm_cmd, mlxsw_sp_port->local_port, tclass_num,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
637
mlxsw_sp_setup_tc_qdisc_red_clean_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
646
prio_bitmap = mlxsw_sp_qdisc_get_prio_bitmap(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
648
tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
650
xstats = &mlxsw_sp_port->periodic_hw_stats.xstats;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
668
mlxsw_sp_qdisc_red_destroy(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
671
int tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
674
return mlxsw_sp_tclass_congestion_disable(mlxsw_sp_port, tclass_num);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
678
mlxsw_sp_qdisc_red_check_params(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
681
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
705
mlxsw_sp_qdisc_future_fifo_replace(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
709
mlxsw_sp_qdisc_future_fifos_init(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
713
mlxsw_sp_qdisc_red_replace(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
717
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
724
err = mlxsw_sp_qdisc_future_fifo_replace(mlxsw_sp_port, handle, 0,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
728
mlxsw_sp_qdisc_future_fifos_init(mlxsw_sp_port, TC_H_UNSPEC);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
730
tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
740
return mlxsw_sp_tclass_congestion_enable(mlxsw_sp_port, tclass_num,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
746
mlxsw_sp_qdisc_leaf_unoffload(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
752
backlog = mlxsw_sp_cells_bytes(mlxsw_sp_port->mlxsw_sp,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
759
mlxsw_sp_qdisc_red_unoffload(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
765
mlxsw_sp_qdisc_leaf_unoffload(mlxsw_sp_port, mlxsw_sp_qdisc, p->qstats);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
769
mlxsw_sp_qdisc_get_red_xstats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
779
tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
781
xstats = &mlxsw_sp_port->periodic_hw_stats.xstats;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
799
mlxsw_sp_qdisc_get_red_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
808
tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
810
xstats = &mlxsw_sp_port->periodic_hw_stats.xstats;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
813
mlxsw_sp_qdisc_get_tc_stats(mlxsw_sp_port, mlxsw_sp_qdisc, stats_ptr);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
846
static int mlxsw_sp_qdisc_graft(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
850
static int __mlxsw_sp_setup_tc_red(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
855
mlxsw_sp_qdisc = mlxsw_sp_qdisc_find(mlxsw_sp_port, p->parent);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
860
return mlxsw_sp_qdisc_replace(mlxsw_sp_port, p->handle,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
870
return mlxsw_sp_qdisc_destroy(mlxsw_sp_port, mlxsw_sp_qdisc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
872
return mlxsw_sp_qdisc_get_xstats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
875
return mlxsw_sp_qdisc_get_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
878
return mlxsw_sp_qdisc_graft(mlxsw_sp_port, mlxsw_sp_qdisc, 0,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
885
int mlxsw_sp_setup_tc_red(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
890
mutex_lock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
891
err = __mlxsw_sp_setup_tc_red(mlxsw_sp_port, p);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
892
mutex_unlock(&mlxsw_sp_port->qdisc->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
898
mlxsw_sp_setup_tc_qdisc_leaf_clean_stats(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
906
mlxsw_sp_qdisc_collect_tc_stats(mlxsw_sp_port, mlxsw_sp_qdisc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
917
mlxsw_sp_qdisc_tbf_hr(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
920
if (mlxsw_sp_qdisc == &mlxsw_sp_port->qdisc->root_qdisc)
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
935
mlxsw_sp_qdisc_tbf_destroy(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
938
enum mlxsw_reg_qeec_hr hr = mlxsw_sp_qdisc_tbf_hr(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
940
int tclass_num = mlxsw_sp_qdisc_get_tclass_num(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
943
return mlxsw_sp_port_ets_maxrate_set(mlxsw_sp_port, hr, tclass_num, 0,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
948
mlxsw_sp_qdisc_tbf_bs(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
965
if (bs < mlxsw_sp_port->mlxsw_sp->lowest_shaper_bs ||
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
989
mlxsw_sp_qdisc_tbf_check_params(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
993
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
999
dev_err(mlxsw_sp_port->mlxsw_sp->bus_info->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10117
mlxsw_sp_port_vid_router_join_existing(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10123
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10133
mlxsw_sp_port_vid_router_leave(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10138
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10146
static int __mlxsw_sp_router_port_join_lag(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10157
err = mlxsw_sp_port_vid_router_join_existing(mlxsw_sp_port, default_vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10167
err = mlxsw_sp_port_vid_router_join_existing(mlxsw_sp_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10185
mlxsw_sp_port_vid_router_leave(mlxsw_sp_port, vid, upper_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10188
mlxsw_sp_port_vid_router_leave(mlxsw_sp_port, default_vid, lag_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10193
__mlxsw_sp_router_port_leave_lag(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10206
mlxsw_sp_port_vid_router_leave(mlxsw_sp_port, vid, upper_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10209
mlxsw_sp_port_vid_router_leave(mlxsw_sp_port, default_vid, lag_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10212
int mlxsw_sp_router_port_join_lag(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10218
mutex_lock(&mlxsw_sp_port->mlxsw_sp->router->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10219
err = __mlxsw_sp_router_port_join_lag(mlxsw_sp_port, lag_dev, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10220
mutex_unlock(&mlxsw_sp_port->mlxsw_sp->router->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10225
void mlxsw_sp_router_port_leave_lag(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10228
mutex_lock(&mlxsw_sp_port->mlxsw_sp->router->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10229
__mlxsw_sp_router_port_leave_lag(mlxsw_sp_port, lag_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
10230
mutex_unlock(&mlxsw_sp_port->mlxsw_sp->router->lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
2875
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
2878
mlxsw_sp_port = mlxsw_sp_port_dev_lower_find_rcu(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
2880
return !!mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
8850
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
8853
params->lag = mlxsw_sp_port->lagged;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
8855
params->lag_id = mlxsw_sp_port->lag_id;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
8857
params->system_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9112
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9113
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9132
err = mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9136
err = mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9140
err = mlxsw_sp_port_vid_stp_set(mlxsw_sp_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9150
mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9152
mlxsw_sp_fid_port_vid_unmap(fid, mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9162
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9171
mlxsw_sp_port_vid_stp_set(mlxsw_sp_port, vid, BR_STATE_BLOCKING);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9172
mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9173
mlxsw_sp_fid_port_vid_unmap(fid, mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9183
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port_vlan->mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9197
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port_vlan->mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9209
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(port_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9212
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h
177
int mlxsw_sp_router_port_join_lag(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h
180
void mlxsw_sp_router_port_leave_lag(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1117
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1128
analyzed_port->local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1136
err = mlxsw_sp_span_port_buffer_enable(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1150
mlxsw_sp_span_analyzed_port_destroy(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1158
mlxsw_sp_span_port_buffer_disable(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1164
int mlxsw_sp_span_analyzed_port_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1167
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1169
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1182
mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1192
void mlxsw_sp_span_analyzed_port_put(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1195
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1197
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1209
mlxsw_sp_span_analyzed_port_destroy(mlxsw_sp_port, analyzed_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1264
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1267
trigger_entry->local_port == mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1273
struct mlxsw_sp_port *mlxsw_sp_port, u8 tc)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1282
struct mlxsw_sp_port *mlxsw_sp_port, u8 tc)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1312
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1321
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1330
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1395
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1403
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1429
mlxsw_reg_momte_pack(momte_pl, mlxsw_sp_port->local_port, type);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1441
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1445
mlxsw_sp_port, tc, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1451
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1454
__mlxsw_sp2_span_trigger_global_enable(trigger_entry, mlxsw_sp_port, tc,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1501
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1513
trigger_entry->local_port = mlxsw_sp_port ? mlxsw_sp_port->local_port :
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1546
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1552
mlxsw_sp_port))
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1561
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1574
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1586
mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1597
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1610
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1620
int mlxsw_sp_span_trigger_enable(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1623
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1630
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1634
return trigger_entry->ops->enable(trigger_entry, mlxsw_sp_port, tc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1637
void mlxsw_sp_span_trigger_disable(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1640
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1647
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
1651
return trigger_entry->ops->disable(trigger_entry, mlxsw_sp_port, tc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
180
struct mlxsw_sp_port *dest_port = sparms.dest_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
200
struct mlxsw_sp_port *dest_port = span_entry->parms.dest_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
304
struct mlxsw_sp_port *port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
481
struct mlxsw_sp_port *dest_port = sparms.dest_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
586
struct mlxsw_sp_port *dest_port = sparms.dest_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
64
struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
652
struct mlxsw_sp_port *dest_port = sparms.dest_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
66
struct mlxsw_sp_port *mlxsw_sp_port, u8 tc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
68
struct mlxsw_sp_port *mlxsw_sp_port, u8 tc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
978
static int mlxsw_sp_span_port_buffer_update(struct mlxsw_sp_port *mlxsw_sp_port, bool enable)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
982
hdroom = *mlxsw_sp_port->hdroom;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
984
mlxsw_sp_hdroom_bufs_reset_sizes(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
986
return mlxsw_sp_hdroom_configure(mlxsw_sp_port, &hdroom);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
990
mlxsw_sp_span_port_buffer_enable(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
992
return mlxsw_sp_span_port_buffer_update(mlxsw_sp_port, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
995
static void mlxsw_sp_span_port_buffer_disable(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
997
mlxsw_sp_span_port_buffer_update(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
101
int mlxsw_sp_span_analyzed_port_get(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
103
void mlxsw_sp_span_analyzed_port_put(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
107
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
112
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
114
int mlxsw_sp_span_trigger_enable(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
116
void mlxsw_sp_span_trigger_disable(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
14
struct mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
30
struct mlxsw_sp_port *dest_port; /* NULL for unoffloaded SPAN. */
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1006
static int mlxsw_sp_port_attr_mrouter_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1013
bridge_port = mlxsw_sp_bridge_port_find(mlxsw_sp_port->mlxsw_sp->bridge,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1018
mlxsw_sp_port_mrouter_update_mdb(mlxsw_sp_port, bridge_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1024
err = mlxsw_sp_bridge_port_flood_table_set(mlxsw_sp_port, bridge_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1044
static int mlxsw_sp_port_mc_disabled_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1049
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1260
mlxsw_sp_port_attr_br_mrouter_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1264
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1285
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1290
err = mlxsw_sp_port_attr_stp_state_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1295
err = mlxsw_sp_port_attr_br_pre_flags_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1301
err = mlxsw_sp_port_attr_br_flags_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1306
err = mlxsw_sp_port_attr_br_ageing_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1310
err = mlxsw_sp_port_attr_br_vlan_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1315
err = mlxsw_sp_port_attr_br_vlan_proto_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1320
err = mlxsw_sp_port_attr_mrouter_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1325
err = mlxsw_sp_port_mc_disabled_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1330
err = mlxsw_sp_port_attr_br_mrouter_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1339
mlxsw_sp_span_respin(mlxsw_sp_port->mlxsw_sp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1349
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1351
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1376
err = mlxsw_sp_fid_port_vid_map(fid, mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
139
mlxsw_sp_bridge_port_mdb_flush(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1398
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1400
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1404
mlxsw_sp_fid_port_vid_unmap(fid, mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1412
mlxsw_sp_port_pvid_determine(const struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1417
else if (mlxsw_sp_port->pvid == vid)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1420
return mlxsw_sp_port->pvid;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1428
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1442
err = mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1447
err = mlxsw_sp_port_vid_stp_set(mlxsw_sp_port, vid,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1461
mlxsw_sp_bridge_port_get(mlxsw_sp_port->mlxsw_sp->bridge,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1468
mlxsw_sp_port_vid_stp_set(mlxsw_sp_port, vid, BR_STATE_DISABLED);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1470
mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1479
struct mlxsw_sp_port *mlxsw_sp_port = mlxsw_sp_port_vlan->mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
149
mlxsw_sp_port_mrouter_update_mdb(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1496
mlxsw_sp_port_vid_stp_set(mlxsw_sp_port, vid, BR_STATE_DISABLED);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1497
mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1499
mlxsw_sp_bridge_port_fdb_flush(mlxsw_sp_port->mlxsw_sp,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1503
mlxsw_sp_bridge_port_mdb_flush(mlxsw_sp_port, bridge_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1508
mlxsw_sp_bridge_port_put(mlxsw_sp_port->mlxsw_sp->bridge, bridge_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1513
mlxsw_sp_bridge_port_vlan_add(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1518
u16 pvid = mlxsw_sp_port_pvid_determine(mlxsw_sp_port, vid, is_pvid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1520
u16 old_pvid = mlxsw_sp_port->pvid;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1528
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1534
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_create(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1540
err = mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, true,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1546
err = mlxsw_sp_port_pvid_set(mlxsw_sp_port, pvid, proto);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1558
mlxsw_sp_port_pvid_set(mlxsw_sp_port, old_pvid, proto);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1560
mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, false, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1578
static int mlxsw_sp_port_vlans_add(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1584
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1606
return mlxsw_sp_bridge_port_vlan_add(mlxsw_sp_port, bridge_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1855
mlxsw_sp_port_fdb_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1858
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1870
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_bridge(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1925
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1936
mlxsw_sp_port = mlxsw_sp_port_lagged_get(mlxsw_sp,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1938
if (mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
1939
set_bit(mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2178
static int mlxsw_sp_port_mdb_add(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2181
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2194
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_bridge(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2204
mlxsw_sp_port->local_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2234
mlxsw_sp_port_mrouter_update_mdb(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2238
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2240
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2259
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2267
err = mlxsw_sp_port_vlans_add(mlxsw_sp_port, vlan, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2274
mlxsw_sp_span_respin(mlxsw_sp_port->mlxsw_sp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2277
err = mlxsw_sp_port_mdb_add(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2289
mlxsw_sp_bridge_port_vlan_del(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2292
u16 pvid = mlxsw_sp_port->pvid == vid ? 0 : mlxsw_sp_port->pvid;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2296
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2302
mlxsw_sp_port_pvid_set(mlxsw_sp_port, pvid, proto);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2303
mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid, false, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2307
static int mlxsw_sp_port_vlans_del(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2310
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2324
mlxsw_sp_bridge_port_vlan_del(mlxsw_sp_port, bridge_port, vlan->vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2329
static int mlxsw_sp_port_mdb_del(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2332
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2336
struct net_device *dev = mlxsw_sp_port->dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2347
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_bridge(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2365
mlxsw_sp_port->local_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2370
mlxsw_sp_bridge_port_mdb_flush(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2374
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2377
u16 local_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2399
struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2404
err = mlxsw_sp_port_vlans_del(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2408
err = mlxsw_sp_port_mdb_del(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2416
mlxsw_sp_span_respin(mlxsw_sp_port->mlxsw_sp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2421
static struct mlxsw_sp_port *mlxsw_sp_lag_rep_port(struct mlxsw_sp *mlxsw_sp,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2424
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2431
mlxsw_sp_port = mlxsw_sp_port_lagged_get(mlxsw_sp, lag_id, i);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2432
if (mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2433
return mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2440
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2445
.mlxsw_sp_port = mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2451
err = switchdev_bridge_port_replay(bridge_port->dev, mlxsw_sp_port->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2460
switchdev_bridge_port_replay(bridge_port->dev, mlxsw_sp_port->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2467
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2476
if (mlxsw_sp_port->default_vlan->fid)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2477
mlxsw_sp_port_vlan_router_leave(mlxsw_sp_port->default_vlan);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2479
return mlxsw_sp_bridge_port_replay(bridge_port, mlxsw_sp_port, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2485
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2488
return mlxsw_sp_bridge_vlan_aware_port_join(bridge_port, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2493
mlxsw_sp_bridge_vlan_aware_port_leave(struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2496
mlxsw_sp_port_pvid_set(mlxsw_sp_port, MLXSW_SP_DEFAULT_VID,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2503
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2505
mlxsw_sp_bridge_vlan_aware_port_leave(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2626
mlxsw_sp_port_is_br_member(const struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2631
list_for_each_entry(mlxsw_sp_port_vlan, &mlxsw_sp_port->vlans_list,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2645
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2654
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2658
if (mlxsw_sp_port_is_br_member(mlxsw_sp_port, bridge_device->dev)) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2672
err = mlxsw_sp_bridge_port_replay(bridge_port, mlxsw_sp_port, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2686
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2693
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_vid(mlxsw_sp_port, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2781
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2786
err = mlxsw_sp_port_vlan_classification_set(mlxsw_sp_port, true, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2790
err = mlxsw_sp_bridge_vlan_aware_port_join(bridge_port, mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2798
mlxsw_sp_port_vlan_classification_set(mlxsw_sp_port, false, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2805
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2807
mlxsw_sp_bridge_vlan_aware_port_leave(mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2808
mlxsw_sp_port_vlan_classification_set(mlxsw_sp_port, false, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2832
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2841
err = mlxsw_sp_port_egress_ethtype_set(mlxsw_sp_port, ETH_P_8021AD);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2846
mlxsw_sp_port, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2853
mlxsw_sp_port_egress_ethtype_set(mlxsw_sp_port, ETH_P_8021Q);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2860
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2863
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2864
mlxsw_sp_port_egress_ethtype_set(mlxsw_sp_port, ETH_P_8021Q);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2876
int mlxsw_sp_port_bridge_join(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2881
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2893
mlxsw_sp_port, extack);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2905
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2911
void mlxsw_sp_port_bridge_leave(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2915
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2927
mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2928
mlxsw_sp_port_security_set(mlxsw_sp_port, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2957
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2964
mlxsw_sp_port = mlxsw_sp_port_dev_lower_find(bridge_device->dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2965
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
2973
err = switchdev_bridge_port_offload(vxlan_dev, mlxsw_sp_port->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3078
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3089
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3090
if (!mlxsw_sp_port) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3095
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_fid(mlxsw_sp_port, fid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3097
netdev_err(mlxsw_sp_port->dev, "Failed to find a matching {Port, VID} following FDB notification\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3103
netdev_err(mlxsw_sp_port->dev, "{Port, VID} not associated with a bridge\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3111
if (adding && mlxsw_sp_port->security) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3146
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3156
mlxsw_sp_port = mlxsw_sp_lag_rep_port(mlxsw_sp, lag_id);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3157
if (!mlxsw_sp_port) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3162
mlxsw_sp_port_vlan = mlxsw_sp_port_vlan_find_by_fid(mlxsw_sp_port, fid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3164
netdev_err(mlxsw_sp_port->dev, "Failed to find a matching {Port, VID} following FDB notification\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3170
netdev_err(mlxsw_sp_port->dev, "{Port, VID} not associated with a bridge\n");
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3178
if (adding && mlxsw_sp_port->security) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3518
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3527
mlxsw_sp_port = mlxsw_sp_port_dev_lower_find(dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3528
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3536
err = mlxsw_sp_port_fdb_set(mlxsw_sp_port, fdb_info, true);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3545
mlxsw_sp_port_fdb_set(mlxsw_sp_port, fdb_info, false);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
3555
mlxsw_sp_span_respin(mlxsw_sp_port->mlxsw_sp);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
395
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
430
err = mlxsw_sp_port_kill_vid(rso->mlxsw_sp_port->dev, 0, vid);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
436
err = mlxsw_sp_port_obj_add(rso->mlxsw_sp_port->dev, NULL,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
463
mlxsw_sp_port_obj_del(rso->mlxsw_sp_port->dev, NULL,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
478
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
485
mlxsw_sp_port = mlxsw_sp_port_dev_lower_find(brport_dev);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
486
bridge_port->lagged = mlxsw_sp_port->lagged;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
488
bridge_port->lag_id = mlxsw_sp_port->lag_id;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
490
bridge_port->system_port = mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
500
err = switchdev_bridge_port_offload(brport_dev, mlxsw_sp_port->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
569
mlxsw_sp_port_vlan_find_by_bridge(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
576
list_for_each_entry(mlxsw_sp_port_vlan, &mlxsw_sp_port->vlans_list,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
593
mlxsw_sp_port_vlan_find_by_fid(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
598
list_for_each_entry(mlxsw_sp_port_vlan, &mlxsw_sp_port->vlans_list,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
666
mlxsw_sp_port_bridge_vlan_stp_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
674
if (mlxsw_sp_port_vlan->mlxsw_sp_port != mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
676
return mlxsw_sp_port_vid_stp_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
683
static int mlxsw_sp_port_attr_stp_state_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
694
bridge_port = mlxsw_sp_bridge_port_find(mlxsw_sp_port->mlxsw_sp->bridge,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
700
err = mlxsw_sp_port_bridge_vlan_stp_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
713
mlxsw_sp_port_bridge_vlan_stp_set(mlxsw_sp_port, bridge_vlan,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
719
mlxsw_sp_port_bridge_vlan_flood_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
728
if (mlxsw_sp_port_vlan->mlxsw_sp_port != mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
732
mlxsw_sp_port->local_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
740
mlxsw_sp_bridge_port_flood_table_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
749
err = mlxsw_sp_port_bridge_vlan_flood_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
762
mlxsw_sp_port_bridge_vlan_flood_set(mlxsw_sp_port, bridge_vlan,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
777
u16 local_port = mlxsw_sp_port_vlan->mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
791
u16 local_port = mlxsw_sp_port_vlan->mlxsw_sp_port->local_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
826
mlxsw_sp_port_bridge_vlan_learning_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
835
if (mlxsw_sp_port_vlan->mlxsw_sp_port != mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
837
return mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, set);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
84
struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
844
mlxsw_sp_bridge_port_learning_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
852
err = mlxsw_sp_port_bridge_vlan_learning_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
863
mlxsw_sp_port_bridge_vlan_learning_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
869
mlxsw_sp_port_attr_br_pre_flags_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
88
struct mlxsw_sp_port *mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
893
static int mlxsw_sp_port_attr_br_flags_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
900
bridge_port = mlxsw_sp_bridge_port_find(mlxsw_sp_port->mlxsw_sp->bridge,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
906
err = mlxsw_sp_bridge_port_flood_table_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
915
err = mlxsw_sp_bridge_port_learning_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
923
err = mlxsw_sp_port_security_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
933
err = mlxsw_sp_bridge_port_flood_table_set(mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
959
static int mlxsw_sp_port_attr_br_ageing_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
962
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
973
static int mlxsw_sp_port_attr_br_vlan_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
977
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
991
static int mlxsw_sp_port_attr_br_vlan_proto_set(struct mlxsw_sp_port *mlxsw_sp_port,
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
995
struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
100
err = mlxsw_sp_rx_listener(mlxsw_sp, skb, local_port, mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
118
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
124
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
126
err = mlxsw_sp_rx_listener(mlxsw_sp, skb, local_port, mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
145
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
151
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
153
err = mlxsw_sp_rx_listener(mlxsw_sp, skb, local_port, mlxsw_sp_port);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
211
static struct mlxsw_sp_port *
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
244
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
248
mlxsw_sp_port = mlxsw_sp_sample_tx_port_get(mlxsw_sp, rx_md_info);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
249
md->out_ifindex = mlxsw_sp_port && mlxsw_sp_port->dev ?
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
250
mlxsw_sp_port->dev->ifindex : 0;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
266
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
274
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
275
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
289
mlxsw_sp_port->dev->ifindex, params->truncate,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
301
struct mlxsw_sp_port *mlxsw_sp_port, *mlxsw_sp_port_tx;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
317
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
318
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
339
mlxsw_sp_port->dev->ifindex, params->truncate,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
354
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
362
mlxsw_sp_port = mlxsw_sp->ports[local_port];
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
363
if (!mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
375
mlxsw_sp_port->dev->ifindex, params->truncate,
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
64
struct mlxsw_sp_port *mlxsw_sp_port)
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
68
if (unlikely(!mlxsw_sp_port)) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
75
skb->dev = mlxsw_sp_port->dev;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
77
pcpu_stats = this_cpu_ptr(mlxsw_sp_port->pcpu_stats);
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
92
struct mlxsw_sp_port *mlxsw_sp_port;
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c
98
mlxsw_sp_port = mlxsw_sp->ports[local_port];