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, 03/10] bng_en: Add firmware communication mechanism
Date: Thu, 19 Jun 2025 13:43:35 +0100 [thread overview]
Message-ID: <6735a940-bce8-43f5-a6d7-7a48ace197c8@linux.dev> (raw)
In-Reply-To: <20250618144743.843815-4-vikas.gupta@broadcom.com>
On 18/06/2025 15:47, Vikas Gupta wrote:
> Add support to communicate with the firmware.
> Future patches will use these functions to send the
> messages to the firmware.
> Functions support allocating request/response buffers
> to send a particular command. Each command has certain
> timeout value to which the driver waits for response from
> the firmware. In error case, commands may be either timed
> out waiting on response from the firmware or may return
> a specific error code.
>
> 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>
> ---
> drivers/net/ethernet/broadcom/bnge/Makefile | 3 +-
> drivers/net/ethernet/broadcom/bnge/bnge.h | 13 +
> .../net/ethernet/broadcom/bnge/bnge_hwrm.c | 503 ++++++++++++++++++
> .../net/ethernet/broadcom/bnge/bnge_hwrm.h | 107 ++++
> 4 files changed, 625 insertions(+), 1 deletion(-)
> create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_hwrm.c
> create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_hwrm.h
>
> diff --git a/drivers/net/ethernet/broadcom/bnge/Makefile b/drivers/net/ethernet/broadcom/bnge/Makefile
> index e021a14d2fa0..b296d7de56ce 100644
> --- a/drivers/net/ethernet/broadcom/bnge/Makefile
> +++ b/drivers/net/ethernet/broadcom/bnge/Makefile
> @@ -3,4 +3,5 @@
> obj-$(CONFIG_BNGE) += bng_en.o
>
> bng_en-y := bnge_core.o \
> - bnge_devlink.o
> + bnge_devlink.o \
> + bnge_hwrm.o
> diff --git a/drivers/net/ethernet/broadcom/bnge/bnge.h b/drivers/net/ethernet/broadcom/bnge/bnge.h
> index 19d85aabab4e..8f2a562d9ae2 100644
> --- a/drivers/net/ethernet/broadcom/bnge/bnge.h
> +++ b/drivers/net/ethernet/broadcom/bnge/bnge.h
> @@ -13,6 +13,8 @@ enum board_idx {
> BCM57708,
> };
>
> +#define INVALID_HW_RING_ID ((u16)-1)
> +
> struct bnge_dev {
> struct device *dev;
> struct pci_dev *pdev;
> @@ -22,6 +24,17 @@ struct bnge_dev {
> char board_serialno[BNGE_VPD_FLD_LEN];
>
> void __iomem *bar0;
> +
> + /* HWRM members */
> + u16 hwrm_cmd_seq;
> + u16 hwrm_cmd_kong_seq;
> + struct dma_pool *hwrm_dma_pool;
> + struct hlist_head hwrm_pending_list;
> + u16 hwrm_max_req_len;
> + u16 hwrm_max_ext_req_len;
> + unsigned int hwrm_cmd_timeout;
> + unsigned int hwrm_cmd_max_timeout;
> + struct mutex hwrm_cmd_lock; /* serialize hwrm messages */
> };
It's all looks pretty similar to what is used in bnxt driver. Why do you
duplicate the code rather then reusing (and improving) the existing one?
I didn't look carefully, but in case it's impossible to merge hwrm code
from bnxt, you have to make function names prepended with bnge prefix...
next prev parent reply other threads:[~2025-06-19 12:43 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 [this message]
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
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=6735a940-bce8-43f5-a6d7-7a48ace197c8@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.