From nobody Thu Dec 18 00:06:28 2025 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 34888313E3F for ; Mon, 13 Oct 2025 14:54:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760367247; cv=none; b=iuBnaBwYKZGA5bSeVnS/2VvK31zQlTNwNproc0vQy0foVyWZtYm/FzCPI7mf4ucagC3ZqacEyBpCHGZedOEfyKbl3QMucSl0JU2v4M2k2xBAFuYumymIbCq77xAntaIaJ0/xOaN9elM8ybpOyRCNIoEjPP169g3f/GEZ38hA7Ag= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760367247; c=relaxed/simple; bh=UN20xXoo/DIsknQaKnQS3nE5pqQGdfuGllMStEKfLhQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L6aGTgCmoH1/sRo4uGAPczt/s6A74rdfljMBdY8j6Prmrr3iEy254KM2PequnyDF8iPSbutCUNG0rtqX3plEUNL8dDnnceBBMboRbxv0w0bsJtdcRy6aw1QU3kGUOs0qoKZXnJFw3Tw3I1uJsihBJcolM7jXZcyQQBiYMyYjy3c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Vqk0YYK4; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Vqk0YYK4" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-46e430494ccso24899555e9.1 for ; Mon, 13 Oct 2025 07:54:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760367243; x=1760972043; darn=vger.kernel.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=kBVbea7flwKQsaU79NLWmhrt2gwy8JKbrcaG5BbSXQs=; b=Vqk0YYK4D39Lu3ifEgEsEVQoPaxkf9bJepAlOQBM79Vx3AxqTiUZmN0owgmjsEjzOG +EUXHJdOAb3fDTEloWsDBtBHUQDqOgTS4KrsQcwZ6AfcJ3pew8XTxJkywrhFfJupikPo gG6plI4kX8Stj5BPTj3JMNGg5bISxNAchPeDHn4pwm0tpwVcG0gLIPHKltmbZ+zvvQKv mgA/VlnG5okocDEzcM2C0Co+BFPDv25CGel0/VNvAtx038t3jqqACW8B8oevVONulD4+ 9NOxAE+P3JjJxpheoXkxJIKweAEnkxYtPSj43uf0lrtZUkcmIRh/utLnFyV1YR9SxEra RwWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760367243; x=1760972043; 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=kBVbea7flwKQsaU79NLWmhrt2gwy8JKbrcaG5BbSXQs=; b=M3wj8Z7/HQJvTGCjY8EqrdqTSf59qM9LY8ULwpGnSbKNAOZPrpKDayuurE1UDQSKfH YotRhQeP6JeTaDwvjgcdtmVAFkMkdOdp0LStQusWqgbhCYA2sN/U9BP6r7FifVP155BY Q8lVaZKmX4TAlrFZQICBq9Wp+RP5d6ZTCJn1KVQkZvg1fzXdDaPWe+qVVJkCBkZqmeRX HdXXOwlPtOPeq2WLhPD7MTEPl2o2TAhAAXp0qJBcQ+S+yT5byCuLlxZLRWwop66DpbDR dLW5TtVt+7nPLRNBABYVUjvnulMkqA8addP4EaWxNe8pjecAq6VcjvtLm5O/4j9oDK4e +AMQ== X-Forwarded-Encrypted: i=1; AJvYcCXnYLkjf8bS84k35GaZH6Xs/t0azsjIWvzHmhlEJ5WJ3gi0URNyoThjlyVEJzzBtp4EIQpGzfW2kXID59o=@vger.kernel.org X-Gm-Message-State: AOJu0YyhP0KMcIrWSjuLz71f9SXgQ5DCOdGNLHC/JJWJQAR0B6AlHFAP GBFSeTTen8Jy1mnPLflszxhLlsV8YkcTEF1Xhah58cXYNs9ZCm/I6BL2 X-Gm-Gg: ASbGnctGhQ75ULRiIUDOJbD+EuQEUk6PD2UkQI9/7IORoNp/NnUiuLttgHuhqUjo+Z5 qZJ/uuJqfsjE3K0+WNzzfq6g3pSZYu8NQdL2InrQu+afhlDlQ0GiT75Y3eSq5fL8CHtH74nybwU JSpFDT+RRYInQ47yYVgNwDimCYf0yfwWgn2q2vJcpDxGvJxO3wG9BVbb7jTxYgym31Eq9Rix0IJ ayHxq1toP5BouwTu4P/8uBGA07RggJJ37SH/zKFYgH2PcSHch/4M7gzmuosv02YlPW9SwlMYgY8 gWM88YBgSJFwa+Y5SQ/zxX3oA+f3Kg2AgDyaBirPxVxXB31BEikLSkvoCJiP9zrV8X+5qPD/UIu iOwuWro36ax9ZdqXflD8RDLYT X-Google-Smtp-Source: AGHT+IGvZad4w3tGfNyelo8jRaGthiTAOmBgbASb/CfTYlM5+kxTUyX0ReE6Y+6587qOM/YD4IdmEg== X-Received: by 2002:a05:600c:1d1b:b0:46f:b32e:4f3e with SMTP id 5b1f17b1804b1-46fb32e4fa5mr121333895e9.37.1760367243089; Mon, 13 Oct 2025 07:54:03 -0700 (PDT) Received: from 127.com ([2620:10d:c092:600::1:eb09]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-426ce5e0e70sm18641085f8f.40.2025.10.13.07.54.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 07:54:02 -0700 (PDT) From: Pavel Begunkov To: netdev@vger.kernel.org Cc: Andrew Lunn , Jakub Kicinski , davem@davemloft.net, Eric Dumazet , Paolo Abeni , Simon Horman , Donald Hunter , Michael Chan , Pavan Chebbi , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , Joshua Washington , Harshitha Ramamurthy , Jian Shen , Salil Mehta , Jijie Shao , Sunil Goutham , Geetha sowjanya , Subbaraya Sundeep , hariprasad , Bharat Bhushan , Saeed Mahameed , Tariq Toukan , Mark Bloch , Leon Romanovsky , Alexander Duyck , kernel-team@meta.com, Ilias Apalodimas , Joe Damato , David Wei , Willem de Bruijn , Mina Almasry , Pavel Begunkov , Breno Leitao , Dragos Tatulea , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-rdma@vger.kernel.org, Jonathan Corbet Subject: [PATCH net-next v4 22/24] eth: bnxt: support per queue configuration of rx-buf-len Date: Mon, 13 Oct 2025 15:54:24 +0100 Message-ID: <29f1f23b21eb1de0920aa912bcbefc6312160102.1760364551.git.asml.silence@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jakub Kicinski Now that the rx_buf_len is stored and validated per queue allow it being set differently for different queues. Instead of copying the device setting for each queue ask the core for the config via netdev_queue_config(). Signed-off-by: Jakub Kicinski Signed-off-by: Pavel Begunkov --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethern= et/broadcom/bnxt/bnxt.c index ea95a06ae62b..a734b18e47c4 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -4320,6 +4320,7 @@ static void bnxt_init_ring_struct(struct bnxt *bp) =20 for (i =3D 0; i < bp->cp_nr_rings; i++) { struct bnxt_napi *bnapi =3D bp->bnapi[i]; + struct netdev_queue_config qcfg; struct bnxt_ring_mem_info *rmem; struct bnxt_cp_ring_info *cpr; struct bnxt_rx_ring_info *rxr; @@ -4342,7 +4343,8 @@ static void bnxt_init_ring_struct(struct bnxt *bp) if (!rxr) goto skip_rx; =20 - rxr->rx_page_size =3D bp->rx_page_size; + netdev_queue_config(bp->dev, i, &qcfg); + rxr->rx_page_size =3D qcfg.rx_buf_len; =20 ring =3D &rxr->rx_ring_struct; rmem =3D &ring->ring_mem; @@ -15928,6 +15930,7 @@ static int bnxt_queue_mem_alloc(struct net_device *= dev, clone->rx_agg_prod =3D 0; clone->rx_sw_agg_prod =3D 0; clone->rx_next_cons =3D 0; + clone->rx_page_size =3D qcfg->rx_buf_len; clone->need_head_pool =3D false; =20 rc =3D bnxt_alloc_rx_page_pool(bp, clone, rxr->page_pool->p.nid); @@ -16032,6 +16035,8 @@ static void bnxt_copy_rx_ring(struct bnxt *bp, src_ring =3D &src->rx_ring_struct; src_rmem =3D &src_ring->ring_mem; =20 + dst->rx_page_size =3D src->rx_page_size; + WARN_ON(dst_rmem->nr_pages !=3D src_rmem->nr_pages); WARN_ON(dst_rmem->page_size !=3D src_rmem->page_size); WARN_ON(dst_rmem->flags !=3D src_rmem->flags); @@ -16239,6 +16244,7 @@ bnxt_queue_cfg_defaults(struct net_device *dev, int= idx, } =20 static const struct netdev_queue_mgmt_ops bnxt_queue_mgmt_ops =3D { + .supported_ring_params =3D ETHTOOL_RING_USE_RX_BUF_LEN, .ndo_queue_mem_size =3D sizeof(struct bnxt_rx_ring_info), =20 .ndo_queue_cfg_defaults =3D bnxt_queue_cfg_defaults, --=20 2.49.0