Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp977309ybt; Wed, 17 Jun 2020 19:42:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyC0DUp0Qcb/sj+/K3VrdrI5TySdRVIwQg2YBSLO+g2rjpB9ilS7AKzeEDeEzlU8sjU/UWr X-Received: by 2002:aa7:d0c5:: with SMTP id u5mr1975493edo.51.1592448156864; Wed, 17 Jun 2020 19:42:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592448156; cv=none; d=google.com; s=arc-20160816; b=VudNYaS79WOsJAR16hDMVoxof2QLleWpOjiXok0FRArEmqlNtG6G1oSdTLd3nOAGL9 V20SodhUsJO9a8PqDm74HH+tZcat9/yZehC2rpyHiWf5hlh+H6lJzlcZltDGGdwaJTmu JECuvxpGGN2r4SJFTXLpaAZi9/20Vfu5OZewaCPH8slzz3Wi35NiFQyVcm997wPKH2OH D48uFjO6SHPf7OqvJlFSM80VEAUIx3ZdFI2jvMZZ19OehADMljuOKgU+eHhfqssrubvD nRXeWQVM21DKbYas1VK8IALZADgkiLWkgzSNkRKBKBPOtM1uP8fRepGo5zthhwHNQtM3 TM6g== 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=csmuP/eF32aAkWVVHBncDexouSPV0eYG1AgqD6F7+wU=; b=kddY450ZqBnoNhfPZnRQ8Bf7zlocxUA+W6afFUbYY2brjfAykrf2Dn1t2wM8szD1nT sRah2b2d0BZOsNlZg0EcYmTGKmjGMNl7WWIeT8Qb2t7ow7IsDWKyAO9CotMHSHkzfkjn Euy00hvf+fKj3mCAGlSBK9pde0gUkjZTqpkw+Q5qLsInu0uanP7sfZsqKSH2Sg/E+YJY BgDYLBTt8k2Nr8fFV9T8WoeQHTm5j35z9h/RLSHwKE/k854dP/t8BZu1QZlKHllSoos5 RITirkzRGGNcLcM5y8swBv17F/SYHNv6RwcXMDHUknrZAlTFOvm2l5asQkoG1E0ZSxlZ lZzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UTylEEIC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id t13si974624edr.493.2020.06.17.19.42.14; Wed, 17 Jun 2020 19:42:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UTylEEIC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S2387648AbgFRCin (ORCPT + 99 others); Wed, 17 Jun 2020 22:38:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:42494 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727938AbgFRBNV (ORCPT ); Wed, 17 Jun 2020 21:13:21 -0400 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 D574321D7B; Thu, 18 Jun 2020 01:13:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592442800; bh=Y3voCUNEE+8e7P/ucqa7SNePS020clMv3FTzPzYTypI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UTylEEICqeSyMzbyHwrmwG/ahxbmzT7/QO9ZmRu7QUjT00SUZT/qFGuUYeYF89+ee tRbsTF55qMoFK0e7oX2HHu0GX8VN64sZEtQpw9yisNzZcQlQ5Fg/eLPGs+Sa7Z1xtv 5DuR6cstsYsFuUpk8powuQyyy00PximX5/MPW+JE= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Lang Cheng , Weihang Li , Jason Gunthorpe , Sasha Levin , linux-rdma@vger.kernel.org Subject: [PATCH AUTOSEL 5.7 241/388] RDMA/hns: Fix cmdq parameter of querying pf timer resource Date: Wed, 17 Jun 2020 21:05:38 -0400 Message-Id: <20200618010805.600873-241-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618010805.600873-1-sashal@kernel.org> References: <20200618010805.600873-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: Lang Cheng [ Upstream commit 441c88d5b3ff80108ff536c6cf80591187015403 ] The firmware has reduced the number of descriptions of command HNS_ROCE_OPC_QUERY_PF_TIMER_RES to 1. The driver needs to adapt, otherwise the hardware will report error 4(CMD_NEXT_ERR). Fixes: 0e40dc2f70cd ("RDMA/hns: Add timer allocation support for hip08") Link: https://lore.kernel.org/r/1588931159-56875-3-git-send-email-liweihang@huawei.com Signed-off-by: Lang Cheng Signed-off-by: Weihang Li Signed-off-by: Jason Gunthorpe Signed-off-by: Sasha Levin --- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 32 ++++++++-------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c index 96ff610bbdc4..f9fa80ae5560 100644 --- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c @@ -1349,34 +1349,26 @@ static int hns_roce_query_pf_resource(struct hns_roce_dev *hr_dev) static int hns_roce_query_pf_timer_resource(struct hns_roce_dev *hr_dev) { struct hns_roce_pf_timer_res_a *req_a; - struct hns_roce_cmq_desc desc[2]; - int ret, i; + struct hns_roce_cmq_desc desc; + int ret; - for (i = 0; i < 2; i++) { - hns_roce_cmq_setup_basic_desc(&desc[i], - HNS_ROCE_OPC_QUERY_PF_TIMER_RES, - true); + hns_roce_cmq_setup_basic_desc(&desc, HNS_ROCE_OPC_QUERY_PF_TIMER_RES, + true); - if (i == 0) - desc[i].flag |= cpu_to_le16(HNS_ROCE_CMD_FLAG_NEXT); - else - desc[i].flag &= ~cpu_to_le16(HNS_ROCE_CMD_FLAG_NEXT); - } - - ret = hns_roce_cmq_send(hr_dev, desc, 2); + ret = hns_roce_cmq_send(hr_dev, &desc, 1); if (ret) return ret; - req_a = (struct hns_roce_pf_timer_res_a *)desc[0].data; + req_a = (struct hns_roce_pf_timer_res_a *)desc.data; hr_dev->caps.qpc_timer_bt_num = - roce_get_field(req_a->qpc_timer_bt_idx_num, - PF_RES_DATA_1_PF_QPC_TIMER_BT_NUM_M, - PF_RES_DATA_1_PF_QPC_TIMER_BT_NUM_S); + roce_get_field(req_a->qpc_timer_bt_idx_num, + PF_RES_DATA_1_PF_QPC_TIMER_BT_NUM_M, + PF_RES_DATA_1_PF_QPC_TIMER_BT_NUM_S); hr_dev->caps.cqc_timer_bt_num = - roce_get_field(req_a->cqc_timer_bt_idx_num, - PF_RES_DATA_2_PF_CQC_TIMER_BT_NUM_M, - PF_RES_DATA_2_PF_CQC_TIMER_BT_NUM_S); + roce_get_field(req_a->cqc_timer_bt_idx_num, + PF_RES_DATA_2_PF_CQC_TIMER_BT_NUM_M, + PF_RES_DATA_2_PF_CQC_TIMER_BT_NUM_S); return 0; } -- 2.25.1