Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jun 2020 18:09:31 +0000 (UTC)
From:      Kristof Provost <kp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r361761 - stable/12/sys/dev/bnxt
Message-ID:  <202006031809.053I9VZv051449@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kp
Date: Wed Jun  3 18:09:31 2020
New Revision: 361761
URL: https://svnweb.freebsd.org/changeset/base/361761

Log:
  MFC r361279:
  
  bnxt: isc_nrxd_max and isc_ntxd_max must be powers of two

Modified:
  stable/12/sys/dev/bnxt/bnxt.h
  stable/12/sys/dev/bnxt/if_bnxt.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/bnxt/bnxt.h
==============================================================================
--- stable/12/sys/dev/bnxt/bnxt.h	Wed Jun  3 17:47:32 2020	(r361760)
+++ stable/12/sys/dev/bnxt/bnxt.h	Wed Jun  3 18:09:31 2020	(r361761)
@@ -87,6 +87,11 @@ __FBSDID("$FreeBSD$");
 #define NETXTREME_E_VF2	0x16d3
 #define NETXTREME_E_VF3	0x16dc
 
+/* Maximum numbers of RX and TX descriptors. iflib requires this to be a power
+ * of two. The hardware has no particular limitation. */
+#define BNXT_MAX_RXD	((INT32_MAX >> 1) + 1)
+#define BNXT_MAX_TXD	((INT32_MAX >> 1) + 1)
+
 #define CSUM_OFFLOAD		(CSUM_IP_TSO|CSUM_IP6_TSO|CSUM_IP| \
 				 CSUM_IP_UDP|CSUM_IP_TCP|CSUM_IP_SCTP| \
 				 CSUM_IP6_UDP|CSUM_IP6_TCP|CSUM_IP6_SCTP)

Modified: stable/12/sys/dev/bnxt/if_bnxt.c
==============================================================================
--- stable/12/sys/dev/bnxt/if_bnxt.c	Wed Jun  3 17:47:32 2020	(r361760)
+++ stable/12/sys/dev/bnxt/if_bnxt.c	Wed Jun  3 18:09:31 2020	(r361761)
@@ -315,11 +315,11 @@ static struct if_shared_ctx bnxt_sctx_init = {
 	.isc_nrxd_default = {PAGE_SIZE / sizeof(struct cmpl_base) * 8,
 	    PAGE_SIZE / sizeof(struct rx_prod_pkt_bd),
 	    PAGE_SIZE / sizeof(struct rx_prod_pkt_bd)},
-	.isc_nrxd_max = {INT32_MAX, INT32_MAX, INT32_MAX},
+	.isc_nrxd_max = {BNXT_MAX_RXD, BNXT_MAX_RXD, BNXT_MAX_RXD},
 	.isc_ntxd_min = {16, 16, 16},
 	.isc_ntxd_default = {PAGE_SIZE / sizeof(struct cmpl_base) * 2,
 	    PAGE_SIZE / sizeof(struct tx_bd_short)},
-	.isc_ntxd_max = {INT32_MAX, INT32_MAX, INT32_MAX},
+	.isc_ntxd_max = {BNXT_MAX_TXD, BNXT_MAX_TXD, BNXT_MAX_TXD},
 
 	.isc_admin_intrcnt = 1,
 	.isc_vendor_info = bnxt_vendor_info_array,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006031809.053I9VZv051449>