From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <yskoh@mellanox.com>
Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])
 by dpdk.org (Postfix) with ESMTP id 5DF2A1B512
 for <stable@dpdk.org>; Fri, 30 Nov 2018 00:13:46 +0100 (CET)
Received: from Internal Mail-Server by MTLPINE1 (envelope-from
 yskoh@mellanox.com)
 with ESMTPS (AES256-SHA encrypted); 30 Nov 2018 01:19:39 +0200
Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx
 [10.101.0.96])
 by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id wATNCW7g032075;
 Fri, 30 Nov 2018 01:13:44 +0200
From: Yongseok Koh <yskoh@mellanox.com>
To: Qi Zhang <qi.z.zhang@intel.com>
Cc: Beilei Xing <beilei.xing@intel.com>, dpdk stable <stable@dpdk.org>
Date: Thu, 29 Nov 2018 15:10:36 -0800
Message-Id: <20181129231202.30436-42-yskoh@mellanox.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20181129231202.30436-1-yskoh@mellanox.com>
References: <20181129231202.30436-1-yskoh@mellanox.com>
Subject: [dpdk-stable] patch 'net/i40e/base: correct global reset timeout
	calculation' has been queued to LTS release 17.11.5
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Nov 2018 23:13:46 -0000

Hi,

FYI, your patch has been queued to LTS release 17.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/01/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Yongseok

---
>>From f4d9663254efed6689a82c7282ac1c0883678fff Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Tue, 25 Sep 2018 10:34:33 +0800
Subject: [PATCH] net/i40e/base: correct global reset timeout calculation

[ upstream commit 92451d9039ddddeddf59208a988393a6d44b2b9b ]

The wait time for Global Reset Ready steady state is calculated based on
the GLGEN_RSTCTL.GRSTDEL value. However, current impelementation multiplied
that value by 20 as a workaround for an issue in SOC platforms.
This resulted in the maximum GLGEN_RSTCTL.GRSTDEL timeout of 6.5 seconds
becoming 130 seconds, which is so long that the VMkernel watchdog thinks
the kernel is frozen and triggers a PSOD.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 900d379ca..21102fcb6 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -1346,7 +1346,7 @@ enum i40e_status_code i40e_pf_reset(struct i40e_hw *hw)
 			I40E_GLGEN_RSTCTL_GRSTDEL_MASK) >>
 			I40E_GLGEN_RSTCTL_GRSTDEL_SHIFT;
 
-	grst_del = grst_del * 20;
+	grst_del = min(grst_del * 20, 160U);
 
 	for (cnt = 0; cnt < grst_del; cnt++) {
 		reg = rd32(hw, I40E_GLGEN_RSTAT);
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 15:01:47.095312230 -0800
+++ 0042-net-i40e-base-correct-global-reset-timeout-calculati.patch	2018-11-29 15:01:45.083959000 -0800
@@ -1,8 +1,10 @@
-From 92451d9039ddddeddf59208a988393a6d44b2b9b Mon Sep 17 00:00:00 2001
+From f4d9663254efed6689a82c7282ac1c0883678fff Mon Sep 17 00:00:00 2001
 From: Qi Zhang <qi.z.zhang@intel.com>
 Date: Tue, 25 Sep 2018 10:34:33 +0800
 Subject: [PATCH] net/i40e/base: correct global reset timeout calculation
 
+[ upstream commit 92451d9039ddddeddf59208a988393a6d44b2b9b ]
+
 The wait time for Global Reset Ready steady state is calculated based on
 the GLGEN_RSTCTL.GRSTDEL value. However, current impelementation multiplied
 that value by 20 as a workaround for an issue in SOC platforms.
@@ -10,8 +12,6 @@
 becoming 130 seconds, which is so long that the VMkernel watchdog thinks
 the kernel is frozen and triggers a PSOD.
 
-Cc: stable@dpdk.org
-
 Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
 Acked-by: Beilei Xing <beilei.xing@intel.com>
 ---
@@ -19,10 +19,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
-index 0affa98ac..0eb369ff6 100644
+index 900d379ca..21102fcb6 100644
 --- a/drivers/net/i40e/base/i40e_common.c
 +++ b/drivers/net/i40e/base/i40e_common.c
-@@ -1342,7 +1342,7 @@ enum i40e_status_code i40e_pf_reset(struct i40e_hw *hw)
+@@ -1346,7 +1346,7 @@ enum i40e_status_code i40e_pf_reset(struct i40e_hw *hw)
  			I40E_GLGEN_RSTCTL_GRSTDEL_MASK) >>
  			I40E_GLGEN_RSTCTL_GRSTDEL_SHIFT;