Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp8330703ybl; Thu, 16 Jan 2020 14:46:22 -0800 (PST) X-Google-Smtp-Source: APXvYqwsF/wIz8TpyskT5ZaLVdRWFnPTAtFoApg+JzyepFZxLjG2qhoZofT1NRtKoxPFCURnQqce X-Received: by 2002:a05:6830:1bda:: with SMTP id v26mr3833314ota.314.1579214782239; Thu, 16 Jan 2020 14:46:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579214782; cv=none; d=google.com; s=arc-20160816; b=otBixBB4a+H1vtLGzLLHDI4rv908E9Tvas2nA8BWUKYiEcEyXC1JPdZ81Pm14T4xtW DWRLyB9ibfwInlxlaV8AKpSImFHQYnxhIb4IZYIkr14TCUWio4jJtRE98t4QZYdqtZod Ldmvd2Lamiyl52vou5NLqRzZa3qyfT/2LO0uuIYLIdrDgXrHiaZSvZqgGRuUEIVjC4V9 Rm/aOkQjee2xLNe1n2lhdMfH5XD3WjXm+PWKJHytcD9Yu1xn/pwclKj1yuoqy3ixImP1 QGg36mFRzMhSrtxFtHfL3EGKDi9CquhF/swZ9lXhosGrg8nTKvjoxPmgz0DXsaybYf9t xiVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hvC/flz9VW5X8BI0YFhm5fMOdtZzOhom3ACCdLxb0Mw=; b=HNNFE5JHMy/K55ZwvI0PB9zqE5VzsZYwbz2r29zzSjCAEdsyRvcF3RX545cykYWj2C bZZi+OOkK8XjnAAag2wd1VDDBRRx8z4kPlEs64r4n83zHgaf27CCsgvaDvzFAvr0lKPT V38x6OCPYRlys0tVqsFY/WLwKWiGsgerAdmF4JNIlVmMolZsILPPKR1sB1JHU5dIlj/X uXzfkWC8CWrNVjWKFkWZSWe4r+1hnGLqoM6xjGFY7l5oTjqPsL2gd5QK9SaFYhzrIG6H rnhJFOjM9cq9u2QxDyryjpGVvt4lBkg8dcepiheAHtKulE+Ly5VH4iWl3+sFSHp/QWLc Ktfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o0dLW2Xl; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w23si13623045otp.109.2020.01.16.14.46.10; Thu, 16 Jan 2020 14:46:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o0dLW2Xl; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390009AbgAPSIc (ORCPT + 99 others); Thu, 16 Jan 2020 13:08:32 -0500 Received: from mail.kernel.org ([198.145.29.99]:54656 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2393367AbgAPRio (ORCPT ); Thu, 16 Jan 2020 12:38:44 -0500 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5697024702; Thu, 16 Jan 2020 17:38:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579196323; bh=YXwEQI5JMci/hGOk9y58JJmQluDIMuFT/4wVYdl73Do=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=o0dLW2XlehWBxW2jvOPFzhwzaSlz6Ze17x4e7z9w3b0B+twI8SQ1QgKCAxc2BP1PD 0uadFLuKeu1rpGC3DZYJBvhfp8BA0PhVnN8Dn90etipUIBf7Csgg6ARXTIEh8uYKsz 4gS3dDTdyun+2qi9Bh4NaCeSeCR/Chu5Urlh6FK4= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jack Morgenstein , Leon Romanovsky , Jason Gunthorpe , Sasha Levin , linux-rdma@vger.kernel.org Subject: [PATCH AUTOSEL 4.9 126/251] IB/mlx5: Add missing XRC options to QP optional params mask Date: Thu, 16 Jan 2020 12:34:35 -0500 Message-Id: <20200116173641.22137-86-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200116173641.22137-1-sashal@kernel.org> References: <20200116173641.22137-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jack Morgenstein [ Upstream commit 8f4426aa19fcdb9326ac44154a117b1a3a5ae126 ] The QP transition optional parameters for the various transition for XRC QPs are identical to those for RC QPs. Many of the XRC QP transition optional parameter bits are missing from the QP optional mask table. These omissions caused failures when doing XRC QP state transitions. For example, when trying to change the response timer of an XRC receive QP via the RTS2RTS transition, the new timer value was ignored because MLX5_QP_OPTPAR_RNR_TIMEOUT bit was missing from the optional params mask for XRC qps for the RTS2RTS transition. Fix this by adding the missing XRC optional parameters for all QP transitions to the opt_mask table. Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters") Fixes: a4774e9095de ("IB/mlx5: Fix opt param mask according to firmware spec") Signed-off-by: Jack Morgenstein Signed-off-by: Leon Romanovsky Signed-off-by: Jason Gunthorpe Signed-off-by: Sasha Levin --- drivers/infiniband/hw/mlx5/qp.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c index a7bc89f5dae7..4d906a790481 100644 --- a/drivers/infiniband/hw/mlx5/qp.c +++ b/drivers/infiniband/hw/mlx5/qp.c @@ -2324,6 +2324,11 @@ static enum mlx5_qp_optpar opt_mask[MLX5_QP_NUM_STATE][MLX5_QP_NUM_STATE][MLX5_Q [MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_PKEY_INDEX | MLX5_QP_OPTPAR_Q_KEY | MLX5_QP_OPTPAR_PRI_PORT, + [MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_RRE | + MLX5_QP_OPTPAR_RAE | + MLX5_QP_OPTPAR_RWE | + MLX5_QP_OPTPAR_PKEY_INDEX | + MLX5_QP_OPTPAR_PRI_PORT, }, [MLX5_QP_STATE_RTR] = { [MLX5_QP_ST_RC] = MLX5_QP_OPTPAR_ALT_ADDR_PATH | @@ -2357,6 +2362,12 @@ static enum mlx5_qp_optpar opt_mask[MLX5_QP_NUM_STATE][MLX5_QP_NUM_STATE][MLX5_Q MLX5_QP_OPTPAR_RWE | MLX5_QP_OPTPAR_PM_STATE, [MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_Q_KEY, + [MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_ALT_ADDR_PATH | + MLX5_QP_OPTPAR_RRE | + MLX5_QP_OPTPAR_RAE | + MLX5_QP_OPTPAR_RWE | + MLX5_QP_OPTPAR_PM_STATE | + MLX5_QP_OPTPAR_RNR_TIMEOUT, }, }, [MLX5_QP_STATE_RTS] = { @@ -2373,6 +2384,12 @@ static enum mlx5_qp_optpar opt_mask[MLX5_QP_NUM_STATE][MLX5_QP_NUM_STATE][MLX5_Q [MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_Q_KEY | MLX5_QP_OPTPAR_SRQN | MLX5_QP_OPTPAR_CQN_RCV, + [MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_RRE | + MLX5_QP_OPTPAR_RAE | + MLX5_QP_OPTPAR_RWE | + MLX5_QP_OPTPAR_RNR_TIMEOUT | + MLX5_QP_OPTPAR_PM_STATE | + MLX5_QP_OPTPAR_ALT_ADDR_PATH, }, }, [MLX5_QP_STATE_SQER] = { @@ -2384,6 +2401,10 @@ static enum mlx5_qp_optpar opt_mask[MLX5_QP_NUM_STATE][MLX5_QP_NUM_STATE][MLX5_Q MLX5_QP_OPTPAR_RWE | MLX5_QP_OPTPAR_RAE | MLX5_QP_OPTPAR_RRE, + [MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_RNR_TIMEOUT | + MLX5_QP_OPTPAR_RWE | + MLX5_QP_OPTPAR_RAE | + MLX5_QP_OPTPAR_RRE, }, }, }; -- 2.20.1