From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
To: Vikas Gupta <vikas.gupta@broadcom.com>,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
michael.chan@broadcom.com, pavan.chebbi@broadcom.com,
vsrama-krishna.nemani@broadcom.com,
Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com>,
Rajashekar Hudumula <rajashekar.hudumula@broadcom.com>
Subject: Re: [net-next, 09/10] bng_en: Initialize default configuration
Date: Thu, 19 Jun 2025 14:57:59 +0100 [thread overview]
Message-ID: <018346fd-3a7c-4cb2-8456-61a03ee435b3@linux.dev> (raw)
In-Reply-To: <20250618144743.843815-10-vikas.gupta@broadcom.com>
On 18/06/2025 15:47, Vikas Gupta wrote:
> Query resources from the firmware and, based on the
> availability of resources, initialize the default
> settings. The default settings include:
> 1. Rings and other resource reservations with the
> firmware. This ensures that resources are reserved
> before network and auxiliary devices are created.
> 2. Mapping the BAR, which helps access doorbells since
> its size is known after querying the firmware.
> 3. Retrieving the TCs and hardware CoS queue mappings.
>
> Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com>
> Reviewed-by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com>
> Reviewed-by: Rajashekar Hudumula <rajashekar.hudumula@broadcom.com>
> ---
[...]
> diff --git a/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c b/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
> index 577ac5dcdd9b..ffdec285948e 100644
> --- a/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
> +++ b/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
> @@ -647,3 +647,57 @@ int bnge_hwrm_vnic_qcaps(struct bnge_dev *bd)
>
> return rc;
> }
> +
> +#define BNGE_CNPQ(q_profile) \
> + ((q_profile) == \
> + QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY_ROCE_CNP)
> +
> +int bnge_hwrm_queue_qportcfg(struct bnge_dev *bd)
> +{
> + struct hwrm_queue_qportcfg_output *resp;
> + struct hwrm_queue_qportcfg_input *req;
> + u8 i, j, *qptr;
> + bool no_rdma;
> + int rc = 0;
The initialization is not needed. The very next line re-assigns the
value of rc.
> +
> + rc = hwrm_req_init(bd, req, HWRM_QUEUE_QPORTCFG);
> + if (rc)
> + return rc;
> +
> + resp = hwrm_req_hold(bd, req);
> + rc = hwrm_req_send(bd, req);
> + if (rc)
> + goto qportcfg_exit;
> +
> + if (!resp->max_configurable_queues) {
> + rc = -EINVAL;
> + goto qportcfg_exit;
> + }
> + bd->max_tc = resp->max_configurable_queues;
> + bd->max_lltc = resp->max_configurable_lossless_queues;
> + if (bd->max_tc > BNGE_MAX_QUEUE)
> + bd->max_tc = BNGE_MAX_QUEUE;
> +
> + no_rdma = !bnge_is_roce_en(bd);
> + qptr = &resp->queue_id0;
> + for (i = 0, j = 0; i < bd->max_tc; i++) {
> + bd->q_info[j].queue_id = *qptr;
> + bd->q_ids[i] = *qptr++;
> + bd->q_info[j].queue_profile = *qptr++;
> + bd->tc_to_qidx[j] = j;
> + if (!BNGE_CNPQ(bd->q_info[j].queue_profile) || no_rdma)
> + j++;
> + }
> + bd->max_q = bd->max_tc;
> + bd->max_tc = max_t(u8, j, 1);
> +
> + if (resp->queue_cfg_info & QUEUE_QPORTCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG)
> + bd->max_tc = 1;
> +
> + if (bd->max_lltc > bd->max_tc)
> + bd->max_lltc = bd->max_tc;
> +
> +qportcfg_exit:
> + hwrm_req_drop(bd, req);
> + return rc;
> +}
[...]
next prev parent reply other threads:[~2025-06-19 13:58 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-18 14:47 [net-next, 00/10] Introducing Broadcom BNGE Ethernet Driver Vikas Gupta
2025-06-18 14:47 ` [net-next, 01/10] bng_en: Add PCI interface Vikas Gupta
2025-06-19 12:25 ` Vadim Fedorenko
2025-06-18 14:47 ` [net-next, 02/10] bng_en: Add devlink interface Vikas Gupta
2025-06-19 12:34 ` Vadim Fedorenko
2025-06-18 14:47 ` [net-next, 03/10] bng_en: Add firmware communication mechanism Vikas Gupta
2025-06-19 9:46 ` kernel test robot
2025-06-19 12:43 ` Vadim Fedorenko
2025-06-24 10:23 ` Vikas Gupta
2025-06-18 14:47 ` [net-next, 04/10] bng_en: Add initial interaction with firmware Vikas Gupta
2025-06-19 12:53 ` Vadim Fedorenko
2025-06-24 10:26 ` Vikas Gupta
2025-06-24 12:11 ` Vadim Fedorenko
2025-06-25 9:29 ` Vikas Gupta
2025-06-25 10:24 ` Vadim Fedorenko
2025-06-18 14:47 ` [net-next, 05/10] bng_en: Add ring memory allocation support Vikas Gupta
2025-06-18 14:47 ` [net-next, 06/10] bng_en: Add backing store support Vikas Gupta
2025-06-19 13:02 ` Vadim Fedorenko
2025-06-24 10:29 ` Vikas Gupta
2025-06-24 12:12 ` Vadim Fedorenko
2025-06-18 14:47 ` [net-next, 07/10] bng_en: Add resource management support Vikas Gupta
2025-06-19 13:39 ` Vadim Fedorenko
2025-06-24 10:31 ` Vikas Gupta
2025-06-18 14:47 ` [net-next, 08/10] bng_en: Add irq allocation support Vikas Gupta
2025-06-19 13:52 ` Vadim Fedorenko
2025-06-19 21:25 ` kernel test robot
2025-06-22 5:21 ` kernel test robot
2025-06-23 6:11 ` kernel test robot
2025-06-25 9:17 ` kernel test robot
2025-06-18 14:47 ` [net-next, 09/10] bng_en: Initialize default configuration Vikas Gupta
2025-06-18 20:16 ` kernel test robot
2025-06-19 13:57 ` Vadim Fedorenko [this message]
2025-06-20 9:08 ` kernel test robot
2025-06-22 12:39 ` kernel test robot
2025-06-26 8:47 ` kernel test robot
2025-06-18 14:47 ` [net-next, 10/10] bng_en: Add a network device Vikas Gupta
2025-06-24 0:42 ` kernel test robot
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=018346fd-3a7c-4cb2-8456-61a03ee435b3@linux.dev \
--to=vadim.fedorenko@linux.dev \
--cc=andrew+netdev@lunn.ch \
--cc=bhargava.marreddy@broadcom.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.chan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pavan.chebbi@broadcom.com \
--cc=rajashekar.hudumula@broadcom.com \
--cc=vikas.gupta@broadcom.com \
--cc=vsrama-krishna.nemani@broadcom.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).