git: dd6c9bcdccd9 - stable/14 - if_bnxt: add support for RX completion record type V3

From: Warner Losh <imp_at_FreeBSD.org>
Date: Sun, 27 Apr 2025 22:06:11 UTC
The branch stable/14 has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=dd6c9bcdccd9665a5422f6d83717f589ef82aa34

commit dd6c9bcdccd9665a5422f6d83717f589ef82aa34
Author:     Sreekanth Reddy <sreekanth.reddy@broadcom.com>
AuthorDate: 2025-04-02 06:38:03 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-04-27 22:02:58 +0000

    if_bnxt: add support for RX completion record type V3
    
    Added support for  RX V3 completion record types-
    CMPL_BASE_TYPE_RX_TPA_START_V3 and CMPL_BASE_TYPE_RX_L2_V3.
    
    MFC-After: 3 days
    Differential-Revision: https://reviews.freebsd.org/D49728
    (cherry picked from commit 526d74f6ca55c7a4b9c0c745d13e94c7a7bb6e0b)
---
 sys/dev/bnxt/bnxt_en/bnxt_txrx.c | 3 +++
 sys/dev/bnxt/bnxt_en/if_bnxt.c   | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c
index 9f40d293850b..733db2902a5c 100644
--- a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c
+++ b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c
@@ -338,6 +338,7 @@ bnxt_isc_rxd_available(void *sc, uint16_t rxqid, qidx_t idx, qidx_t budget)
 		type = le16toh(cmp[cons].type) & CMPL_BASE_TYPE_MASK;
 		switch (type) {
 		case CMPL_BASE_TYPE_RX_L2:
+		case CMPL_BASE_TYPE_RX_L2_V3:
 			rcp = (void *)&cmp[cons];
 			ags = (rcp->agg_bufs_v1 & RX_PKT_CMPL_AGG_BUFS_MASK) >>
 			    RX_PKT_CMPL_AGG_BUFS_SFT;
@@ -622,10 +623,12 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri)
 
 		switch (type) {
 		case CMPL_BASE_TYPE_RX_L2:
+		case CMPL_BASE_TYPE_RX_L2_V3:
 			return bnxt_pkt_get_l2(softc, ri, cpr, flags_type);
 		case CMPL_BASE_TYPE_RX_TPA_END:
 			return bnxt_pkt_get_tpa(softc, ri, cpr, flags_type);
 		case CMPL_BASE_TYPE_RX_TPA_START:
+		case CMPL_BASE_TYPE_RX_TPA_START_V3:
 			rtpa = (void *)&cmp_q[cpr->cons];
 			agg_id = (rtpa->agg_id &
 			    RX_TPA_START_CMPL_AGG_ID_MASK) >>
diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c
index 15081c3ee09e..a05a02936e40 100644
--- a/sys/dev/bnxt/bnxt_en/if_bnxt.c
+++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c
@@ -4713,8 +4713,10 @@ bnxt_def_cp_task(void *context, int pending)
 			break;
 		case CMPL_BASE_TYPE_TX_L2:
 		case CMPL_BASE_TYPE_RX_L2:
+		case CMPL_BASE_TYPE_RX_L2_V3:
 		case CMPL_BASE_TYPE_RX_AGG:
 		case CMPL_BASE_TYPE_RX_TPA_START:
+		case CMPL_BASE_TYPE_RX_TPA_START_V3:
 		case CMPL_BASE_TYPE_RX_TPA_END:
 		case CMPL_BASE_TYPE_STAT_EJECT:
 		case CMPL_BASE_TYPE_HWRM_DONE: