Commit 95f82b2b authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'mlx5-misc-fixes-2026-01-27'

Tariq Toukan says:

====================
mlx5 misc fixes 2026-01-27 [part]

This patchset provides misc bug fixes from the team
to the mlx5 core and Eth drivers.
====================

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


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 2aa1545b 011be342
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -613,3 +613,19 @@ void mlx5_debug_cq_remove(struct mlx5_core_dev *dev, struct mlx5_core_cq *cq)
		cq->dbg = NULL;
	}
}

static int vhca_id_show(struct seq_file *file, void *priv)
{
	struct mlx5_core_dev *dev = file->private;

	seq_printf(file, "0x%x\n", MLX5_CAP_GEN(dev, vhca_id));
	return 0;
}

DEFINE_SHOW_ATTRIBUTE(vhca_id);

void mlx5_vhca_debugfs_init(struct mlx5_core_dev *dev)
{
	debugfs_create_file("vhca_id", 0400, dev->priv.dbg.dbg_root, dev,
			    &vhca_id_fops);
}
+2 −1
Original line number Diff line number Diff line
@@ -430,7 +430,8 @@ void mlx5e_ipsec_build_accel_xfrm_attrs(struct mlx5e_ipsec_sa_entry *sa_entry,
		attrs->replay_esn.esn = sa_entry->esn_state.esn;
		attrs->replay_esn.esn_msb = sa_entry->esn_state.esn_msb;
		attrs->replay_esn.overlap = sa_entry->esn_state.overlap;
		if (attrs->dir == XFRM_DEV_OFFLOAD_OUT)
		if (attrs->dir == XFRM_DEV_OFFLOAD_OUT ||
		    x->xso.type != XFRM_DEV_OFFLOAD_PACKET)
			goto skip_replay_window;

		switch (x->replay_esn->replay_window) {
+2 −1
Original line number Diff line number Diff line
@@ -1198,7 +1198,8 @@ int mlx5_fs_cmd_set_tx_flow_table_root(struct mlx5_core_dev *dev, u32 ft_id, boo
	u32 out[MLX5_ST_SZ_DW(set_flow_table_root_out)] = {};
	u32 in[MLX5_ST_SZ_DW(set_flow_table_root_in)] = {};

	if (disconnect && MLX5_CAP_FLOWTABLE_NIC_TX(dev, reset_root_to_default))
	if (disconnect &&
	    !MLX5_CAP_FLOWTABLE_NIC_TX(dev, reset_root_to_default))
		return -EOPNOTSUPP;

	MLX5_SET(set_flow_table_root_in, in, opcode,
+3 −11
Original line number Diff line number Diff line
@@ -1806,16 +1806,6 @@ static int mlx5_hca_caps_alloc(struct mlx5_core_dev *dev)
	return -ENOMEM;
}

static int vhca_id_show(struct seq_file *file, void *priv)
{
	struct mlx5_core_dev *dev = file->private;

	seq_printf(file, "0x%x\n", MLX5_CAP_GEN(dev, vhca_id));
	return 0;
}

DEFINE_SHOW_ATTRIBUTE(vhca_id);

static int mlx5_notifiers_init(struct mlx5_core_dev *dev)
{
	int err;
@@ -1884,7 +1874,7 @@ int mlx5_mdev_init(struct mlx5_core_dev *dev, int profile_idx)
	priv->numa_node = dev_to_node(mlx5_core_dma_dev(dev));
	priv->dbg.dbg_root = debugfs_create_dir(dev_name(dev->device),
						mlx5_debugfs_root);
	debugfs_create_file("vhca_id", 0400, priv->dbg.dbg_root, dev, &vhca_id_fops);

	INIT_LIST_HEAD(&priv->traps);

	err = mlx5_cmd_init(dev);
@@ -2022,6 +2012,8 @@ static int probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
		goto err_init_one;
	}

	mlx5_vhca_debugfs_init(dev);

	pci_save_state(pdev);
	return 0;

+1 −0
Original line number Diff line number Diff line
@@ -258,6 +258,7 @@ int mlx5_wait_for_pages(struct mlx5_core_dev *dev, int *pages);
void mlx5_cmd_flush(struct mlx5_core_dev *dev);
void mlx5_cq_debugfs_init(struct mlx5_core_dev *dev);
void mlx5_cq_debugfs_cleanup(struct mlx5_core_dev *dev);
void mlx5_vhca_debugfs_init(struct mlx5_core_dev *dev);

int mlx5_query_pcam_reg(struct mlx5_core_dev *dev, u32 *pcam, u8 feature_group,
			u8 access_reg_group);
Loading