From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 414F746211 for ; Thu, 13 Feb 2025 11:03:05 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3719A42F02; Thu, 13 Feb 2025 11:03:05 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 8BFD242F0B for ; Thu, 13 Feb 2025 11:03:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1739440983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ic/zWN4MyyHC7jEG6eu3p8Lyn8Fe8blCDHj+cjRtku0=; b=Kx+dTg7LBwJcNuGSd1Xspu8sFODfnRWzdZq8wLFb82Z0m91pm/yi9/QC1LNry7YNPxk5tS JW8VcoWJQ0tgn7LtknKLPuSZkxaM6iE5BtGehOfWBkqJr4n0aQlsjl5ueBu0sp6PZQxQh9 ug+5RH9NRqlLVjVgZ0IAwK459FlYhMU= Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-220--HABynwLNTCQeCdE1gUMGg-1; Thu, 13 Feb 2025 05:02:59 -0500 X-MC-Unique: -HABynwLNTCQeCdE1gUMGg-1 X-Mimecast-MFC-AGG-ID: -HABynwLNTCQeCdE1gUMGg_1739440979 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D02F81975AFC; Thu, 13 Feb 2025 10:02:58 +0000 (UTC) Received: from rh.Home (unknown [10.45.224.21]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D18151800359; Thu, 13 Feb 2025 10:02:56 +0000 (UTC) From: Kevin Traynor To: Pawel Malinowski Cc: Anatoly Burakov , Bruce Richardson , dpdk stable Subject: patch 'net/igc/base: fix semaphore timeout value' has been queued to stable release 24.11.2 Date: Thu, 13 Feb 2025 09:58:51 +0000 Message-ID: <20250213095933.362078-84-ktraynor@redhat.com> In-Reply-To: <20250213095933.362078-1-ktraynor@redhat.com> References: <20250213095933.362078-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: YI0aSyNtQgJLGfjXwwbm7fvt0Tsu8Dyr-QeMFTmsmQA_1739440979 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 24.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/17/25. 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. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/53b1a0379f4f7607b7d0799f6de57cd458d50d65 Thanks. Kevin --- >From 53b1a0379f4f7607b7d0799f6de57cd458d50d65 Mon Sep 17 00:00:00 2001 From: Pawel Malinowski Date: Thu, 6 Feb 2025 16:08:32 +0000 Subject: [PATCH] net/igc/base: fix semaphore timeout value [ upstream commit 7caabb9834bc9596190c03279eae8980b1c24800 ] According to datasheet, software ownership of SWSM.SWESMBI bit should not exceed 100ms. Current implementation caused incorrect timeout counter values, where each iteration equals 50us delay. Because of that, driver was allowed to wait for semaphore even for 1.5s. This might trigger DPC timeout. This implementation hardcodes value to 2000, which multiplied by 50us, gives 100ms of possible wait time. Fixes: 8cb7c57d9b3c ("net/igc: support device initialization") Signed-off-by: Pawel Malinowski Signed-off-by: Anatoly Burakov Acked-by: Bruce Richardson --- drivers/net/igc/base/igc_defines.h | 1 + drivers/net/igc/base/igc_i225.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/igc/base/igc_defines.h b/drivers/net/igc/base/igc_defines.h index 280570b157..3cb2f430c5 100644 --- a/drivers/net/igc/base/igc_defines.h +++ b/drivers/net/igc/base/igc_defines.h @@ -526,4 +526,5 @@ #define IGC_SWSM_SMBI 0x00000001 /* Driver Semaphore bit */ #define IGC_SWSM_SWESMBI 0x00000002 /* FW Semaphore bit */ +#define IGC_SWSM_TIMEOUT 2000 /* Driver Semaphore max timeout counter */ #define IGC_SWSM_DRV_LOAD 0x00000008 /* Driver Loaded Bit */ diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c index 23c68a3948..7352ba240a 100644 --- a/drivers/net/igc/base/igc_i225.c +++ b/drivers/net/igc/base/igc_i225.c @@ -389,5 +389,5 @@ static s32 igc_get_hw_semaphore_i225(struct igc_hw *hw) { u32 swsm; - s32 timeout = hw->nvm.word_size + 1; + s32 timeout = IGC_SWSM_TIMEOUT; s32 i = 0; -- 2.48.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-02-12 17:29:43.562443500 +0000 +++ 0084-net-igc-base-fix-semaphore-timeout-value.patch 2025-02-12 17:29:34.528946992 +0000 @@ -1 +1 @@ -From 7caabb9834bc9596190c03279eae8980b1c24800 Mon Sep 17 00:00:00 2001 +From 53b1a0379f4f7607b7d0799f6de57cd458d50d65 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7caabb9834bc9596190c03279eae8980b1c24800 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -22,2 +23,2 @@ - drivers/net/intel/igc/base/igc_defines.h | 1 + - drivers/net/intel/igc/base/igc_i225.c | 2 +- + drivers/net/igc/base/igc_defines.h | 1 + + drivers/net/igc/base/igc_i225.c | 2 +- @@ -26 +27 @@ -diff --git a/drivers/net/intel/igc/base/igc_defines.h b/drivers/net/intel/igc/base/igc_defines.h +diff --git a/drivers/net/igc/base/igc_defines.h b/drivers/net/igc/base/igc_defines.h @@ -28,2 +29,2 @@ ---- a/drivers/net/intel/igc/base/igc_defines.h -+++ b/drivers/net/intel/igc/base/igc_defines.h +--- a/drivers/net/igc/base/igc_defines.h ++++ b/drivers/net/igc/base/igc_defines.h @@ -36 +37 @@ -diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c +diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c @@ -38,2 +39,2 @@ ---- a/drivers/net/intel/igc/base/igc_i225.c -+++ b/drivers/net/intel/igc/base/igc_i225.c +--- a/drivers/net/igc/base/igc_i225.c ++++ b/drivers/net/igc/base/igc_i225.c