Re: [PATCH mlx5-next 12/12] net/mlx5: Set ODP SRQ support in firmware
From: Saeed Mahameed <hidden>
Date: 2019-02-04 23:54:44
Also in:
linux-rdma
On Mon, 2019-02-04 at 14:23 -0700, Jason Gunthorpe wrote:
On Sun, Feb 03, 2019 at 11:03:11AM +0200, Leon Romanovsky wrote:quoted
On Thu, Jan 31, 2019 at 04:28:44PM -0700, Jason Gunthorpe wrote:quoted
On Tue, Jan 22, 2019 at 08:48:51AM +0200, Leon Romanovsky wrote:quoted
From: Moni Shoua <redacted> To avoid compatibility issue with older kernels the firmware doesn't allow SRQ to work with ODP unless kernel asks for it. Signed-off-by: Moni Shoua <redacted> Reviewed-by: Majd Dibbiny <redacted> Signed-off-by: Leon Romanovsky <redacted> .../net/ethernet/mellanox/mlx5/core/main.c | 53 +++++++++++++++++++ include/linux/mlx5/device.h | 3 ++ include/linux/mlx5/mlx5_ifc.h | 1 + 3 files changed, 57 insertions(+)diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.cb/drivers/net/ethernet/mellanox/mlx5/core/main.c index be81b319b0dc..b3a76df0cf6c 100644+++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c@@ -459,6 +459,53 @@ static int handle_hca_cap_atomic(structmlx5_core_dev *dev) return err; } +static int handle_hca_cap_odp(struct mlx5_core_dev *dev) +{ + void *set_ctx; + void *set_hca_cap; + int set_sz = MLX5_ST_SZ_BYTES(set_hca_cap_in); + int err; + + if (!MLX5_CAP_GEN(dev, pg)) + return 0;Should a if (IS_ENABLED(CONFIG_INFINIBAND_ON_DEMAND_PAGING)) return 0; Be here?We had similar discussion in mlx5_ib main.c, but here we are talking about mlx5_core code, which from my point of view should represent the real HW capabilities without relation to kernel compilation mode.This switch is to tell the FW that the mlx5_ib module supports the new protocol - so having it in core code at all is really weird. I assume there is some startup sequence reason?
Yes, sadly this must be in startup, set_hca_cap requests must come prior to init_hca command.
Since the modularity is already wrecked it seems like an odd reason not to add the if..
Agree, even better, let's compile out the whole function. I would even consider having a separate file in mlx5/core for IB related start-up procedures :).
Jason