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 059CA455AD for ; Mon, 15 Jul 2024 17:31:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 00F6240E15; Mon, 15 Jul 2024 17:31:03 +0200 (CEST) Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mails.dpdk.org (Postfix) with ESMTP id AC44940A71 for ; Mon, 15 Jul 2024 17:31:01 +0200 (CEST) Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-367b8a60b60so2485781f8f.2 for ; Mon, 15 Jul 2024 08:31:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721057461; x=1721662261; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9D1w8G0I0q+4uYigd5F80tzB4+uUwY2oQGBUb8Ulabk=; b=TI6xgL7vFRLxkyIqBiXUizVBZr7Id6ZEpSUixeYL7p0U4U0z68hgd0BkPNGYG2sTLB X40Qpu3s9za9ZGpUV/v5H4ABGNlsgSSLLtmAv6xWpe0b7LKePSHfSYcx1YvAEVZxzcZ5 110GKmVMvRoqm4i612lGzckMo64w8vYKMUGSvWFN6huyMZjeNsAObxqmjYbKA0i9FGo2 IJwuPejv3Rj6Wgi6clbykVN8lqxVgm2je5/ZfB7roLmUZqozZutgP5F3ElOivcZFsUgQ 4ri9Y0DdUUNCGz51wtfV9XaETi0WC11LcXebjMtxGr2pSrEO7EZFVz6wpVitZHAmMtLM JTQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721057461; x=1721662261; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9D1w8G0I0q+4uYigd5F80tzB4+uUwY2oQGBUb8Ulabk=; b=SvVU2kvxAUagCzCnrEDafETQipTl2A7aWC1NPXWhC6vMTSg3RMj2mumbafjAoJvAWn FqmdB5z9GxvrfJJkS+nLhErrWe4YWPaQT66vzUXwrO20y18j2BEbEyf7Red7PBs7t0HW l14dVGxxJ3hxkvExvEefuwx1s47oLwMjDRDVz0zJ+j8d36b+TWURTiux54ilmAZDa8X5 hp2AVmsdKOqI8XSQVqvjYn3IR4vmGpxYvoSKJUeujAOWX4TjVS280EwbivQguYjKHWO0 LAks9/AK82NwqEtqYMJ9QilqgtryFk5F61cOPpaMmAwsNvneXlY5wyT2TmPQw4yFusfG 4lpg== X-Gm-Message-State: AOJu0YyJaQXM1aROyvt9PfG1e2h50/n3F59txq2h5czR4SL52p+73NCK k+8dxbZuRprnA7nhwGQ/clkAaHAYN8a62SWIxht9nroe9RB9LjbjS6Dyl+Yvy8U= X-Google-Smtp-Source: AGHT+IFAz7bOq+9WkvOPFqoKTf4PzRRKsUk7A/6hpcSRSw0avJoseg1xKMj2pFl/1x2ThVi82f6v5g== X-Received: by 2002:adf:b1d5:0:b0:367:88e8:fed1 with SMTP id ffacd0b85a97d-3682408d561mr51698f8f.25.1721057461307; Mon, 15 Jul 2024 08:31:01 -0700 (PDT) Received: from localhost ([2a01:4b00:d036:ae00:7aef:1aaa:3dff:d546]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3680db0484dsm6785941f8f.110.2024.07.15.08.31.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jul 2024 08:31:00 -0700 (PDT) From: luca.boccassi@gmail.com To: Jiawen Wu Cc: dpdk stable Subject: patch 'net/txgbe: fix Rx interrupt' has been queued to stable release 22.11.6 Date: Mon, 15 Jul 2024 16:26:52 +0100 Message-Id: <20240715152704.2229503-74-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240715152704.2229503-1-luca.boccassi@gmail.com> References: <20240624235907.885628-81-luca.boccassi@gmail.com> <20240715152704.2229503-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/17/24. 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/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/48d15a5ef2691310b599404a157456594299f118 Thanks. Luca Boccassi --- >From 48d15a5ef2691310b599404a157456594299f118 Mon Sep 17 00:00:00 2001 From: Jiawen Wu Date: Tue, 18 Jun 2024 15:11:47 +0800 Subject: [PATCH] net/txgbe: fix Rx interrupt [ upstream commit 37af8751f2726cd49881d2cf8089302893ea0f41 ] Fix Rx interrupt enable failure. Fixes: a5682d28f134 ("net/txgbe: support Rx interrupt") Signed-off-by: Jiawen Wu --- drivers/net/txgbe/txgbe_ethdev.c | 18 +++++++++--------- drivers/net/txgbe/txgbe_ethdev_vf.c | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c index a99178ff45..2ed5ee683f 100644 --- a/drivers/net/txgbe/txgbe_ethdev.c +++ b/drivers/net/txgbe/txgbe_ethdev.c @@ -3755,13 +3755,13 @@ txgbe_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id) struct txgbe_hw *hw = TXGBE_DEV_HW(dev); if (queue_id < 32) { - mask = rd32(hw, TXGBE_IMS(0)); - mask &= (1 << queue_id); - wr32(hw, TXGBE_IMS(0), mask); + mask = rd32(hw, TXGBE_IMC(0)); + mask |= (1 << queue_id); + wr32(hw, TXGBE_IMC(0), mask); } else if (queue_id < 64) { - mask = rd32(hw, TXGBE_IMS(1)); - mask &= (1 << (queue_id - 32)); - wr32(hw, TXGBE_IMS(1), mask); + mask = rd32(hw, TXGBE_IMC(1)); + mask |= (1 << (queue_id - 32)); + wr32(hw, TXGBE_IMC(1), mask); } rte_intr_enable(intr_handle); @@ -3776,11 +3776,11 @@ txgbe_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id) if (queue_id < 32) { mask = rd32(hw, TXGBE_IMS(0)); - mask &= ~(1 << queue_id); + mask |= (1 << queue_id); wr32(hw, TXGBE_IMS(0), mask); } else if (queue_id < 64) { mask = rd32(hw, TXGBE_IMS(1)); - mask &= ~(1 << (queue_id - 32)); + mask |= (1 << (queue_id - 32)); wr32(hw, TXGBE_IMS(1), mask); } @@ -3814,7 +3814,7 @@ txgbe_set_ivar_map(struct txgbe_hw *hw, int8_t direction, wr32(hw, TXGBE_IVARMISC, tmp); } else { /* rx or tx causes */ - /* Workaround for ICR lost */ + msix_vector |= TXGBE_IVAR_VLD; /* Workaround for ICR lost */ idx = ((16 * (queue & 1)) + (8 * direction)); tmp = rd32(hw, TXGBE_IVAR(queue >> 1)); tmp &= ~(0xFF << idx); diff --git a/drivers/net/txgbe/txgbe_ethdev_vf.c b/drivers/net/txgbe/txgbe_ethdev_vf.c index b42c94adc1..92603fccc2 100644 --- a/drivers/net/txgbe/txgbe_ethdev_vf.c +++ b/drivers/net/txgbe/txgbe_ethdev_vf.c @@ -970,7 +970,7 @@ txgbevf_set_ivar_map(struct txgbe_hw *hw, int8_t direction, wr32(hw, TXGBE_VFIVARMISC, tmp); } else { /* rx or tx cause */ - /* Workaround for ICR lost */ + msix_vector |= TXGBE_VFIVAR_VLD; /* Workaround for ICR lost */ idx = ((16 * (queue & 1)) + (8 * direction)); tmp = rd32(hw, TXGBE_VFIVAR(queue >> 1)); tmp &= ~(0xFF << idx); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-07-15 16:19:38.303649669 +0100 +++ 0074-net-txgbe-fix-Rx-interrupt.patch 2024-07-15 16:19:34.716209623 +0100 @@ -1 +1 @@ -From 37af8751f2726cd49881d2cf8089302893ea0f41 Mon Sep 17 00:00:00 2001 +From 48d15a5ef2691310b599404a157456594299f118 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 37af8751f2726cd49881d2cf8089302893ea0f41 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -18 +19 @@ -index 26cf7632c3..700be8f83c 100644 +index a99178ff45..2ed5ee683f 100644 @@ -21 +22 @@ -@@ -3852,13 +3852,13 @@ txgbe_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id) +@@ -3755,13 +3755,13 @@ txgbe_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id) @@ -41 +42 @@ -@@ -3873,11 +3873,11 @@ txgbe_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id) +@@ -3776,11 +3776,11 @@ txgbe_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id) @@ -55 +56 @@ -@@ -3911,7 +3911,7 @@ txgbe_set_ivar_map(struct txgbe_hw *hw, int8_t direction, +@@ -3814,7 +3814,7 @@ txgbe_set_ivar_map(struct txgbe_hw *hw, int8_t direction, @@ -65 +66 @@ -index 87f76673d7..d075f9d232 100644 +index b42c94adc1..92603fccc2 100644 @@ -68 +69 @@ -@@ -971,7 +971,7 @@ txgbevf_set_ivar_map(struct txgbe_hw *hw, int8_t direction, +@@ -970,7 +970,7 @@ txgbevf_set_ivar_map(struct txgbe_hw *hw, int8_t direction,