Commit 2f4053db authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files
Tariq Toukan says:

====================
mlx5-next updates 2025-07-14

* 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux:
  net/mlx5: IFC updates for disabled host PF
  net/mlx5: Expose disciplined_fr_counter through HCA capabilities in mlx5_ifc
  RDMA/mlx5: Fix UMR modifying of mkey page size
  net/mlx5: Expose HCA capability bits for mkey max page size
====================

Link: https://patch.msgid.link/1752481357-34780-1-git-send-email-tariqt@nvidia.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 5b41a682 cd1746cb
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -32,13 +32,15 @@ static __be64 get_umr_disable_mr_mask(void)
	return cpu_to_be64(result);
}

static __be64 get_umr_update_translation_mask(void)
static __be64 get_umr_update_translation_mask(struct mlx5_ib_dev *dev)
{
	u64 result;

	result = MLX5_MKEY_MASK_LEN |
		 MLX5_MKEY_MASK_PAGE_SIZE |
		 MLX5_MKEY_MASK_START_ADDR;
	if (MLX5_CAP_GEN_2(dev->mdev, umr_log_entity_size_5))
		result |= MLX5_MKEY_MASK_PAGE_SIZE_5;

	return cpu_to_be64(result);
}
@@ -654,7 +656,7 @@ static void mlx5r_umr_final_update_xlt(struct mlx5_ib_dev *dev,
		flags & MLX5_IB_UPD_XLT_ENABLE || flags & MLX5_IB_UPD_XLT_ADDR;

	if (update_translation) {
		wqe->ctrl_seg.mkey_mask |= get_umr_update_translation_mask();
		wqe->ctrl_seg.mkey_mask |= get_umr_update_translation_mask(dev);
		if (!mr->ibmr.length)
			MLX5_SET(mkc, &wqe->mkey_seg, length64, 1);
	}
+1 −0
Original line number Diff line number Diff line
@@ -280,6 +280,7 @@ enum {
	MLX5_MKEY_MASK_SMALL_FENCE	= 1ull << 23,
	MLX5_MKEY_MASK_RELAXED_ORDERING_WRITE	= 1ull << 25,
	MLX5_MKEY_MASK_FREE			= 1ull << 29,
	MLX5_MKEY_MASK_PAGE_SIZE_5		= 1ull << 42,
	MLX5_MKEY_MASK_RELAXED_ORDERING_READ	= 1ull << 47,
};

+8 −3
Original line number Diff line number Diff line
@@ -1846,7 +1846,8 @@ struct mlx5_ifc_cmd_hca_cap_bits {

	u8         log_bf_reg_size[0x5];

	u8         reserved_at_270[0x3];
	u8         disciplined_fr_counter[0x1];
	u8         reserved_at_271[0x2];
	u8	   qp_error_syndrome[0x1];
	u8	   reserved_at_274[0x2];
	u8         lag_dct[0x2];
@@ -2171,7 +2172,9 @@ struct mlx5_ifc_cmd_hca_cap_2_bits {
	u8	   min_mkey_log_entity_size_fixed_buffer[0x5];
	u8	   ec_vf_vport_base[0x10];

	u8	   reserved_at_3a0[0xa];
	u8	   reserved_at_3a0[0x2];
	u8	   max_mkey_log_entity_size_fixed_buffer[0x6];
	u8	   reserved_at_3a8[0x2];
	u8	   max_mkey_log_entity_size_mtt[0x6];
	u8	   max_rqt_vhca_id[0x10];

@@ -12380,7 +12383,9 @@ struct mlx5_ifc_mtrc_ctrl_bits {

struct mlx5_ifc_host_params_context_bits {
	u8         host_number[0x8];
	u8         reserved_at_8[0x7];
	u8         reserved_at_8[0x5];
	u8         host_pf_not_exist[0x1];
	u8         reserved_at_14[0x1];
	u8         host_pf_disabled[0x1];
	u8         host_num_of_vfs[0x10];