mirror of
https://github.com/torvalds/linux
synced 2024-10-05 19:02:12 +00:00
net/mlx5: Fix query of sd_group field
The sd_group field moved in the HW spec from the MPIR register
to the vport context.
Align the query accordingly.
Fixes: f5e9563299
("net/mlx5: Expose Management PCIe Index Register (MPIR)")
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
25461ce8b3
commit
cfbc3608a8
|
@ -440,6 +440,27 @@ int mlx5_query_nic_vport_system_image_guid(struct mlx5_core_dev *mdev,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(mlx5_query_nic_vport_system_image_guid);
|
||||
|
||||
int mlx5_query_nic_vport_sd_group(struct mlx5_core_dev *mdev, u8 *sd_group)
|
||||
{
|
||||
int outlen = MLX5_ST_SZ_BYTES(query_nic_vport_context_out);
|
||||
u32 *out;
|
||||
int err;
|
||||
|
||||
out = kvzalloc(outlen, GFP_KERNEL);
|
||||
if (!out)
|
||||
return -ENOMEM;
|
||||
|
||||
err = mlx5_query_nic_vport_context(mdev, 0, out);
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
*sd_group = MLX5_GET(query_nic_vport_context_out, out,
|
||||
nic_vport_context.sd_group);
|
||||
out:
|
||||
kvfree(out);
|
||||
return err;
|
||||
}
|
||||
|
||||
int mlx5_query_nic_vport_node_guid(struct mlx5_core_dev *mdev, u64 *node_guid)
|
||||
{
|
||||
u32 *out;
|
||||
|
|
|
@ -4036,8 +4036,13 @@ struct mlx5_ifc_nic_vport_context_bits {
|
|||
u8 affiliation_criteria[0x4];
|
||||
u8 affiliated_vhca_id[0x10];
|
||||
|
||||
u8 reserved_at_60[0xd0];
|
||||
u8 reserved_at_60[0xa0];
|
||||
|
||||
u8 reserved_at_100[0x1];
|
||||
u8 sd_group[0x3];
|
||||
u8 reserved_at_104[0x1c];
|
||||
|
||||
u8 reserved_at_120[0x10];
|
||||
u8 mtu[0x10];
|
||||
|
||||
u8 system_image_guid[0x40];
|
||||
|
@ -10122,8 +10127,7 @@ struct mlx5_ifc_mpir_reg_bits {
|
|||
u8 reserved_at_20[0x20];
|
||||
|
||||
u8 local_port[0x8];
|
||||
u8 reserved_at_28[0x15];
|
||||
u8 sd_group[0x3];
|
||||
u8 reserved_at_28[0x18];
|
||||
|
||||
u8 reserved_at_60[0x20];
|
||||
};
|
||||
|
|
|
@ -72,6 +72,7 @@ int mlx5_query_nic_vport_mtu(struct mlx5_core_dev *mdev, u16 *mtu);
|
|||
int mlx5_modify_nic_vport_mtu(struct mlx5_core_dev *mdev, u16 mtu);
|
||||
int mlx5_query_nic_vport_system_image_guid(struct mlx5_core_dev *mdev,
|
||||
u64 *system_image_guid);
|
||||
int mlx5_query_nic_vport_sd_group(struct mlx5_core_dev *mdev, u8 *sd_group);
|
||||
int mlx5_query_nic_vport_node_guid(struct mlx5_core_dev *mdev, u64 *node_guid);
|
||||
int mlx5_modify_nic_vport_node_guid(struct mlx5_core_dev *mdev,
|
||||
u16 vport, u64 node_guid);
|
||||
|
|
Loading…
Reference in a new issue