mbox series

[net-next,00/13] bnxt_en: Prepare to support new P7 chips

Message ID 20231120234405.194542-1-michael.chan@broadcom.com (mailing list archive)
Headers show
Series bnxt_en: Prepare to support new P7 chips | expand

Message

Michael Chan Nov. 20, 2023, 11:43 p.m. UTC
This patchset is to prepare the driver to support the new P7 chips by
refactoring and modifying the code.  The P7 chip is built on the P5
chip and many code paths can be modified to support both chips.  The
whole patchset to have basic support for P7 chips is about 20 patches so
a follow-on patchset will complete the support and add the new PCI IDs.

The first 8 patches are changes to the backing store logic to support
both chips with mostly common code paths and datastructures.  Both
chips require host backing store memory but the relevant firmware APIs
have been modified to make it easier to support new backing store
memory types.

The next 4 patches are changes to TX and RX ring indexing logic and NAPI
logic.  The main changes are to increment the TX and RX producers
unbounded and to do any masking only when needed.  These changes are
needed to support the P7 chips which require additional higher bits in
these producer indices.  The NAPI logic is also slightly modifed.

The last patch is a rename of BNXT_FLAG_CHIP_P5 to BNXT_FLAG_P5_PLUS and
other related macro changes to make it clear that the P5_PLUS macro
applies to P5 and newer chips.

Michael Chan (12):
  bnxt_en: The caller of bnxt_alloc_ctx_mem() should always free bp->ctx
  bnxt_en: Free bp->ctx inside bnxt_free_ctx_mem()
  bnxt_en: Restructure context memory data structures
  bnxt_en: Add page info to struct bnxt_ctx_mem_type
  bnxt_en: Use the pg_info field in bnxt_ctx_mem_type struct
  bnxt_en: Add bnxt_setup_ctxm_pg_tbls() helper function
  bnxt_en: Add support for new backing store query firmware API
  bnxt_en: Add support for HWRM_FUNC_BACKING_STORE_CFG_V2 firmware calls
  bnxt_en: Add db_ring_mask and related macro to bnxt_db_info struct.
  bnxt_en: Modify TX ring indexing logic.
  bnxt_en: Modify RX ring indexing logic.
  bnxt_en: Modify the NAPI logic for the new P7 chips

Randy Schacher (1):
  bnxt_en: Rename some macros for the P5 chips

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 921 +++++++++++-------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     | 161 +--
 .../net/ethernet/broadcom/bnxt/bnxt_devlink.c |  10 +-
 .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c |   6 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c |   4 +-
 .../net/ethernet/broadcom/bnxt/bnxt_sriov.c   |   8 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c |   2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c |  14 +-
 8 files changed, 677 insertions(+), 449 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 22, 2023, 1:40 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Mon, 20 Nov 2023 15:43:52 -0800 you wrote:
> This patchset is to prepare the driver to support the new P7 chips by
> refactoring and modifying the code.  The P7 chip is built on the P5
> chip and many code paths can be modified to support both chips.  The
> whole patchset to have basic support for P7 chips is about 20 patches so
> a follow-on patchset will complete the support and add the new PCI IDs.
> 
> The first 8 patches are changes to the backing store logic to support
> both chips with mostly common code paths and datastructures.  Both
> chips require host backing store memory but the relevant firmware APIs
> have been modified to make it easier to support new backing store
> memory types.
> 
> [...]

Here is the summary with links:
  - [net-next,01/13] bnxt_en: The caller of bnxt_alloc_ctx_mem() should always free bp->ctx
    https://git.kernel.org/netdev/net-next/c/aa8460bacf49
  - [net-next,02/13] bnxt_en: Free bp->ctx inside bnxt_free_ctx_mem()
    https://git.kernel.org/netdev/net-next/c/e50dc4c2206e
  - [net-next,03/13] bnxt_en: Restructure context memory data structures
    https://git.kernel.org/netdev/net-next/c/76087d997a84
  - [net-next,04/13] bnxt_en: Add page info to struct bnxt_ctx_mem_type
    https://git.kernel.org/netdev/net-next/c/035c57615982
  - [net-next,05/13] bnxt_en: Use the pg_info field in bnxt_ctx_mem_type struct
    https://git.kernel.org/netdev/net-next/c/2ad67aea11f2
  - [net-next,06/13] bnxt_en: Add bnxt_setup_ctxm_pg_tbls() helper function
    https://git.kernel.org/netdev/net-next/c/b098dc5a3357
  - [net-next,07/13] bnxt_en: Add support for new backing store query firmware API
    https://git.kernel.org/netdev/net-next/c/6a4d0774f02d
  - [net-next,08/13] bnxt_en: Add support for HWRM_FUNC_BACKING_STORE_CFG_V2 firmware calls
    https://git.kernel.org/netdev/net-next/c/236e237f8ffe
  - [net-next,09/13] bnxt_en: Add db_ring_mask and related macro to bnxt_db_info struct.
    https://git.kernel.org/netdev/net-next/c/b9e0c47ee2ec
  - [net-next,10/13] bnxt_en: Modify TX ring indexing logic.
    https://git.kernel.org/netdev/net-next/c/6d1add95536b
  - [net-next,11/13] bnxt_en: Modify RX ring indexing logic.
    https://git.kernel.org/netdev/net-next/c/c09d22674b94
  - [net-next,12/13] bnxt_en: Modify the NAPI logic for the new P7 chips
    https://git.kernel.org/netdev/net-next/c/f94471f3ce74
  - [net-next,13/13] bnxt_en: Rename some macros for the P5 chips
    https://git.kernel.org/netdev/net-next/c/1c7fd6ee2fe4

You are awesome, thank you!