linux-stable/include/linux/mlx5
Maher Sanalla ada0ccc4a1 RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile
[ Upstream commit 9ca05b0f27 ]

When the RDMA auxiliary driver probes, it sets its profile based on
devlink driverinit value. The latter might not be in sync with FW yet
(In case devlink reload is not performed), thus causing a mismatch
between RDMA driver and FW. This results in the following FW syndrome
when the RDMA driver tries to adjust RoCE state, which fails the probe:

"0xC1F678 | modify_nic_vport_context: roce_en set on a vport that
doesn't support roce"

To prevent this, select the PF profile based on FW RoCE capability
instead of relying on devlink driverinit value.
To provide backward compatibility of the RoCE disable feature, on older
FW's where roce_rw is not set (FW RoCE capability is read-only), keep
the current behavior e.g., rely on devlink driverinit value.

Fixes: fbfa97b4d7 ("net/mlx5: Disable roce at HCA level")
Reviewed-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Michael Guralnik <michaelgur@nvidia.com>
Reviewed-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Maher Sanalla <msanalla@nvidia.com>
Link: https://lore.kernel.org/r/cb34ce9a1df4a24c135cb804db87f7d2418bd6cc.1661763459.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-09-20 12:43:45 +02:00
..
cq.h net/mlx5: Use mlx5_cmd_do() in core create_{cq,dct} 2022-02-23 15:21:59 -08:00
device.h
doorbell.h
driver.h RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile 2022-09-20 12:43:45 +02:00
eq.h
eswitch.h
fs.h net/mlx5: fs, add unused destination type 2022-05-02 21:21:14 -07:00
fs_helpers.h
mlx5_ifc.h net/mlx5: Introduce ifc bits for using software vhca id 2022-09-20 12:43:45 +02:00
mlx5_ifc_fpga.h net/mlx5_fpga: Drop INNOVA IPsec support 2022-04-09 08:23:47 +03:00
mlx5_ifc_vdpa.h vdpa/mlx5: Add support for reading descriptor statistics 2022-05-31 12:44:22 -04:00
mpfs.h
port.h IB/mlx5: Fix undefined behavior due to shift overflowing the constant 2022-04-06 10:15:03 +03:00
qp.h net/mlx5e: Fix build warning, detected write beyond size of field 2022-03-22 16:48:56 -07:00
rsc_dump.h
transobj.h
vport.h