net/mlx5: HWS, fix typo - 'nope' to 'nop'

Fix typo - rename 'nope_locations' to 'nop_locations', which describes
the locations of 'nop' actions. To shorten the lines, this renaming
also required some refactoring.

Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/1747766802-958178-4-git-send-email-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Yevgeny Kliteynik 2025-05-20 21:46:41 +03:00 committed by Jakub Kicinski
parent b206d9ec19
commit 0b6e452caf
4 changed files with 39 additions and 35 deletions

View File

@ -1207,16 +1207,16 @@ hws_action_create_modify_header_hws(struct mlx5hws_action *action,
for (i = 0; i < num_of_patterns; i++) {
size_t new_num_actions;
size_t cur_num_actions;
u32 nope_location;
u32 nop_locations;
cur_num_actions = pattern[i].sz / MLX5HWS_MODIFY_ACTION_SIZE;
mlx5hws_pat_calc_nope(pattern[i].data, cur_num_actions,
pat_max_sz / MLX5HWS_MODIFY_ACTION_SIZE,
&new_num_actions, &nope_location,
&new_pattern[i * pat_max_sz]);
mlx5hws_pat_calc_nop(pattern[i].data, cur_num_actions,
pat_max_sz / MLX5HWS_MODIFY_ACTION_SIZE,
&new_num_actions, &nop_locations,
&new_pattern[i * pat_max_sz]);
action[i].modify_header.nope_locations = nope_location;
action[i].modify_header.nop_locations = nop_locations;
action[i].modify_header.num_of_actions = new_num_actions;
max_mh_actions = max(max_mh_actions, new_num_actions);
@ -1263,7 +1263,7 @@ hws_action_create_modify_header_hws(struct mlx5hws_action *action,
MLX5_GET(set_action_in, pattern[i].data, action_type);
} else {
/* Multiple modify actions require a pattern */
if (unlikely(action[i].modify_header.nope_locations)) {
if (unlikely(action[i].modify_header.nop_locations)) {
size_t pattern_sz;
pattern_sz = action[i].modify_header.num_of_actions *
@ -2105,12 +2105,12 @@ static void hws_action_modify_write(struct mlx5hws_send_engine *queue,
u32 arg_idx,
u8 *arg_data,
u16 num_of_actions,
u32 nope_locations)
u32 nop_locations)
{
u8 *new_arg_data = NULL;
int i, j;
if (unlikely(nope_locations)) {
if (unlikely(nop_locations)) {
new_arg_data = kcalloc(num_of_actions,
MLX5HWS_MODIFY_ACTION_SIZE, GFP_KERNEL);
if (unlikely(!new_arg_data))
@ -2118,7 +2118,7 @@ static void hws_action_modify_write(struct mlx5hws_send_engine *queue,
for (i = 0, j = 0; i < num_of_actions; i++, j++) {
memcpy(&new_arg_data[j], arg_data, MLX5HWS_MODIFY_ACTION_SIZE);
if (BIT(i) & nope_locations)
if (BIT(i) & nop_locations)
j++;
}
}
@ -2215,6 +2215,7 @@ hws_action_setter_modify_header(struct mlx5hws_actions_apply_data *apply,
struct mlx5hws_action *action;
u32 arg_sz, arg_idx;
u8 *single_action;
u8 max_actions;
__be32 stc_idx;
rule_action = &apply->rule_action[setter->idx_double];
@ -2242,21 +2243,23 @@ hws_action_setter_modify_header(struct mlx5hws_actions_apply_data *apply,
apply->wqe_data[MLX5HWS_ACTION_OFFSET_DW7] =
*(__be32 *)MLX5_ADDR_OF(set_action_in, single_action, data);
} else {
/* Argument offset multiple with number of args per these actions */
arg_sz = mlx5hws_arg_get_arg_size(action->modify_header.max_num_of_actions);
arg_idx = rule_action->modify_header.offset * arg_sz;
return;
}
apply->wqe_data[MLX5HWS_ACTION_OFFSET_DW7] = htonl(arg_idx);
/* Argument offset multiple with number of args per these actions */
max_actions = action->modify_header.max_num_of_actions;
arg_sz = mlx5hws_arg_get_arg_size(max_actions);
arg_idx = rule_action->modify_header.offset * arg_sz;
if (!(action->flags & MLX5HWS_ACTION_FLAG_SHARED)) {
apply->require_dep = 1;
hws_action_modify_write(apply->queue,
action->modify_header.arg_id + arg_idx,
rule_action->modify_header.data,
action->modify_header.num_of_actions,
action->modify_header.nope_locations);
}
apply->wqe_data[MLX5HWS_ACTION_OFFSET_DW7] = htonl(arg_idx);
if (!(action->flags & MLX5HWS_ACTION_FLAG_SHARED)) {
apply->require_dep = 1;
hws_action_modify_write(apply->queue,
action->modify_header.arg_id + arg_idx,
rule_action->modify_header.data,
action->modify_header.num_of_actions,
action->modify_header.nop_locations);
}
}

View File

@ -136,7 +136,7 @@ struct mlx5hws_action {
u32 pat_id;
u32 arg_id;
__be64 single_action;
u32 nope_locations;
u32 nop_locations;
u8 num_of_patterns;
u8 single_action_type;
u8 num_of_actions;

View File

@ -522,9 +522,9 @@ bool mlx5hws_pat_verify_actions(struct mlx5hws_context *ctx, __be64 pattern[], s
return true;
}
void mlx5hws_pat_calc_nope(__be64 *pattern, size_t num_actions,
size_t max_actions, size_t *new_size,
u32 *nope_location, __be64 *new_pat)
void mlx5hws_pat_calc_nop(__be64 *pattern, size_t num_actions,
size_t max_actions, size_t *new_size,
u32 *nop_locations, __be64 *new_pat)
{
u16 prev_src_field = 0, prev_dst_field = 0;
u16 src_field, dst_field;
@ -532,7 +532,7 @@ void mlx5hws_pat_calc_nope(__be64 *pattern, size_t num_actions,
size_t i, j;
*new_size = num_actions;
*nope_location = 0;
*nop_locations = 0;
if (num_actions == 1)
return;
@ -546,18 +546,18 @@ void mlx5hws_pat_calc_nope(__be64 *pattern, size_t num_actions,
if (action_type == MLX5_ACTION_TYPE_COPY &&
(prev_src_field == src_field ||
prev_dst_field == dst_field)) {
/* need Nope */
/* need Nop */
*new_size += 1;
*nope_location |= BIT(i);
*nop_locations |= BIT(i);
memset(&new_pat[j], 0, MLX5HWS_MODIFY_ACTION_SIZE);
MLX5_SET(set_action_in, &new_pat[j],
action_type,
MLX5_MODIFICATION_TYPE_NOP);
j++;
} else if (prev_src_field == src_field) {
/* need Nope*/
/* need Nop */
*new_size += 1;
*nope_location |= BIT(i);
*nop_locations |= BIT(i);
MLX5_SET(set_action_in, &new_pat[j],
action_type,
MLX5_MODIFICATION_TYPE_NOP);
@ -568,7 +568,7 @@ void mlx5hws_pat_calc_nope(__be64 *pattern, size_t num_actions,
/* check if no more space */
if (j > max_actions) {
*new_size = num_actions;
*nope_location = 0;
*nop_locations = 0;
return;
}

View File

@ -96,6 +96,7 @@ int mlx5hws_arg_write_inline_arg_data(struct mlx5hws_context *ctx,
u8 *arg_data,
size_t data_size);
void mlx5hws_pat_calc_nope(__be64 *pattern, size_t num_actions, size_t max_actions,
size_t *new_size, u32 *nope_location, __be64 *new_pat);
void mlx5hws_pat_calc_nop(__be64 *pattern, size_t num_actions,
size_t max_actions, size_t *new_size,
u32 *nop_locations, __be64 *new_pat);
#endif /* MLX5HWS_PAT_ARG_H_ */