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 137FB433D8 for ; Mon, 11 Dec 2023 11:23:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0A62840E0F; Mon, 11 Dec 2023 11:23:47 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2080.outbound.protection.outlook.com [40.107.243.80]) by mails.dpdk.org (Postfix) with ESMTP id 1D424402E9 for ; Mon, 11 Dec 2023 11:23:46 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BfBr4autetneSiB3QvP6Cj8lMLeiMeLCON+ESbIel4jiFJ//Ek72mkYrGzBc21y+MSY2+7JZ4cUCYYBM0Vkm2BytVQdIKHxosOzWGVgTIpFvotpCYFyk7QQvJ4nNN9c3eOcNDp+/2QElkKkQLwZwp+HhK9Xw0wbnzF0fMn6RJjOwWHKeHNimW6MeD5x8+zwivVnD3ZD8C12aeEPSF1RbndP/B+Ckajngc9QqVAvGhfF0ep4E6BUwuimgPlJtEcFas7RFGwkaxlibI7qKcsVpxv5r4b79b8jwhQcxTa/yJptUDVufdf0DRkJz2u0bQalxtLK+YUO/glFGDTHEXc+FKQ== 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=z6OQ1TElKp79QM3uRY0S2UJdS2udOMCWCGDccpoNhNc=; b=ePYZ/My21oqljCODIlCyuoxVc2ZalPXs5SLRFRxQ23+l50H0BdmtXnccQmg4+ShfoRTLBy3dQSVXirU1tlh8GO4YV8L3XobCVLGrk6Pin8rEU9G4DC3EXNugTSwjYiHD1X/e0SsSyt0Lg5xEWtz0Oj086J5hLc2CLglJbNJ6DqmuLe94UAnxsVaL7sr2I6mvdJXkTVXIaw+zGEvLuBqW6i14Sx3LKczc4kt9XAUL9owzb1n1MCqDKdPD7qlkAo2JZVHJfjH6Pg8FnD1bgaUedzXgpvHTpVytdi+K17dcokI6FEJBd06zA0vYzHy2IomE6TTPQv3kkeG6AZ3Z2pBLeg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=huawei.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 (0) 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=z6OQ1TElKp79QM3uRY0S2UJdS2udOMCWCGDccpoNhNc=; b=ApwUgig/KtUB3nomOeyuj8ZPFNxuWYL0u38DxEPeEV+ohyZeY8ggzFrQ6bihYBS8N3byDSH5T1jEwjD2Ln/DT2aIexDCmdQ2+YRjGhZGyeSiPALoUf9yK6hajgJ+BGmPfuU0ThLQ1yEZTa6RqRMYT8Etw/lY9UsIjOo3MXj7A+xAmW096PdfqoXMhHFYOC5MplHe/Ho4knoOpcnxlRr2r9bxR9m+l/W2jgzNGvcOy7vma9Nds/7FaeC+JGjpmh1lF2+HVaFRwpXfgfoP5f5hrtkXgJIajo/c2ajfqFI7oYb7sNW20aqEtMAK92s5u+ioCtWgJurpYbEvyunbTkEcrQ== Received: from MN2PR16CA0058.namprd16.prod.outlook.com (2603:10b6:208:234::27) by PH7PR12MB7939.namprd12.prod.outlook.com (2603:10b6:510:278::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.32; Mon, 11 Dec 2023 10:23:43 +0000 Received: from BL6PEPF0001AB58.namprd02.prod.outlook.com (2603:10b6:208:234:cafe::52) by MN2PR16CA0058.outlook.office365.com (2603:10b6:208:234::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.32 via Frontend Transport; Mon, 11 Dec 2023 10:23:42 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BL6PEPF0001AB58.mail.protection.outlook.com (10.167.241.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.18 via Frontend Transport; Mon, 11 Dec 2023 10:23:42 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 11 Dec 2023 02:23:28 -0800 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 11 Dec 2023 02:23:26 -0800 From: Xueming Li To: Dengdui Huang CC: Jie Hai , dpdk stable Subject: patch 'net/hns3: fix VF reset handler interruption' has been queued to stable release 22.11.4 Date: Mon, 11 Dec 2023 18:12:25 +0800 Message-ID: <20231211101226.2122-121-xuemingl@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231211101226.2122-1-xuemingl@nvidia.com> References: <20231022142250.10324-1-xuemingl@nvidia.com> <20231211101226.2122-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB58:EE_|PH7PR12MB7939:EE_ X-MS-Office365-Filtering-Correlation-Id: b2b6b0e3-4ff9-4e8c-024c-08dbfa333fcc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FLnM0+gtpy91qED8k72bHs5uS3N4gpV/MDlbvSPsBKpVfFUSbyRcqEJWb21pZ44AaNV4+hYqwI3NNCDRUfULYh+jCW9hWGe83FtWDrUYVbJ1ncTQymztIxwUV48/dUWSGg1Qk0T8FmvKbhr6GdAsay9PXsz3bd8OWDhGEoAF3govy6PB8Ohe9hhXPKzZT2Xfkb8FjnJ65hfgS6xYhkWzdxFPQdOU4wpfjWeTwHN+TSsTSNvDpdRkDHZzpVABQVe3T/9hLvBSgecMZChg2afl9oXfgapHsAotxdIFqEvV+KvmzEe9O7mV/9p1nm1qnAgqpXiLWCkfsSAPjjEvI6isNIIyEN6uroc0jK5WsRxH777jyeVIH0MEZTyPFh2C/4i4S2Y380/UAFWtd+RLFN2UXkVn/95fVy7L3PQa6IGMDEIxAJJlTwQcjUOHy9//b3Z5jmrDm70wz29ZNejumpC/ahu61kBVV+6lb4Q9098ejdOWPv4l19tI8Z/d0KdCJM7Vk9y2vDo6e5SXqgry4L2TTYeItjogopJuvK5qQA9X/UAtWmKt/HJN/q+ZEpkhaOs1F3aG2lr2OoY7SfdTePVpdB/WI+HgKdDSjbq+Y9Z7G05fr3MwzDljhxEKDrGtBCLZjWLBYrua7Yk5fUnZqnTjM1KzIFLY/tDrkeRCo05vycVZm6hLID8WrTI3WVD6tSLpvSt472acYQp6swvWgqefPzClieHCB5/sIRx0EjGWInhOucoTeKNun9+IC696cBm0FTZJEZzk9ga28/v0aZ3WCI53cucdLwcNIpQ9b9x0oLM= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(346002)(136003)(39860400002)(376002)(396003)(230922051799003)(64100799003)(82310400011)(186009)(1800799012)(451199024)(40470700004)(36840700001)(46966006)(40460700003)(26005)(6286002)(1076003)(16526019)(2616005)(336012)(426003)(7696005)(53546011)(36860700001)(83380400001)(47076005)(5660300002)(4001150100001)(41300700001)(2906002)(4326008)(478600001)(966005)(8676002)(8936002)(70206006)(70586007)(316002)(54906003)(6916009)(82740400003)(86362001)(7636003)(356005)(36756003)(55016003)(40480700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2023 10:23:42.1636 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b2b6b0e3-4ff9-4e8c-024c-08dbfa333fcc 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.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF0001AB58.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7939 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 22.11.4 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/13/23. 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://git.dpdk.org/dpdk-stable/log/?h=22.11-staging This queued commit can be viewed at: https://git.dpdk.org/dpdk-stable/commit/?h=22.11-staging&id=647137256433c23189ace754c8a4304cb83b058b Thanks. Xueming Li --- >From 647137256433c23189ace754c8a4304cb83b058b Mon Sep 17 00:00:00 2001 From: Dengdui Huang Date: Mon, 27 Nov 2023 21:39:03 +0800 Subject: [PATCH] net/hns3: fix VF reset handler interruption Cc: Xueming Li [ upstream commit 94cf4db1603fe9074b5275cc4b63685fc91fdac5 ] Currently, the VF reset interrupt is enabled before the reset process is completed. If the VF reset is triggered by an IMP reset, the initialization of IMP is may not completed, and the VF reset interrupt may continue to be reported. In this scenario, the VF reset being performed by the driver does not need to be interrupted. Therefore, for VF reset, the driver has to enable the interrupt after the end of reset. Fixes: a5475d61fa34 ("net/hns3: support VF") Signed-off-by: Dengdui Huang Acked-by: Jie Hai --- drivers/net/hns3/hns3_ethdev.h | 12 ++++++++++++ drivers/net/hns3/hns3_ethdev_vf.c | 19 +++++++++++++++++-- drivers/net/hns3/hns3_intr.c | 6 ++---- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/drivers/net/hns3/hns3_ethdev.h b/drivers/net/hns3/hns3_ethdev.h index a3dd4b45c2..9e67e93d3f 100644 --- a/drivers/net/hns3/hns3_ethdev.h +++ b/drivers/net/hns3/hns3_ethdev.h @@ -1031,6 +1031,7 @@ void hns3vf_update_link_status(struct hns3_hw *hw, uint8_t link_status, uint32_t link_speed, uint8_t link_duplex); void hns3vf_update_push_lsc_cap(struct hns3_hw *hw, bool supported); void hns3_clear_reset_event(struct hns3_hw *hw); +void hns3vf_clear_reset_event(struct hns3_hw *hw); static inline bool @@ -1044,4 +1045,15 @@ is_reset_pending(struct hns3_adapter *hns) return ret; } +static inline void +hns3_clear_reset_status(struct hns3_hw *hw) +{ + struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw); + + if (hns->is_vf) + hns3vf_clear_reset_event(hw); + else + hns3_clear_reset_event(hw); +} + #endif /* HNS3_ETHDEV_H */ diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c index 64f4dd148c..702a61aad9 100644 --- a/drivers/net/hns3/hns3_ethdev_vf.c +++ b/drivers/net/hns3/hns3_ethdev_vf.c @@ -612,6 +612,19 @@ hns3vf_enable_irq0(struct hns3_hw *hw) hns3_write_dev(hw, HNS3_MISC_VECTOR_REG_BASE, 1); } +void +hns3vf_clear_reset_event(struct hns3_hw *hw) +{ + uint32_t clearval; + uint32_t cmdq_stat_reg; + + cmdq_stat_reg = hns3_read_dev(hw, HNS3_VECTOR0_CMDQ_STAT_REG); + clearval = cmdq_stat_reg & ~BIT(HNS3_VECTOR0_RST_INT_B); + hns3_write_dev(hw, HNS3_VECTOR0_CMDQ_SRC_REG, clearval); + + hns3vf_enable_irq0(hw); +} + static enum hns3vf_evt_cause hns3vf_check_event_cause(struct hns3_adapter *hns, uint32_t *clearval) { @@ -686,8 +699,10 @@ hns3vf_interrupt_handler(void *param) break; } - /* Enable interrupt */ - hns3vf_enable_irq0(hw); + /* Enable interrupt if it is not caused by reset */ + if (event_cause == HNS3VF_VECTOR0_EVENT_MBX || + event_cause == HNS3VF_VECTOR0_EVENT_OTHER) + hns3vf_enable_irq0(hw); } void diff --git a/drivers/net/hns3/hns3_intr.c b/drivers/net/hns3/hns3_intr.c index 52b5435a23..916bf30dcb 100644 --- a/drivers/net/hns3/hns3_intr.c +++ b/drivers/net/hns3/hns3_intr.c @@ -2749,8 +2749,7 @@ hns3_reset_post(struct hns3_adapter *hns) /* IMP will wait ready flag before reset */ hns3_notify_reset_ready(hw, false); hns3_clear_reset_level(hw, &hw->reset.pending); - if (!hns->is_vf) - hns3_clear_reset_event(hw); + hns3_clear_reset_status(hw); __atomic_store_n(&hns->hw.reset.resetting, 0, __ATOMIC_RELAXED); hw->reset.attempts = 0; hw->reset.stats.success_cnt++; @@ -2800,8 +2799,7 @@ hns3_reset_fail_handle(struct hns3_adapter *hns) struct timeval tv; hns3_clear_reset_level(hw, &hw->reset.pending); - if (!hns->is_vf) - hns3_clear_reset_event(hw); + hns3_clear_reset_status(hw); if (hns3_reset_err_handle(hns)) { hw->reset.stage = RESET_STAGE_PREWAIT; hns3_schedule_reset(hns); -- 2.25.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-12-11 17:56:26.919660900 +0800 +++ 0120-net-hns3-fix-VF-reset-handler-interruption.patch 2023-12-11 17:56:23.247652300 +0800 @@ -1 +1 @@ -From 94cf4db1603fe9074b5275cc4b63685fc91fdac5 Mon Sep 17 00:00:00 2001 +From 647137256433c23189ace754c8a4304cb83b058b Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit 94cf4db1603fe9074b5275cc4b63685fc91fdac5 ] @@ -15 +17,0 @@ -Cc: stable@dpdk.org @@ -26 +28 @@ -index 668f141e32..12d8299def 100644 +index a3dd4b45c2..9e67e93d3f 100644 @@ -29 +31 @@ -@@ -1035,6 +1035,7 @@ void hns3vf_update_link_status(struct hns3_hw *hw, uint8_t link_status, +@@ -1031,6 +1031,7 @@ void hns3vf_update_link_status(struct hns3_hw *hw, uint8_t link_status, @@ -35 +36,0 @@ - const char *hns3_get_media_type_name(uint8_t media_type); @@ -37 +38,2 @@ -@@ -1049,4 +1050,15 @@ is_reset_pending(struct hns3_adapter *hns) + static inline bool +@@ -1044,4 +1045,15 @@ is_reset_pending(struct hns3_adapter *hns) @@ -54 +56 @@ -index 156fb905f9..916cc0fb1b 100644 +index 64f4dd148c..702a61aad9 100644 @@ -57 +59 @@ -@@ -531,6 +531,19 @@ hns3vf_enable_irq0(struct hns3_hw *hw) +@@ -612,6 +612,19 @@ hns3vf_enable_irq0(struct hns3_hw *hw) @@ -77 +79 @@ -@@ -605,8 +618,10 @@ hns3vf_interrupt_handler(void *param) +@@ -686,8 +699,10 @@ hns3vf_interrupt_handler(void *param)