mbox series

[net-next,v3,00/10] bnxt_en: Add NPAR 1.2 and TPH support

Message ID 20250204004609.1107078-1-michael.chan@broadcom.com (mailing list archive)
Headers show
Series bnxt_en: Add NPAR 1.2 and TPH support | expand

Message

Michael Chan Feb. 4, 2025, 12:45 a.m. UTC
The first patch adds NPAR 1.2 support.  Patches 2 to 10 add TPH
(TLP Processing Hints) support.  These TPH driver patches are new
revisions originally posted as part of the TPH PCI patch series.
Additional driver refactoring has been done so that we can free
and allocate RX completion ring and the TX rings if the channel is
a combined channel.  We also add napi_disable() and napi_enable()
during queue_stop() and queue_start() respectively, and reset for
error handling in queue_start().

v3:
Fix build bot warning in patch #9
Add MODULE_IMPORT_NS("NETDEV_INTERNAL") to patch #10
Optimize ring operations when TPH is not enabled in patch #8 and #9

v2:
Major change is error handling in patch #9.

https://lore.kernel.org/netdev/20250116192343.34535-1-michael.chan@broadcom.com/

v1: 
https://lore.kernel.org/netdev/20250113063927.4017173-1-michael.chan@broadcom.com/

Discussion about adding napi_disable()/napi_enable():

https://lore.kernel.org/netdev/5336d624-8d8b-40a6-b732-b020e4a119a2@davidwei.uk/#t

Previous driver series fixing rtnl_lock and empty release function:

https://lore.kernel.org/netdev/20241115200412.1340286-1-wei.huang2@amd.com/

v5 of the PCI series using netdev_rx_queue_restart():

https://lore.kernel.org/netdev/20240916205103.3882081-5-wei.huang2@amd.com/

v1 of the PCI series using open/close:

https://lore.kernel.org/netdev/20240509162741.1937586-9-wei.huang2@amd.com/

Manoj Panicker (1):
  bnxt_en: Add TPH support in BNXT driver

Michael Chan (5):
  bnxt_en: Set NAPR 1.2 support when registering with firmware
  bnxt_en Refactor completion ring allocation logic for P5_PLUS chips
  bnxt_en: Refactor TX ring allocation logic
  bnxt_en: Refactor RX/RX AGG ring parameters setup for P5_PLUS
  bnxt_en: Pass NQ ID to the FW when allocating RX/RX AGG rings

Somnath Kotur (4):
  bnxt_en: Refactor completion ring free routine
  bnxt_en: Refactor bnxt_free_tx_rings() to free per TX ring
  bnxt_en: Reallocate RX completion ring for TPH support
  bnxt_en: Extend queue stop/start for TX rings

 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 531 ++++++++++++++++------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h |   8 +
 2 files changed, 408 insertions(+), 131 deletions(-)

Comments

Bjorn Helgaas Feb. 4, 2025, 2:02 a.m. UTC | #1
On Mon, Feb 03, 2025 at 04:45:59PM -0800, Michael Chan wrote:
> The first patch adds NPAR 1.2 support.  Patches 2 to 10 add TPH
> (TLP Processing Hints) support.  These TPH driver patches are new
> revisions originally posted as part of the TPH PCI patch series.
> Additional driver refactoring has been done so that we can free
> and allocate RX completion ring and the TX rings if the channel is
> a combined channel.  We also add napi_disable() and napi_enable()
> during queue_stop() and queue_start() respectively, and reset for
> error handling in queue_start().

> Manoj Panicker (1):
>   bnxt_en: Add TPH support in BNXT driver
> 
> Michael Chan (5):
>   bnxt_en: Set NAPR 1.2 support when registering with firmware

Is it NPAR (as in subject and cover letter above) or NAPR (as in this
patch subject)?

What is it?  Would be nice to have it expanded and a spec reference if
available.

>   bnxt_en Refactor completion ring allocation logic for P5_PLUS chips
>   bnxt_en: Refactor TX ring allocation logic
>   bnxt_en: Refactor RX/RX AGG ring parameters setup for P5_PLUS
>   bnxt_en: Pass NQ ID to the FW when allocating RX/RX AGG rings
> 
> Somnath Kotur (4):
>   bnxt_en: Refactor completion ring free routine
>   bnxt_en: Refactor bnxt_free_tx_rings() to free per TX ring
>   bnxt_en: Reallocate RX completion ring for TPH support
>   bnxt_en: Extend queue stop/start for TX rings
> 
>  drivers/net/ethernet/broadcom/bnxt/bnxt.c | 531 ++++++++++++++++------
>  drivers/net/ethernet/broadcom/bnxt/bnxt.h |   8 +
>  2 files changed, 408 insertions(+), 131 deletions(-)
> 
> -- 
> 2.30.1
>
Michael Chan Feb. 4, 2025, 8:13 a.m. UTC | #2
On Mon, Feb 3, 2025 at 6:02 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> On Mon, Feb 03, 2025 at 04:45:59PM -0800, Michael Chan wrote:
> > The first patch adds NPAR 1.2 support.  Patches 2 to 10 add TPH
> > (TLP Processing Hints) support.  These TPH driver patches are new
> > revisions originally posted as part of the TPH PCI patch series.
> > Additional driver refactoring has been done so that we can free
> > and allocate RX completion ring and the TX rings if the channel is
> > a combined channel.  We also add napi_disable() and napi_enable()
> > during queue_stop() and queue_start() respectively, and reset for
> > error handling in queue_start().
>
> > Manoj Panicker (1):
> >   bnxt_en: Add TPH support in BNXT driver
> >
> > Michael Chan (5):
> >   bnxt_en: Set NAPR 1.2 support when registering with firmware
>
> Is it NPAR (as in subject and cover letter above) or NAPR (as in this
> patch subject)?

Yes, should be NPAR.

>
> What is it?  Would be nice to have it expanded and a spec reference if
> available.

It stands for Network Interface Card Partitioning.  Basically
multi-functions sharing the same network port.

https://techdocs.broadcom.com/us/en/storage-and-ethernet-connectivity/ethernet-nic-controllers/bcm957xxx/adapters/Configuration-adapter/npar--configuration-and-use-case-example.html

I will fix the typo and add the description.  Thanks.