All of lore.kernel.org
 help / color / mirror / Atom feed
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;
> +}

[...]

  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 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.