mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
net/mlx5: Rename and move mlx5_esw_query_vport_vhca_id
Rename mlx5_esw_query_vport_vhca_id to mlx5_vport_get_vhca_id and move it to vport file. Also, add function declaration to mlx5_core header file. This better represents the function's usage and allows for it to be called from other parts of the mlx5_core driver. Signed-off-by: Akiva Goldberger <agoldberger@nvidia.com> Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Link: https://patch.msgid.link/20250209101716.112774-10-tariqt@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
a38cc5706f
commit
38b3d42e5a
3 changed files with 29 additions and 27 deletions
|
@ -4157,37 +4157,12 @@ u32 mlx5_eswitch_get_vport_metadata_for_match(struct mlx5_eswitch *esw,
|
|||
}
|
||||
EXPORT_SYMBOL(mlx5_eswitch_get_vport_metadata_for_match);
|
||||
|
||||
static int mlx5_esw_query_vport_vhca_id(struct mlx5_eswitch *esw, u16 vport_num, u16 *vhca_id)
|
||||
{
|
||||
int query_out_sz = MLX5_ST_SZ_BYTES(query_hca_cap_out);
|
||||
void *query_ctx;
|
||||
void *hca_caps;
|
||||
int err;
|
||||
|
||||
*vhca_id = 0;
|
||||
|
||||
query_ctx = kzalloc(query_out_sz, GFP_KERNEL);
|
||||
if (!query_ctx)
|
||||
return -ENOMEM;
|
||||
|
||||
err = mlx5_vport_get_other_func_general_cap(esw->dev, vport_num, query_ctx);
|
||||
if (err)
|
||||
goto out_free;
|
||||
|
||||
hca_caps = MLX5_ADDR_OF(query_hca_cap_out, query_ctx, capability);
|
||||
*vhca_id = MLX5_GET(cmd_hca_cap, hca_caps, vhca_id);
|
||||
|
||||
out_free:
|
||||
kfree(query_ctx);
|
||||
return err;
|
||||
}
|
||||
|
||||
int mlx5_esw_vport_vhca_id_set(struct mlx5_eswitch *esw, u16 vport_num)
|
||||
{
|
||||
u16 *old_entry, *vhca_map_entry, vhca_id;
|
||||
int err;
|
||||
|
||||
err = mlx5_esw_query_vport_vhca_id(esw, vport_num, &vhca_id);
|
||||
err = mlx5_vport_get_vhca_id(esw->dev, vport_num, &vhca_id);
|
||||
if (err) {
|
||||
esw_warn(esw->dev, "Getting vhca_id for vport failed (vport=%u,err=%d)\n",
|
||||
vport_num, err);
|
||||
|
@ -4213,7 +4188,7 @@ void mlx5_esw_vport_vhca_id_clear(struct mlx5_eswitch *esw, u16 vport_num)
|
|||
u16 *vhca_map_entry, vhca_id;
|
||||
int err;
|
||||
|
||||
err = mlx5_esw_query_vport_vhca_id(esw, vport_num, &vhca_id);
|
||||
err = mlx5_vport_get_vhca_id(esw->dev, vport_num, &vhca_id);
|
||||
if (err)
|
||||
esw_warn(esw->dev, "Getting vhca_id for vport failed (vport=%hu,err=%d)\n",
|
||||
vport_num, err);
|
||||
|
|
|
@ -346,6 +346,8 @@ int mlx5_vport_set_other_func_cap(struct mlx5_core_dev *dev, const void *hca_cap
|
|||
#define mlx5_vport_get_other_func_general_cap(dev, vport, out) \
|
||||
mlx5_vport_get_other_func_cap(dev, vport, out, MLX5_CAP_GENERAL)
|
||||
|
||||
int mlx5_vport_get_vhca_id(struct mlx5_core_dev *dev, u16 vport, u16 *vhca_id);
|
||||
|
||||
static inline u32 mlx5_sriov_get_vf_total_msix(struct pci_dev *pdev)
|
||||
{
|
||||
struct mlx5_core_dev *dev = pci_get_drvdata(pdev);
|
||||
|
|
|
@ -1199,6 +1199,31 @@ int mlx5_vport_get_other_func_cap(struct mlx5_core_dev *dev, u16 vport, void *ou
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(mlx5_vport_get_other_func_cap);
|
||||
|
||||
int mlx5_vport_get_vhca_id(struct mlx5_core_dev *dev, u16 vport, u16 *vhca_id)
|
||||
{
|
||||
int query_out_sz = MLX5_ST_SZ_BYTES(query_hca_cap_out);
|
||||
void *query_ctx;
|
||||
void *hca_caps;
|
||||
int err;
|
||||
|
||||
*vhca_id = 0;
|
||||
|
||||
query_ctx = kzalloc(query_out_sz, GFP_KERNEL);
|
||||
if (!query_ctx)
|
||||
return -ENOMEM;
|
||||
|
||||
err = mlx5_vport_get_other_func_general_cap(dev, vport, query_ctx);
|
||||
if (err)
|
||||
goto out_free;
|
||||
|
||||
hca_caps = MLX5_ADDR_OF(query_hca_cap_out, query_ctx, capability);
|
||||
*vhca_id = MLX5_GET(cmd_hca_cap, hca_caps, vhca_id);
|
||||
|
||||
out_free:
|
||||
kfree(query_ctx);
|
||||
return err;
|
||||
}
|
||||
|
||||
int mlx5_vport_set_other_func_cap(struct mlx5_core_dev *dev, const void *hca_cap,
|
||||
u16 vport, u16 opmod)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue