From: Jakub Kicinski <kuba@kernel.org>
To: illusion.wang@nebula-matrix.com
Cc: Jakub Kicinski <kuba@kernel.org>,
sam.chen@nebula-matrix.com, lukas.bulwahn@redhat.com,
dimon.zhao@nebula-matrix.com, netdev@vger.kernel.org,
vadim.fedorenko@linux.dev,
linux-kernel@vger.kernel.org (open list),
corbet@lwn.net, lorenzo@kernel.org, alvin.wang@nebula-matrix.com,
andrew+netdev@lunn.ch, linux-doc@vger.kernel.org,
pabeni@redhat.com, edumazet@google.com, horms@kernel.org
Subject: Re: [v4,net-next,06/11] net/nebula-matrix: add common resource implementation
Date: Fri, 6 Feb 2026 18:24:55 -0800 [thread overview]
Message-ID: <20260207022455.4017894-1-kuba@kernel.org> (raw)
In-Reply-To: <20260206021608.85381-7-illusion.wang@nebula-matrix.com>
This is an AI-generated review of your patch. The human sending this
email says "This is an automated AI code reviewer, please treat what
it says with a grain of salt."
For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html
---
net/nebula-matrix: add common resource implementation
This patch adds the common resource layer for the nebula-matrix network
driver, implementing conversion relationships among vsi_id, func_id,
eth_id, and pf_id.
> diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_resource_leonis.c b/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_resource_leonis.c
> --- a/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_resource_leonis.c
> +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_resource_leonis.c
[ ... ]
> +static void nbl_res_get_eth_id(struct nbl_resource_mgt *res_mgt, u16 vsi_id,
> + u8 *eth_mode, u8 *eth_id, u8 *logic_eth_id)
> +{
> + struct nbl_eth_info *eth_info = NBL_RES_MGT_TO_ETH_INFO(res_mgt);
> + u16 pf_id = nbl_res_vsi_id_to_pf_id(res_mgt, vsi_id);
> +
> + *eth_mode = eth_info->eth_num;
> + if (pf_id < eth_info->eth_num) {
> + *eth_id = eth_info->eth_id[pf_id];
> + *logic_eth_id = pf_id;
> + /* if pf_id > eth_num, use eth_id 0 */
> + } else {
This isn't a bug, but the comment appears to be misplaced. It describes
what happens in the else branch but is located inside the if branch. Should
it be moved above the else?
[ ... ]
> +static int nbl_res_ctrl_dev_setup_eth_info(struct nbl_resource_mgt *res_mgt)
> +{
[ ... ]
> + for (i = 0; i < NBL_RES_MGT_TO_PF_NUM(res_mgt); i++) {
> + /* if pf_id <= eth_num, the pf relate corresponding eth_id*/
> + if (i < eth_num) {
This isn't a bug, but the comment says "pf_id <= eth_num" while the code
checks "i < eth_num". Should the comment say "<" instead of "<="?
> + eth_id = eth_info->eth_id[i];
> + eth_info->pf_bitmap[eth_id] |= BIT(i);
> + }
> + /* if pf_id > eth_num, the pf relate eth 0*/
> + else
Similarly, the comment says "pf_id > eth_num" but the else handles the case
where "i >= eth_num". Should the comment say ">=" instead of ">"?
> + eth_info->pf_bitmap[0] |= BIT(i);
> + }
[ ... ]
> diff --git a/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.c b/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.c
> --- /dev/null
> +++ b/drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.c
[ ... ]
> +static int vsi_id_to_pf_id(struct nbl_resource_mgt *res_mgt, u16 vsi_id)
> +{
> + struct nbl_vsi_info *vsi_info = NBL_RES_MGT_TO_VSI_INFO(res_mgt);
> + struct nbl_common_info *common = res_mgt->common;
> + bool vsi_find = false;
> + u32 pf_id = U32_MAX;
> + int i, j;
> +
> + for (i = 0; i < vsi_info->num; i++) {
> + for (j = 0; j < NBL_VSI_SERV_MAX_TYPE; j++)
> + if (vsi_id >= vsi_info->serv_info[i][j].base_id &&
> + (vsi_id < vsi_info->serv_info[i][j].base_id +
> + vsi_info->serv_info[i][j].num)) {
> + vsi_find = true;
> + break;
> + }
> +
> + if (vsi_find)
> + break;
> + }
> +
> + if (vsi_find) {
> + /* if pf_id < eth_num */
> + if (j >= NBL_VSI_SERV_PF_DATA_TYPE &&
> + j <= NBL_VSI_SERV_PF_DATA_TYPE)
This isn't a bug, but the comment says "if pf_id < eth_num" while the code
checks if j equals NBL_VSI_SERV_PF_DATA_TYPE (which is 0). The comment does
not seem to describe the actual condition being tested. Could it be updated
to reflect what the code is checking?
> + pf_id = i + common->mgt_pf;
> + }
> +
> + return pf_id;
> +}
next prev parent reply other threads:[~2026-02-07 2:24 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-06 2:15 [PATCH v4 net-next 00/11] nbl driver for Nebulamatrix NICs illusion.wang
2026-02-06 2:15 ` [PATCH v4 net-next 01/11] net/nebula-matrix: add minimum nbl build framework illusion.wang
2026-02-06 3:01 ` Andrew Lunn
2026-02-07 2:24 ` [v4,net-next,01/11] " Jakub Kicinski
2026-02-06 2:15 ` [PATCH v4 net-next 02/11] net/nebula-matrix: add our driver architecture illusion.wang
2026-02-06 3:39 ` Andrew Lunn
2026-02-06 9:26 ` 回复:[PATCH " Illusion Wang
2026-02-07 17:19 ` Andrew Lunn
2026-02-07 2:24 ` [v4,net-next,02/11] " Jakub Kicinski
2026-02-06 2:15 ` [PATCH v4 net-next 03/11] net/nebula-matrix: add chip related definitions illusion.wang
2026-02-07 2:24 ` [v4,net-next,03/11] " Jakub Kicinski
2026-02-06 2:15 ` [PATCH v4 net-next 04/11] net/nebula-matrix: channel msg value and msg struct illusion.wang
2026-02-06 2:15 ` [PATCH v4 net-next 05/11] net/nebula-matrix: add channel layer illusion.wang
2026-02-06 3:47 ` Andrew Lunn
2026-02-07 2:24 ` [v4,net-next,05/11] " Jakub Kicinski
2026-02-06 2:15 ` [PATCH v4 net-next 06/11] net/nebula-matrix: add common resource implementation illusion.wang
2026-02-07 2:24 ` Jakub Kicinski [this message]
2026-02-06 2:15 ` [PATCH v4 net-next 07/11] net/nebula-matrix: add intr " illusion.wang
2026-02-07 2:24 ` [v4,net-next,07/11] " Jakub Kicinski
2026-02-06 2:16 ` [PATCH v4 net-next 08/11] net/nebula-matrix: add vsi " illusion.wang
2026-02-07 2:24 ` [v4,net-next,08/11] " Jakub Kicinski
2026-02-06 2:16 ` [PATCH v4 net-next 09/11] net/nebula-matrix: add Dispatch layer implementation illusion.wang
2026-02-06 2:16 ` [PATCH v4 net-next 10/11] net/nebula-matrix: add common/ctrl dev init/reinit operation illusion.wang
2026-02-07 2:25 ` [v4,net-next,10/11] " Jakub Kicinski
2026-02-06 2:16 ` [PATCH v4 net-next 11/11] net/nebula-matrix: add common dev start/stop operation illusion.wang
2026-02-07 2:25 ` [v4,net-next,11/11] " Jakub Kicinski
2026-02-10 2:07 ` 回复:[v4,net-next,11/11] " Illusion Wang
2026-02-10 13:42 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260207022455.4017894-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=alvin.wang@nebula-matrix.com \
--cc=andrew+netdev@lunn.ch \
--cc=corbet@lwn.net \
--cc=dimon.zhao@nebula-matrix.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=illusion.wang@nebula-matrix.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=lukas.bulwahn@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sam.chen@nebula-matrix.com \
--cc=vadim.fedorenko@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.