From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B9317C43381 for ; Thu, 28 Mar 2019 13:28:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8B1CB2075E for ; Thu, 28 Mar 2019 13:28:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553779716; bh=WJbMYDVgiZvdzyv+tt62/jHG9pyICV/enIF0sbyX1Lw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=lAAPvaTHOI9TyAS/uf1dMdB7ZkhKBijUgvWqaEAT4PgGN43z/QiWeBesFmYTRxoJo XoRflAUtW5Fghopv2BLkpE+uspxVLBVdf4bS1K4KGJTq4NC1orXtVg6HYqac8kyHjn U/0RqnEAJhH6o0gdphoj6UyfEMnnCP4G3CgXjY9U= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727591AbfC1N2f (ORCPT ); Thu, 28 Mar 2019 09:28:35 -0400 Received: from mail.kernel.org ([198.145.29.99]:35014 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727565AbfC1N2e (ORCPT ); Thu, 28 Mar 2019 09:28:34 -0400 Received: from localhost (unknown [77.138.135.184]) (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 6143D21773; Thu, 28 Mar 2019 13:28:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553779714; bh=WJbMYDVgiZvdzyv+tt62/jHG9pyICV/enIF0sbyX1Lw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UaSEPYsvOMq8YmxcBSkg9mXNb+isH4IEuY8BnNt/9MF3PzjPKDkchnr9y/HYi4fSY +MXwmU7SKjkPafcoMJ350JC8kk15N6Gx+7FqLCxNdCkfInp3Gwk2MFwClBeR5zjsi6 P+5drF1oCjSSqU/5Y1x6A2Oz8doqMC3NnGtZ+EIM= From: Leon Romanovsky To: Doug Ledford , Jason Gunthorpe Cc: Leon Romanovsky , RDMA mailing list , Maor Gottlieb , Mark Bloch , Saeed Mahameed , linux-netdev Subject: [PATCH rdma-next 10/12] RDMA/mlx5: Move SMI caps logic Date: Thu, 28 Mar 2019 15:27:40 +0200 Message-Id: <20190328132742.12070-11-leon@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190328132742.12070-1-leon@kernel.org> References: <20190328132742.12070-1-leon@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Mark Bloch We store the SMI information in the core device's struct, make sure we set that information only once (and not per port), while here make the for loop based on the actual size of the array. Signed-off-by: Mark Bloch Signed-off-by: Leon Romanovsky --- drivers/infiniband/hw/mlx5/main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c index 9ce8ae5565a3..7eca3978c50c 100644 --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@ -4534,7 +4534,7 @@ static int set_has_smi_cap(struct mlx5_ib_dev *dev) int err; int port; - for (port = 1; port <= dev->num_ports; port++) { + for (port = 1; port <= ARRAY_SIZE(dev->mdev->port_caps); port++) { dev->mdev->port_caps[port - 1].has_smi = false; if (MLX5_CAP_GEN(dev->mdev, port_type) == MLX5_CAP_PORT_TYPE_IB) { @@ -4580,10 +4580,6 @@ static int get_port_caps(struct mlx5_ib_dev *dev, u8 port) if (!dprops) goto out; - err = set_has_smi_cap(dev); - if (err) - goto out; - err = mlx5_ib_query_device(&dev->ib_dev, dprops, &uhw); if (err) { mlx5_ib_warn(dev, "query_device failed %d\n", err); @@ -5960,6 +5956,10 @@ int mlx5_ib_stage_init_init(struct mlx5_ib_dev *dev) if (err) return err; + err = set_has_smi_cap(dev); + if (err) + return err; + if (!mlx5_core_mp_enabled(mdev)) { for (i = 1; i <= dev->num_ports; i++) { err = get_port_caps(dev, i); -- 2.20.1