Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp803577ybl; Fri, 24 Jan 2020 09:48:25 -0800 (PST) X-Google-Smtp-Source: APXvYqxTNs2OdNNk4Hn2w2d3hcQOWyNrxEAkzAvC3iy09XQizetoIPeovYhMNrBXRZSbObyVh0gh X-Received: by 2002:a9d:7586:: with SMTP id s6mr3566003otk.342.1579888105445; Fri, 24 Jan 2020 09:48:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579888105; cv=none; d=google.com; s=arc-20160816; b=bXKLACecEY5904+stFbX5KE/tVjFn4U1SKdGknqVEc4jAfM40+dq09yHkT9s/LRd54 zD2q1tYJcDZF93oeydaiLXcGGZBvelfPdmruJRSD2hGU2Q2HvqMfwVf13+qvJqWV4xwX jQXxvvznSSGSc7B/RS1PZo/JVEHci0UB0jPMsn/hZ2F7SkZLHx6oRI1c1O7LlOnG/rUy Hc10F+zlr3ECPpTewrWoibo+X5mTU93OOWktoJw8PuaxoLCPGZ4BnDM7tT+DUgBmDIdG 94jCyUOxfMOqCVylJt1dr07rPsZitDO5AIKzt390BfMJ/FdpFBG1vqgue7Cek1jBjpc6 8CRw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=tOP3P4Z2R51uCPIurFNpUtqJMq2NNLBMDg76VU8XjSU=; b=h6VTBRrDr0KGyfCjI5U7tIwNYFgX/24YEAg6uV0bsGZu5cUzbuz3Li4Oy/IThX9JKr iLLM5UJw0j9VORe/R36LKbdS5lPf/oC52mL9om3ZS6BO54VaxzGgv0zVTGbiYbu/kakE ZsehOQR41tF7Ssijx3n9fjmm3pFZT6fm6/q6yno6shjpkIGNm/W+BVRaw9pGYeYFHqC7 lxsyCH2Pq/oWvS/hUBXhKfeIe4NkWneuot1MODHlk0wauvMsH3Tyw6QOE23LCa5y+m8G BHWroYYQ/RvO7GFBCY0Hqm2KJUFmMEexTzWqO41iYhIi0las9RYYZUHllhJaKI4WHItl EZ0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="yAhZMaK/"; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t11si96631oih.187.2020.01.24.09.48.12; Fri, 24 Jan 2020 09:48:25 -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="yAhZMaK/"; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390771AbgAXLTU (ORCPT + 99 others); Fri, 24 Jan 2020 06:19:20 -0500 Received: from mail.kernel.org ([198.145.29.99]:56558 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390502AbgAXLTK (ORCPT ); Fri, 24 Jan 2020 06:19:10 -0500 Received: from localhost (ip-213-127-102-57.ip.prioritytelecom.net [213.127.102.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 971932077C; Fri, 24 Jan 2020 11:19:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579864749; bh=cNi0C32E674cI/n2ZZ33jnOTfw7SXzyy6sBc20ufA/E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=yAhZMaK/kqsTNHKU70jDPWoNDiiqQqZ6sNoG+Pu6n4YLYFKlCwZaak6MxPzIexuhK tBfmU5DukySZPfOnSnA0oAEYRSiRWI1DVyE9Op6CpDIvkeK8vki00A9yz0/HJpR6w8 3TQPMl+pYqxHwupENHlaZlp/gvjFYn6FvTgCOpdM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jack Morgenstein , Leon Romanovsky , Jason Gunthorpe , Sasha Levin Subject: [PATCH 4.19 342/639] IB/mlx5: Add missing XRC options to QP optional params mask Date: Fri, 24 Jan 2020 10:28:32 +0100 Message-Id: <20200124093129.980765005@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200124093047.008739095@linuxfoundation.org> References: <20200124093047.008739095@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 ef0f710587ad8..4c0f0ce02d2f7 100644 --- a/drivers/infiniband/hw/mlx5/qp.c +++ b/drivers/infiniband/hw/mlx5/qp.c @@ -2598,6 +2598,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 | @@ -2631,6 +2636,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] = { @@ -2647,6 +2658,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] = { @@ -2658,6 +2675,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