From patchwork Tue Feb 28 23:04:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asmaa Mnebhi X-Patchwork-Id: 1749710 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=gSd3h2u1; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PRCcW2D6Rz1yWy for ; Wed, 1 Mar 2023 10:04:43 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1pX91S-0006C1-1M; Tue, 28 Feb 2023 23:04:38 +0000 Received: from mail-mw2nam04on2046.outbound.protection.outlook.com ([40.107.101.46] helo=NAM04-MW2-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1pX91Q-0006AW-1O for kernel-team@lists.ubuntu.com; Tue, 28 Feb 2023 23:04:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bC8xdP1dFxdmb0qscTIUh3CxClV9wEa82I6GWA0QG8rQ4MznPosRkHzj9Auvp2zCjJfwUdShse9kC3dOFFbzp5LgTbjH73ejPUPvU0myrQN+cq9sCWeQZBdwIa6Emgm2bMdOMR478bO+6AwBsfytVDv+o4wcvdTQTkOGA8Ig57VktL0FHk55oeSegHj///I6fbRBwjye+wvuElFsQOXvIf8BcNjrhDV6N1EGK3+dJJS53ysuhTC5afuiiJ9Be8hPQ5uhQl7fcrsLsYtHBJfJNrHlylyTwtGYViqLwBSrNd58QbLLvewcdELRMguEp4p9fJOO2xyLSiPs4V9dK6reYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TUDblsd1m9tRVx7VePFQ914eFpVLQGa+lRLK0NWzA3k=; b=nPp/WOGhW0UKyB8vJXpzRpJgWX2qrHK8bj1tSGUbx6QVO5dqKMcNyWlqDTe+kYErqhrDBJZh96/BA2MbpJxmWdIoP9LGPu2ZIAxqMtMRD/LxFBC5U6Kabu82Ar/a0UUy8j1Ye2LpAx9RhAP0KKYRBHbf9lrrqBfzKYF5cDwlUBje2wKUqpch7jHa71qz0xIUKjmkkhEkMusuCM/0qcP7MiSRMVxyK4YkwR2zSHpKhpK0TbF9suE2ZI3FUdmezc/iSclWl0FamEqO0StcgOuRmr7Rs+7MXc5X+BVQA56R4mn5fVRCI0THj8xIKMvBTcMnDHf27twEACvJfrm+D77jAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lists.ubuntu.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TUDblsd1m9tRVx7VePFQ914eFpVLQGa+lRLK0NWzA3k=; b=gSd3h2u1Pic9gVKD2nPzkr2Z4T/NBgGBiBNmQSzn9APM4vHI9DCfDj1sru4ypbbvXlQRQAeduPFqGHJRdAvTOnKV4f5mWbeM3KSv0fcTocpw02BJ5m+iCaVR2pjSMh0CRlSQZI/8G0AjMqX6e1nErUhK+l2cCUy+QDIagAv1UkOVk02bcdT7ACqZs6ZBUea8PqTkp1X1lFd6M4HaGj5SFkuC7J37yYoKxcVdLil3vrmYRUP0BSM2dAPWZPVuKT8zCIfHTgc1B9LMyfWgiF2VLmXcaly4xyZ3o3mtqCk7LqlRmwJz7stiUAb79A8iXfrSpzgrBiT8/lE599ye6kZKng== Received: from DS7PR05CA0073.namprd05.prod.outlook.com (2603:10b6:8:57::27) by SN7PR12MB7130.namprd12.prod.outlook.com (2603:10b6:806:2a2::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Tue, 28 Feb 2023 23:04:33 +0000 Received: from DM6NAM11FT100.eop-nam11.prod.protection.outlook.com (2603:10b6:8:57:cafe::e0) by DS7PR05CA0073.outlook.office365.com (2603:10b6:8:57::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17 via Frontend Transport; Tue, 28 Feb 2023 23:04:33 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by DM6NAM11FT100.mail.protection.outlook.com (10.13.172.247) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17 via Frontend Transport; Tue, 28 Feb 2023 23:04:32 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Tue, 28 Feb 2023 15:04:25 -0800 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Tue, 28 Feb 2023 15:04:25 -0800 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.986.5 via Frontend Transport; Tue, 28 Feb 2023 15:04:25 -0800 From: Asmaa Mnebhi To: Subject: [SRU][J:linux-bluefield][PATCH v1 1/1] UBUNTU: SAUCE: mlxbf-gige: Fix intermittent no ip issue Date: Tue, 28 Feb 2023 18:04:21 -0500 Message-ID: <20230228230421.30981-2-asmaa@nvidia.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20230228230421.30981-1-asmaa@nvidia.com> References: <20230228230421.30981-1-asmaa@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT100:EE_|SN7PR12MB7130:EE_ X-MS-Office365-Filtering-Correlation-Id: a73d9b54-12fc-4420-3af8-08db19e0278c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nk2M3rLgvNZrK8CY0T1Rppi7XxJLMKrrxoTRTwHc36I8LoTj9PHf+KfOlvG1yVne9ojeyie/idLTWOLuJvp6vruOY5zAiNWmweqxEQizmapFwvCnE0e/uNZVNqTQGIxIx6yJ1lZzGmIn1PSiLIgCdTIUUFrwTTv/I6fhe1kOuYjBedj2zo56+4ZdOr3W1zcAScK7jm8bzcABPbvcFvAvDQ9C/T5/QAGouCIpRZQOzPJHAjpbkddF2+l8/Z9Sg2LsmZHyn7G3Xz8N9tBj0tEMzGoUqDp6f+lAnkLf5sAOK5ubP4ztH5U+qN1N7/PYLr/Rg1xpIlig5JDb343U8bOgjZ+zHtWyU5JyafV2lCYM57nAR2K/JVVort9PXkp66bqohVXv5uOpwhVb/7T8NCVkXiDgKGgNuNdGbDpLJeuvMaKXLaT02OwvWZZPSgf5YcKjcRaeJkrCPtDeRaFO33l1RaS19/sJ6W0bmduMxkYPuDGRxyjKx22l4ThtPZPu57BSxE4WUrqug3Ui12UoDuIazjMkToZQdBhGaQhqL3b1R3nf8Tq7RlJKNqTvWJKb+ZBRzQYXRxmuWRqdNrnGPKJBVWOw9vQMMbGoq7aB6n/mYN0+QqmOBUZrs2x6mIrTkCWKIjYB9gn0gDoW7lKMQz/6YuI/QvTBHPwuxR84t1Zo8mgPHqcVUzqHnBVvDZG7fzhJRp6LvFPBZlyW10JtNomVx6Iw0srQeu487l2IknB2yhBZio4BapgZY0JCJBxtBFipmeoy4/C3/akMDYVypeIuXQ== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(376002)(346002)(39860400002)(136003)(396003)(451199018)(40470700004)(36840700001)(46966006)(336012)(2616005)(47076005)(34020700004)(426003)(83380400001)(86362001)(82310400005)(2906002)(7696005)(966005)(478600001)(8936002)(6666004)(107886003)(1076003)(26005)(186003)(40480700001)(40460700003)(7636003)(36860700001)(36756003)(41300700001)(82740400003)(5660300002)(356005)(70206006)(70586007)(4326008)(8676002)(6916009)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2023 23:04:32.8365 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a73d9b54-12fc-4420-3af8-08db19e0278c X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT100.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7130 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Asmaa Mnebhi Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/2008833 During the reboot test, the OOB might not get an ip assigned. This is due to a race condition between phy_startcall and the RX DMA being enabled and depends on the amount of background traffic received by the OOB. Enable the RX DMA after teh phy is started. Signed-off-by: Asmaa Mnebhi --- .../ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c | 14 +++++++------- .../ethernet/mellanox/mlxbf_gige/mlxbf_gige_rx.c | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c index 4cf058cdbba0..5e929867bd6c 100644 --- a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c +++ b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c @@ -166,14 +166,14 @@ static int mlxbf_gige_open(struct net_device *netdev) */ priv->valid_polarity = 0; - err = mlxbf_gige_rx_init(priv); + phy_start(phydev); + + err = mlxbf_gige_tx_init(priv); if (err) goto free_irqs; - err = mlxbf_gige_tx_init(priv); + err = mlxbf_gige_rx_init(priv); if (err) - goto rx_deinit; - - phy_start(phydev); + goto tx_deinit; netif_napi_add(netdev, &priv->napi, mlxbf_gige_poll, NAPI_POLL_WEIGHT); napi_enable(&priv->napi); @@ -195,8 +195,8 @@ static int mlxbf_gige_open(struct net_device *netdev) return 0; -rx_deinit: - mlxbf_gige_rx_deinit(priv); +tx_deinit: + mlxbf_gige_tx_deinit(priv); free_irqs: mlxbf_gige_free_irqs(priv); diff --git a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_rx.c b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_rx.c index 96230763cf6c..f21dafde490b 100644 --- a/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_rx.c +++ b/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_rx.c @@ -142,6 +142,9 @@ int mlxbf_gige_rx_init(struct mlxbf_gige *priv) writeq(MLXBF_GIGE_RX_MAC_FILTER_COUNT_PASS_EN, priv->base + MLXBF_GIGE_RX_MAC_FILTER_COUNT_PASS); + writeq(ilog2(priv->rx_q_entries), + priv->base + MLXBF_GIGE_RX_WQE_SIZE_LOG2); + /* Clear MLXBF_GIGE_INT_MASK 'receive pkt' bit to * indicate readiness to receive interrupts */ @@ -154,9 +157,6 @@ int mlxbf_gige_rx_init(struct mlxbf_gige *priv) data |= MLXBF_GIGE_RX_DMA_EN; writeq(data, priv->base + MLXBF_GIGE_RX_DMA); - writeq(ilog2(priv->rx_q_entries), - priv->base + MLXBF_GIGE_RX_WQE_SIZE_LOG2); - return 0; free_wqe_and_skb: