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);
|
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)
|
int mlx5_esw_vport_vhca_id_set(struct mlx5_eswitch *esw, u16 vport_num)
|
||||||
{
|
{
|
||||||
u16 *old_entry, *vhca_map_entry, vhca_id;
|
u16 *old_entry, *vhca_map_entry, vhca_id;
|
||||||
int err;
|
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) {
|
if (err) {
|
||||||
esw_warn(esw->dev, "Getting vhca_id for vport failed (vport=%u,err=%d)\n",
|
esw_warn(esw->dev, "Getting vhca_id for vport failed (vport=%u,err=%d)\n",
|
||||||
vport_num, err);
|
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;
|
u16 *vhca_map_entry, vhca_id;
|
||||||
int err;
|
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)
|
if (err)
|
||||||
esw_warn(esw->dev, "Getting vhca_id for vport failed (vport=%hu,err=%d)\n",
|
esw_warn(esw->dev, "Getting vhca_id for vport failed (vport=%hu,err=%d)\n",
|
||||||
vport_num, err);
|
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) \
|
#define mlx5_vport_get_other_func_general_cap(dev, vport, out) \
|
||||||
mlx5_vport_get_other_func_cap(dev, vport, out, MLX5_CAP_GENERAL)
|
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)
|
static inline u32 mlx5_sriov_get_vf_total_msix(struct pci_dev *pdev)
|
||||||
{
|
{
|
||||||
struct mlx5_core_dev *dev = pci_get_drvdata(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);
|
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,
|
int mlx5_vport_set_other_func_cap(struct mlx5_core_dev *dev, const void *hca_cap,
|
||||||
u16 vport, u16 opmod)
|
u16 vport, u16 opmod)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue