Commit 619e4109 authored by Caleb Sander Mateos's avatar Caleb Sander Mateos Committed by Jakub Kicinski
Browse files

mlx5/core: deduplicate {mlx5_,}eq_update_ci()



The logic of eq_update_ci() is duplicated in mlx5_eq_update_ci(). The
only additional work done by mlx5_eq_update_ci() is to increment
eq->cons_index. Call eq_update_ci() from mlx5_eq_update_ci() to avoid
the duplication.

Signed-off-by: default avatarCaleb Sander Mateos <csander@purestorage.com>
Reviewed-by: default avatarParav Pandit <parav@nvidia.com>
Acked-by: default avatarTariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20241107183054.2443218-2-csander@purestorage.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b83db109
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -801,15 +801,8 @@ EXPORT_SYMBOL(mlx5_eq_get_eqe);

void mlx5_eq_update_ci(struct mlx5_eq *eq, u32 cc, bool arm)
{
	__be32 __iomem *addr = eq->doorbell + (arm ? 0 : 2);
	u32 val;

	eq->cons_index += cc;
	val = (eq->cons_index & 0xffffff) | (eq->eqn << 24);

	__raw_writel((__force u32)cpu_to_be32(val), addr);
	/* We still want ordering, just not swabbing, so add a barrier */
	wmb();
	eq_update_ci(eq, arm);
}
EXPORT_SYMBOL(mlx5_eq_update_ci);