Re: git: 17b4a0acfaf5 - main - cxgbe(4): T7 related updates to shared code

From: Kristof Provost <kp_at_FreeBSD.org>
Date: Thu, 20 Nov 2025 14:52:43 UTC

On 13 Nov 2025, at 1:41, Navdeep Parhar wrote:

> The branch main has been updated by np:
>
> URL: 
> https://cgit.FreeBSD.org/src/commit/?id=17b4a0acfaf5e58a04232c756a79d73649ead231
>
> commit 17b4a0acfaf5e58a04232c756a79d73649ead231
> Author:     Navdeep Parhar <np@FreeBSD.org>
> AuthorDate: 2025-10-15 19:29:06 +0000
> Commit:     Navdeep Parhar <np@FreeBSD.org>
> CommitDate: 2025-11-13 00:32:38 +0000
>
>     cxgbe(4): T7 related updates to shared code
>
>     - Avoid some more registers with read side-effects during regdump.
>     - mps_tcam_size is 3x the size of T6/T5.
>     - Update rss_rd_row to work with T7.
>
>     Obtained from:  Chelsio Communications
>     MFC after:      1 week
>     Sponsored by:   Chelsio Communications
> ---
>  sys/dev/cxgbe/common/t4_hw.c     |  98 +++++--
>  sys/dev/cxgbe/common/t4_msg.h    | 566 
> +++++++++++++++++++++++++++++++++------
>  sys/dev/cxgbe/common/t4_regs.h   | 100 ++++++-
>  sys/dev/cxgbe/tom/t4_cpl_io.c    |   2 +-
>  usr.sbin/cxgbetool/reg_defs_t7.c | 126 +++++----
>  5 files changed, 723 insertions(+), 169 deletions(-)
>
…
> +struct cpl_rx_phys_addr {
> +        __be32 RSS[2];
> +        __be32 op_to_tid;
> +        __be32 pci_rlx_order_to_len;
> +        __be64 phys_addr;
> +};
This fails to build on ‘options RSS’ kernels (which does `#define 
RSS 1`):

	--- t4_main.o ---
	In file included from /usr/src/sys/dev/cxgbe/t4_main.c:79:
	In file included from /usr/src/sys/dev/cxgbe/common/common.h:525:
	In file included from /usr/src/sys/dev/cxgbe/adapter.h:62:
	/usr/src/sys/dev/cxgbe/common/t4_msg.h:2481:16: error: expected member 
name or ';' after declaration specifiers
	 2481 |         __be32 RSS[2];
	      |         ~~~~~~ ^
	./opt_rss.h:1:13: note: expanded from macro 'RSS'
	    1 | #define RSS 1
	      |             ^
	In file included from /usr/src/sys/dev/cxgbe/t4_main.c:79:
	In file included from /usr/src/sys/dev/cxgbe/common/common.h:525:
	In file included from /usr/src/sys/dev/cxgbe/adapter.h:62:
	/usr/src/sys/dev/cxgbe/common/t4_msg.h:2481:15: error: expected ';' at 
end of declaration list
	 2481 |         __be32 RSS[2];
	      |               ^
	      |               ;
	2 errors generated.
	*** [t4_main.o] Error code 1

Something simple like this appears to be enough to fix that:

	diff --git a/sys/dev/cxgbe/common/t4_msg.h 
b/sys/dev/cxgbe/common/t4_msg.h
	index 214080964fbb..19a9af25ca5d 100644
	--- a/sys/dev/cxgbe/common/t4_msg.h
	+++ b/sys/dev/cxgbe/common/t4_msg.h
	@@ -2478,7 +2478,7 @@ struct cpl_rx_data_ack_core {
	 #define F_RX_DACK_CHANGE    V_RX_DACK_CHANGE(1U)

	 struct cpl_rx_phys_addr {
	-        __be32 RSS[2];
	+        __be32 rssid[2];
	         __be32 op_to_tid;
	         __be32 pci_rlx_order_to_len;
	         __be64 phys_addr;

Best regards,
Kristof