common/mlx5: adjust PRM struct size on Windows
Add reserved size to PRM 'struct mlx5_ifc_fte_match_param_bits' for non Linux OS. Windows drivers require this extension since their expected size should match the actual struct size. Linux drivers do not require this extension and already use calculations based on the shorter size. Use a static assert to verify that the PRM fte_match_param struct size remains correct. Signed-off-by: Tal Shnaiderman <talshn@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
This commit is contained in:
parent
7fb1c77b68
commit
e961c8e31e
drivers/common/mlx5
@ -815,6 +815,13 @@ struct mlx5_ifc_fte_match_param_bits {
|
||||
struct mlx5_ifc_fte_match_set_misc2_bits misc_parameters_2;
|
||||
struct mlx5_ifc_fte_match_set_misc3_bits misc_parameters_3;
|
||||
struct mlx5_ifc_fte_match_set_misc4_bits misc_parameters_4;
|
||||
/*
|
||||
* Add reserved bit to match the struct size with the size defined in PRM.
|
||||
* This extension is not required in Linux.
|
||||
*/
|
||||
#ifndef HAVE_INFINIBAND_VERBS_H
|
||||
u8 reserved_0[0x400];
|
||||
#endif
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -256,6 +256,9 @@ mlx5_glue_devx_free_uar(void *uar)
|
||||
devx_free_uar((devx_uar_handle *)uar);
|
||||
}
|
||||
|
||||
static_assert(MLX5_ST_SZ_BYTES(fte_match_param) == 0x200,
|
||||
"PRM size of fte_match_param is broken! cannot compile Windows!");
|
||||
|
||||
static void*
|
||||
mlx5_glue_devx_fs_rule_add(void *ctx, void *in, uint32_t inlen)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user