mlx5: Extend vector argument to u64.

Else the MLX5_TRIGGERED_CMD_COMP flag will be masked away.

Submitted by:   hselasky@
Approved by:    hselasky (mentor)
MFC after:      1 week
Sponsored by:   Mellanox Technologies
This commit is contained in:
Slava Shwartsman 2018-12-05 13:44:38 +00:00
parent 29e544513e
commit 70b417cf90
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=341562
2 changed files with 5 additions and 3 deletions

View File

@ -984,7 +984,7 @@ void mlx5_cq_completion(struct mlx5_core_dev *dev, u32 cqn);
void mlx5_rsc_event(struct mlx5_core_dev *dev, u32 rsn, int event_type);
void mlx5_srq_event(struct mlx5_core_dev *dev, u32 srqn, int event_type);
struct mlx5_core_srq *mlx5_core_get_srq(struct mlx5_core_dev *dev, u32 srqn);
void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, u32 vector);
void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, u64 vector);
void mlx5_cq_event(struct mlx5_core_dev *dev, u32 cqn, int event_type);
int mlx5_create_map_eq(struct mlx5_core_dev *dev, struct mlx5_eq *eq, u8 vecidx,
int nent, u64 mask, const char *name, struct mlx5_uar *uar);

View File

@ -1179,10 +1179,12 @@ static void free_msg(struct mlx5_core_dev *dev, struct mlx5_cmd_msg *msg)
}
}
void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, u32 vector)
void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, u64 vector_flags)
{
struct mlx5_cmd *cmd = &dev->cmd;
struct mlx5_cmd_work_ent *ent;
bool triggered = (vector_flags & MLX5_TRIGGERED_CMD_COMP) ? 1 : 0;
u32 vector = vector_flags; /* discard flags in the upper dword */
int i;
/* make sure data gets read from RAM */
@ -1206,7 +1208,7 @@ void mlx5_cmd_comp_handler(struct mlx5_core_dev *dev, u32 vector)
else
ent->ret = 0;
ent->status = ent->lay->status_own >> 1;
if (vector & MLX5_TRIGGERED_CMD_COMP)
if (triggered)
ent->status = MLX5_DRIVER_STATUS_ABORTED;
else
ent->status = ent->lay->status_own >> 1;