| /linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| H A D | devcom.c | 161 struct mlx5_devcom_comp_dev *devcom; in devcom_alloc_comp_dev() local 163 devcom = kzalloc_obj(*devcom); in devcom_alloc_comp_dev() 164 if (!devcom) in devcom_alloc_comp_dev() 168 devcom->devc = devc; in devcom_alloc_comp_dev() 169 devcom->comp = comp; in devcom_alloc_comp_dev() 170 rcu_assign_pointer(devcom->data, data); in devcom_alloc_comp_dev() 173 list_add_tail(&devcom->list, &comp->comp_dev_list_head); in devcom_alloc_comp_dev() 177 return devcom; in devcom_alloc_comp_dev() 181 devcom_free_comp_dev(struct mlx5_devcom_comp_dev *devcom) in devcom_free_comp_dev() argument 183 struct mlx5_devcom_comp *comp = devcom->comp; in devcom_free_comp_dev() [all …]
|
| H A D | sd.c | 23 struct mlx5_devcom_comp_dev *devcom; member 66 if (!mlx5_devcom_comp_is_ready(sd->devcom)) in mlx5_sd_get_primary() 79 return sd->devcom; in mlx5_sd_get_devcom() 102 mlx5_devcom_comp_assert_locked(sd->devcom); in mlx5_sd_pf_num_get() 103 if (!mlx5_devcom_comp_is_ready(sd->devcom)) in mlx5_sd_pf_num_get() 526 struct mlx5_devcom_comp_dev *devcom; in sd_register() local 536 devcom = mlx5_devcom_register_component(dev->priv.devc, in sd_register() 540 if (!devcom) in sd_register() 543 sd->devcom = devcom; in sd_register() 545 mlx5_devcom_comp_lock(devcom); in sd_register() [all …]
|
| H A D | ipsec_fs_roce.h | 28 struct mlx5_devcom_comp_dev **devcom);
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/lag/ |
| H A D | mpesw.c | 193 struct mlx5_devcom_comp_dev *devcom; in mlx5_mpesw_work() local 196 devcom = mlx5_lag_get_devcom_comp(ldev); in mlx5_mpesw_work() 197 if (!devcom) { in mlx5_mpesw_work() 202 mlx5_devcom_comp_lock(devcom); in mlx5_mpesw_work() 217 mlx5_devcom_comp_unlock(devcom); in mlx5_mpesw_work()
|
| H A D | lag.c | 40 #include "lib/devcom.h" 1165 struct mlx5_devcom_comp_dev *devcom = NULL; in mlx5_lag_assert_locked_transition() local 1176 devcom = pf->dev->priv.hca_devcom_comp; in mlx5_lag_assert_locked_transition() 1178 devcom = mlx5_sd_get_devcom(pf->dev); in mlx5_lag_assert_locked_transition() 1180 mlx5_devcom_comp_assert_locked(devcom); in mlx5_lag_assert_locked_transition() 1318 /* The HCA devcom component lock serializes LAG mode transitions while in mlx5_lag_reload_ib_reps() 1705 * devcom component, and as all the mdevs use the same devcom component we are in mlx5_lag_demux_ft_fg_init() 1706 * guaranteed that the devcom is valid while the calling work is running. in mlx5_lag_demux_ft_fg_init() 1710 struct mlx5_devcom_comp_dev *devcom in mlx5_lag_demux_ft_fg_init() 1675 struct mlx5_devcom_comp_dev *devcom = NULL; mlx5_lag_get_devcom_comp() local 1884 struct mlx5_devcom_comp_dev *devcom; mlx5_do_bond_work() local [all...] |
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
| H A D | bridge_mcast.c | 545 struct mlx5_devcom_comp_dev *devcom = port->bridge->br_offloads->esw->devcom, *pos; in mlx5_esw_bridge_mcast_filter_flow_peer_create() local 549 if (!mlx5_devcom_for_each_peer_begin(devcom)) in mlx5_esw_bridge_mcast_filter_flow_peer_create() 552 mlx5_devcom_for_each_peer_entry(devcom, tmp, pos) { in mlx5_esw_bridge_mcast_filter_flow_peer_create() 567 mlx5_devcom_for_each_peer_end(devcom); in mlx5_esw_bridge_mcast_filter_flow_peer_create()
|
| H A D | bridge.c | 659 struct mlx5_devcom_comp_dev *devcom = bridge->br_offloads->esw->devcom, *pos; in mlx5_esw_bridge_ingress_flow_peer_create() local 663 if (!mlx5_devcom_for_each_peer_begin(devcom)) in mlx5_esw_bridge_ingress_flow_peer_create() 666 mlx5_devcom_for_each_peer_entry(devcom, tmp, pos) { in mlx5_esw_bridge_ingress_flow_peer_create() 682 mlx5_devcom_for_each_peer_end(devcom); in mlx5_esw_bridge_ingress_flow_peer_create()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | en_tc.c | 1700 mlx5_devcom_for_each_peer_entry_rcu(esw->devcom, esw, pos) { in mlx5e_tc_query_route_vport() 2162 struct mlx5_devcom_comp_dev *devcom = flow->priv->mdev->priv.eswitch->devcom; in mlx5e_tc_del_flow() local 2165 !mlx5_devcom_for_each_peer_begin(devcom)) { in mlx5e_tc_del_flow() 2171 mlx5_devcom_for_each_peer_end(devcom); in mlx5e_tc_del_flow() 4384 bool esw_paired = mlx5_devcom_comp_is_ready(esw_attr->in_mdev->priv.eswitch->devcom); in is_peer_flow_needed() 4661 struct mlx5_devcom_comp_dev *devcom = priv->mdev->priv.eswitch->devcom, *pos; in mlx5e_add_fdb_flow() local 4686 if (!mlx5_devcom_for_each_peer_begin(devcom)) { in mlx5e_add_fdb_flow() 4691 mlx5_devcom_for_each_peer_entry(devcom, peer_esw, pos) { in mlx5e_add_fdb_flow() 4706 mlx5_devcom_for_each_peer_end(devcom); in mlx5e_add_fdb_flow() 4713 mlx5_devcom_for_each_peer_end(devcom); in mlx5e_add_fdb_flow() [all …]
|
| H A D | en_rep.c | 475 mlx5_devcom_for_each_peer_entry(esw->devcom, peer_esw, tmp) { in mlx5e_sqs2vport_add_peers_rules() 520 if (mlx5_devcom_comp_is_ready(esw->devcom) && in mlx5e_sqs2vport_start() 521 mlx5_devcom_for_each_peer_begin(esw->devcom)) in mlx5e_sqs2vport_start() 557 mlx5_devcom_for_each_peer_end(esw->devcom); in mlx5e_sqs2vport_start() 565 mlx5_devcom_for_each_peer_end(esw->devcom); in mlx5e_sqs2vport_start()
|
| H A D | eswitch_offloads.c | 3513 mlx5_devcom_comp_set_ready(esw->devcom, true); in mlx5_esw_offloads_devcom_event() 3523 mlx5_devcom_comp_set_ready(esw->devcom, false); in mlx5_esw_offloads_devcom_event() 3567 esw->devcom = mlx5_devcom_register_component(esw->dev->priv.devc, in mlx5_esw_offloads_devcom_init() 3572 if (!esw->devcom) in mlx5_esw_offloads_devcom_init() 3575 mlx5_devcom_send_event(esw->devcom, in mlx5_esw_offloads_devcom_init() 3583 if (!esw->devcom) in mlx5_esw_offloads_devcom_cleanup() 3586 mlx5_devcom_send_event(esw->devcom, in mlx5_esw_offloads_devcom_cleanup() 3591 mlx5_devcom_unregister_component(esw->devcom); in mlx5_esw_offloads_devcom_cleanup() 3594 esw->devcom = NULL; in mlx5_esw_offloads_devcom_cleanup() 3599 return mlx5_devcom_comp_is_ready(esw->devcom); in mlx5_esw_offloads_devcom_is_ready()
|
| H A D | en_main.c | 218 mlx5_devcom_comp_set_ready(master_priv->devcom, true); in mlx5e_devcom_event_mpv() 240 priv->devcom = mlx5_devcom_register_component(priv->mdev->priv.devc, in mlx5e_devcom_init_mpv() 245 if (!priv->devcom) in mlx5e_devcom_init_mpv() 249 mlx5_devcom_send_event(priv->devcom, MPV_DEVCOM_MASTER_UP, in mlx5e_devcom_init_mpv() 259 if (!priv->devcom) in mlx5e_devcom_cleanup_mpv() 263 mlx5_devcom_send_event(priv->devcom, MPV_DEVCOM_MASTER_DOWN, in mlx5e_devcom_cleanup_mpv() 268 mlx5_devcom_unregister_component(priv->devcom); in mlx5e_devcom_cleanup_mpv() 269 priv->devcom = NULL; in mlx5e_devcom_cleanup_mpv()
|
| H A D | en.h | 986 struct mlx5_devcom_comp_dev *devcom; member
|
| H A D | eswitch.h | 440 struct mlx5_devcom_comp_dev *devcom; member
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
| H A D | ipsec_fs.c | 2765 struct mlx5_devcom_comp_dev **devcom) in mlx5e_accel_ipsec_fs_init() argument 2817 ipsec->roce = mlx5_ipsec_fs_roce_init(mdev, devcom); in mlx5e_accel_ipsec_fs_init() 2896 if (!priv->ipsec || mlx5_devcom_comp_get_size(priv->devcom) < 2) in mlx5e_ipsec_send_event() 2899 mlx5_devcom_send_event(priv->devcom, event, event, priv); in mlx5e_ipsec_send_event() 2908 if (!priv->devcom) in mlx5e_ipsec_disable_events() 2911 if (!mlx5_devcom_for_each_peer_begin(priv->devcom)) in mlx5e_ipsec_disable_events() 2914 peer_priv = mlx5_devcom_get_next_peer_data(priv->devcom, &tmp); in mlx5e_ipsec_disable_events() 2918 mlx5_devcom_for_each_peer_end(priv->devcom); in mlx5e_ipsec_disable_events() 2920 mlx5_devcom_unregister_component(priv->devcom); in mlx5e_ipsec_disable_events() 2921 priv->devcom = NULL; in mlx5e_ipsec_disable_events()
|
| H A D | ipsec.h | 317 int mlx5e_accel_ipsec_fs_init(struct mlx5e_ipsec *ipsec, struct mlx5_devcom_comp_dev **devcom);
|
| H A D | ipsec.c | 1017 ret = mlx5e_accel_ipsec_fs_init(ipsec, &priv->devcom); in mlx5e_ipsec_init()
|