From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f193.google.com (mail-wr0-f193.google.com [209.85.128.193]) by dpdk.org (Postfix) with ESMTP id 91BF62583 for ; Tue, 1 May 2018 12:47:39 +0200 (CEST) Received: by mail-wr0-f193.google.com with SMTP id p18-v6so10488518wrm.1 for ; Tue, 01 May 2018 03:47:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=oaJYq1W4eb/dsWRKH2Wgce+Wl1pTux0KEWV/1vR0xp0=; b=kiy1IFD5xV0ggNCzr3epAEA9ixtk6VDJJ3c6/PXuFgg0WURjkU3of1N7xwTMKvHQ3b pI/6o5j+2yclQhUsTsJplYPjakhpE+ujcIJLaM+hOiOw/g4D01xw8DzKYLFXN7aGad6d V4Jra+oWp3W8RyTCgYDgcSsmG1QFRFl4Atbu7g45wwNER/CRQtqlUdzOFjFbamBFf3GE LRe/2A9MPUtpaXt/S7kYlKBPFlE6Ha+Anj1p/Q/nvYTqdpG8b/Udc3OE6ZRZiGmboB4n GsjsINMQ575wGmmKrcbbiqVgAFI7RsKZT0qr2vTZ35Ucwryr9vGh0WU+lrD0w0g7EBNw sfwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=oaJYq1W4eb/dsWRKH2Wgce+Wl1pTux0KEWV/1vR0xp0=; b=FLLLRtQHcXuuOlLf3Ddph3+MHhz7WQ32L/N+9E2Gv7JJGzby7PrYlLQFl9besJqehg k8n3qXD20KvoDp7Ec85va/ZSrZkHPxJ0rSbxpJApq5c9Xu1zz0cIb4vezwFzcqvGv2T/ 4dlK0x8UGqm1e1a7s2q4LV/VtsiK6kSpCJtFoBMLFH6cD5WvBt+AFHYkxmh2mxCnOpBw kpHksdSyjwoHIx2MEh/ROSIM6ax+q9Rhgat3XiE4lCGB+aUbo1bmX/cHPsAdMJhOGguz oZilGXnUDBrmhKTx6fcqoKILB/ru8eJdqxCN/kYY37eKdkrhM7nbHrmFiY/HD58JztiP P/kw== X-Gm-Message-State: ALQs6tBnK9jA5mXZ8FckH8dqOBBqN9sf459UW2XVB7xRseF6Yzw5jG9i 1sf1RX39EkHBwewLxlHC5JZfPhVNbh0= X-Google-Smtp-Source: AB8JxZp+zUQ1IY5JU4rkL1vAsSjE98Ddi5EXj2t03KOlNbORn8BizkCjST+cNAqBc4sydxeC7zFlAA== X-Received: by 2002:adf:80e4:: with SMTP id 91-v6mr12005206wrl.258.1525171659313; Tue, 01 May 2018 03:47:39 -0700 (PDT) Received: from localhost (slip139-92-244-193.lon.uk.prserv.net. [139.92.244.193]) by smtp.gmail.com with ESMTPSA id b10-v6sm20632139wrn.42.2018.05.01.03.47.37 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 01 May 2018 03:47:38 -0700 (PDT) From: luca.boccassi@gmail.com To: Rasesh Mody Cc: dpdk stable Date: Tue, 1 May 2018 11:45:04 +0100 Message-Id: <20180501104509.17238-41-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20180501104509.17238-1-luca.boccassi@gmail.com> References: <20180501104509.17238-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'net/bnx2x: fix for PCI FLR after ungraceful exit' has been queued to LTS release 16.11.7 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2018 10:47:39 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/03/18. So please shout if anyone has objections. Thanks. Luca Boccassi --- >>From fb6e2634df1208f178ed812f732b2bc8cda81112 Mon Sep 17 00:00:00 2001 From: Rasesh Mody Date: Wed, 18 Apr 2018 13:15:08 -0700 Subject: [PATCH] net/bnx2x: fix for PCI FLR after ungraceful exit [ upstream commit 66ba596aa6b5750b16549a322ef9a09fa7f0e3f6 ] This patch provides a fix for PCI function level reset after an ungraceful exit from an application. The fix is to enable internal target read as part of device attach before getting device information from device config space, device itself and shared memory. In addition to that, add a 200ms delay for the recovery flow to complete. Fixes: 540a211084a7 ("bnx2x: driver core") Signed-off-by: Rasesh Mody --- drivers/net/bnx2x/bnx2x.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c index 0d16a737c..9ad9d2baa 100644 --- a/drivers/net/bnx2x/bnx2x.c +++ b/drivers/net/bnx2x/bnx2x.c @@ -8289,16 +8289,6 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc) REG_WR(sc, PXP2_REG_PGL_ADDR_90_F1, 0); REG_WR(sc, PXP2_REG_PGL_ADDR_94_F1, 0); } - -/* - * Enable internal target-read (in case we are probed after PF - * FLR). Must be done prior to any BAR read access. Only for - * 57712 and up - */ - if (!CHIP_IS_E1x(sc)) { - REG_WR(sc, PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ, - 1); - } } /* get the nvram size */ @@ -9675,7 +9665,17 @@ int bnx2x_attach(struct bnx2x_softc *sc) bnx2x_init_rte(sc); if (IS_PF(sc)) { -/* get device info and set params */ + /* Enable internal target-read (in case we are probed after PF + * FLR). Must be done prior to any BAR read access. Only for + * 57712 and up + */ + if (!CHIP_IS_E1x(sc)) { + REG_WR(sc, PGLUE_B_REG_INTERNAL_PFID_ENABLE_TARGET_READ, + 1); + DELAY(200000); + } + + /* get device info and set params */ if (bnx2x_get_device_info(sc) != 0) { PMD_DRV_LOG(NOTICE, "getting device info"); return -ENXIO; @@ -9684,7 +9684,7 @@ int bnx2x_attach(struct bnx2x_softc *sc) /* get phy settings from shmem and 'and' against admin settings */ bnx2x_get_phy_info(sc); } else { -/* Left mac of VF unfilled, PF should set it for VF */ + /* Left mac of VF unfilled, PF should set it for VF */ memset(sc->link_params.mac_addr, 0, ETHER_ADDR_LEN); } -- 2.14.2