mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
net/mlx5: Register SF resource on satellite PF ports
Extend port-level resource registration to satellite PF vports. Signed-off-by: Or Har-Toov <ohartoov@nvidia.com> Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Link: https://patch.msgid.link/20260521110843.367329-10-tariqt@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
e020a70672
commit
ac338d8011
|
|
@ -176,14 +176,28 @@ static const struct devlink_port_ops mlx5_esw_dl_sf_port_ops = {
|
|||
};
|
||||
|
||||
static int mlx5_esw_devlink_port_res_register(struct mlx5_eswitch *esw,
|
||||
struct devlink_port *dl_port)
|
||||
struct devlink_port *dl_port,
|
||||
u16 vport_num)
|
||||
{
|
||||
struct devlink_resource_size_params size_params;
|
||||
struct mlx5_core_dev *dev = esw->dev;
|
||||
u16 max_sfs, sf_base_id;
|
||||
int err;
|
||||
|
||||
err = mlx5_esw_sf_max_hpf_functions(dev, &max_sfs, &sf_base_id);
|
||||
if (vport_num != MLX5_VPORT_HOST_PF &&
|
||||
!mlx5_esw_is_spf_vport(esw, vport_num))
|
||||
return 0;
|
||||
|
||||
if (vport_num == MLX5_VPORT_HOST_PF) {
|
||||
err = mlx5_esw_sf_max_hpf_functions(dev, &max_sfs,
|
||||
&sf_base_id);
|
||||
} else {
|
||||
int spf_idx = mlx5_esw_spf_vport_to_idx(esw, vport_num);
|
||||
|
||||
err = mlx5_esw_sf_max_spf_functions(dev, spf_idx, &max_sfs,
|
||||
&sf_base_id);
|
||||
}
|
||||
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
|
|
@ -232,14 +246,11 @@ int mlx5_esw_offloads_devlink_port_register(struct mlx5_eswitch *esw, struct mlx
|
|||
if (err)
|
||||
goto rate_err;
|
||||
|
||||
if (vport_num == MLX5_VPORT_HOST_PF) {
|
||||
err = mlx5_esw_devlink_port_res_register(esw,
|
||||
&dl_port->dl_port);
|
||||
if (err)
|
||||
mlx5_core_dbg(dev,
|
||||
"Failed to register port resources: %d\n",
|
||||
err);
|
||||
}
|
||||
err = mlx5_esw_devlink_port_res_register(esw, &dl_port->dl_port,
|
||||
vport_num);
|
||||
if (err)
|
||||
mlx5_core_dbg(dev, "Failed to register port resources: %d\n",
|
||||
err);
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user