From nobody Tue Dec 2 00:46:54 2025 Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9228A31A7F8 for ; Mon, 24 Nov 2025 18:19:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764008358; cv=none; b=n6u97mEbm04KHIB2kKH34Pw8F+7hD/D1TdapXKXXooFIcm7V4JZFdJuoeFD4/hdrdqTzwPalY+JuDuLe7kEt1/jJOhRh/deVUmMeYlZwVasPsv+SL8TvI33R0xK/k9oJ928fV177FpbKwe2w1qi/sh+mayXsYcWoPkq64uWnTCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764008358; c=relaxed/simple; bh=hYkHdy6E073gG8/8HYCpA5Ni92JYVnpQPGGEfFxBtiE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SKdYdWULaO04/D7BcPUQdqvhKajZ6df/Qcd9AZJwtZq0fONhGVdZ5/0LTmcm3BYC/pFdOIXgZMtj1e5dv5ZtdVTh97XT31Xcms6JZSvh3O3mVfdN9KCHaXzK9fmmGhQFIUOOuyU4AAKhDigzhe8qjImfb4FTpu7uRUb27fmEgZs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.167.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oi1-f173.google.com with SMTP id 5614622812f47-450b5338459so1953252b6e.2 for ; Mon, 24 Nov 2025 10:19:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764008355; x=1764613155; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=9iprVTNk6cZAkMWJ9/9S/EGM0b2WsW8vk/nq2Pv03p0=; b=fmye8q9/2q+sl7+vi98zD7dY0oTNYY2Ga+w1JtkbiiY6UeGdfHrq/wiJKewWC+Z8O5 9SKQOR1PznG1LpoARnSKe23cUVP6YUWKhd8CFgOCsMYYQKfJmQOTzIVrHJWUKZwWEKtm OZSt5+TXZjii3Rgsa740PwK9s+JqWmAgqxdvYs1Gkv703Sz5/l7vLn2Hwppo5OG+NSMH G2vwVwD3Ha2i8emh+rwV1fN16bX0Lbq9FRfZoRCLs7CCL+oe8CTWiqQ/pmkYBGARyAV+ v1PZxx2nqLR8w4ghrfMrsgDPNE+6dN7/hZ8XezVX57TZmDYpjefRjhdOiqXc8uMIe3fL n6Kw== X-Forwarded-Encrypted: i=1; AJvYcCWQ6fLnQ1h7wUoxYciw73/vQwynP943wFzf13VseARFq92KiPiKHl9YL/FhcezALqinkyVR32rM9IBRDaw=@vger.kernel.org X-Gm-Message-State: AOJu0YxDkzc1DcQWpIH7mZTrL/nIDego/FtgJqec0T8O3R4S7n8UdzMn lGLcWb2d7okf4yXHkjUKd/+HxciG12jvZolS3AXVRRT4IsFsfQ7yn+XX X-Gm-Gg: ASbGnctqaR2APRxqLdcrK9MYPl/ZO8OBDph+cxfTmbHvYGA4FHtA0QGYNAteMnryaOl 6zrbHFaOEslMWMbp4Rzfv4QaRP1dN4vPOZakgHwpAjQkL1xakuqVXI7WsxCjnxFGXGbz5YH3jsg 8b9Gqs7YQMEXBt4sDOpeqhEE0qAPPScNYqxS7JoQ6mIiC5IhjqMMrj7vgGxUou4fM7FAYH/ifh+ 7OgY92i6ZRxzoHvACUCh3UUCazcbefaxuiSF/Qh9C8kM+yv4SAYwrmpffVH94bVNMI/98MJMvqX +rWK5TuRPKOXz1ewMYwNgRnDb0DqKjRuAO4GU5Wu8d8RKCMyVTpVwlIZolqWy+Mj+dGYvaIK7C/ FhRmB7HE1f/AHSOwIRR04kFVazzZXrU6kv3nyripXH7gmuRAc8Iv7fWpw6cUEeWL9vPAcv0EiWD 1ufpTm5IyaFd3vy6ArYmU5+oQ= X-Google-Smtp-Source: AGHT+IEqHSydC4Hu/p5OXPbR7yBJvx2DQQ26Hmkiiu+GKXn+q0F3MLWMxPqPNgqwKUq4B1htfY/jqw== X-Received: by 2002:a05:6808:6909:b0:450:4a1a:f2fe with SMTP id 5614622812f47-451125636d5mr5002081b6e.0.1764008355458; Mon, 24 Nov 2025 10:19:15 -0800 (PST) Received: from localhost ([2a03:2880:10ff:5::]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-65782a6c8f3sm3705269eaf.7.2025.11.24.10.19.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Nov 2025 10:19:14 -0800 (PST) From: Breno Leitao Date: Mon, 24 Nov 2025 10:19:08 -0800 Subject: [PATCH net-next 4/8] idpf: extract GRXRINGS from .get_rxnfc Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251124-gxring_intel-v1-4-89be18d2a744@debian.org> References: <20251124-gxring_intel-v1-0-89be18d2a744@debian.org> In-Reply-To: <20251124-gxring_intel-v1-0-89be18d2a744@debian.org> To: aleksander.lobakin@intel.com, Tony Nguyen , Przemek Kitszel , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: michal.swiatkowski@linux.intel.com, michal.kubiak@intel.com, maciej.fijalkowski@intel.com, intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@meta.com, Breno Leitao X-Mailer: b4 0.15-dev-a6db3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2377; i=leitao@debian.org; h=from:subject:message-id; bh=hYkHdy6E073gG8/8HYCpA5Ni92JYVnpQPGGEfFxBtiE=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBpJKGdu6j0EG9hbb9HyGyHW5oZXkG7YcVlwfpm6 JLDKhlV3RyJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaSShnQAKCRA1o5Of/Hh3 bR2TD/9T7TRemUBszcJz9c2nkROusEWKpX8iOtapjlin15Nh/mqs9JgiO/aLqRjnqGM9P9q7ilt CcMzA8av79+TwfbDG3EaeqfMM+frCGLmMJoNB1AIj9FyvsHedQL7Y2fOhmhXBqFC8+LUXENIIrB wISjYIqHW3cpuqR62A9ld2EmjAvFUjcYsAPqXoxaTswhRmbRM0xuirGS+0BX+2F8BYoH0fivTcA XL+k5liPVynjkXvHoho9lIj/zjJSGjx8FQfE9/Dup9tDXssj6AijrJhj4H7nXNwf23R2IGhY5KY m49cYq+KWlwQBTRNEI5/0cBRK7qy8IkcFK3nIqa5+7b3RtbRjOQtXF1ASHanLAe7PipM7QSuyL+ PWMhyZX4vT+ZxUc44BUad4VgNPzYjtX8dGaNzhXJqbdspN+aOlLyOoqVmtz5y25meNHPQROeHuW FtOtc7dv4Vgqe+kVfjIIJ+rMXSiPNcme02JhDdSKlyr5Skmd76lZjoL85ALEcmDtX7ippDdTGw1 oNCCKJXl490ovhGAp5Z9RjKeozCxe6bW5MBRQ+LHGQVZ3Vw9CZwTG83i07TSoIiGOdO2F4kKCfo ddj9c/6cvVNCMPyYT26Ei9fJ12QPWypIs4a2efgTkuDWVIQz6R0Wj0KVFzMWFmx8q3Kwae7Y/wZ yCD9h7LkNZ2pSfw== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D Commit 84eaf4359c36 ("net: ethtool: add get_rx_ring_count callback to optimize RX ring queries") added specific support for GRXRINGS callback, simplifying .get_rxnfc. Remove the handling of GRXRINGS in .get_rxnfc() by moving it to the new .get_rx_ring_count(). This simplifies the RX ring count retrieval and aligns idpf with the new ethtool API for querying RX ring parameters. I was not totatly convinced I needed to have the lock, but, I decided to be on the safe side and get the exact same behaviour it was before. Signed-off-by: Breno Leitao --- drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c b/drivers/net/e= thernet/intel/idpf/idpf_ethtool.c index a5a1eec9ade8..1b21747b8b13 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c +++ b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c @@ -5,6 +5,25 @@ #include "idpf_ptp.h" #include "idpf_virtchnl.h" =20 +/** + * idpf_get_rx_ring_count - get RX ring count + * @netdev: network interface device structure + * + * Returns the number of RX rings. + */ +static u32 idpf_get_rx_ring_count(struct net_device *netdev) +{ + struct idpf_vport *vport; + u32 num_rxq; + + idpf_vport_ctrl_lock(netdev); + vport =3D idpf_netdev_to_vport(netdev); + num_rxq =3D vport->num_rxq; + idpf_vport_ctrl_unlock(netdev); + + return num_rxq; +} + /** * idpf_get_rxnfc - command to get RX flow classification rules * @netdev: network interface device structure @@ -28,9 +47,6 @@ static int idpf_get_rxnfc(struct net_device *netdev, stru= ct ethtool_rxnfc *cmd, user_config =3D &np->adapter->vport_config[np->vport_idx]->user_config; =20 switch (cmd->cmd) { - case ETHTOOL_GRXRINGS: - cmd->data =3D vport->num_rxq; - break; case ETHTOOL_GRXCLSRLCNT: cmd->rule_cnt =3D user_config->num_fsteer_fltrs; cmd->data =3D idpf_fsteer_max_rules(vport); @@ -1757,6 +1773,7 @@ static const struct ethtool_ops idpf_ethtool_ops =3D { .get_channels =3D idpf_get_channels, .get_rxnfc =3D idpf_get_rxnfc, .set_rxnfc =3D idpf_set_rxnfc, + .get_rx_ring_count =3D idpf_get_rx_ring_count, .get_rxfh_key_size =3D idpf_get_rxfh_key_size, .get_rxfh_indir_size =3D idpf_get_rxfh_indir_size, .get_rxfh =3D idpf_get_rxfh, --=20 2.47.3