svn commit: r333442 - in head/sys/dev/cxgbe: . common

Navdeep Parhar np at FreeBSD.org
Thu May 10 00:04:16 UTC 2018


Author: np
Date: Thu May 10 00:04:14 2018
New Revision: 333442
URL: https://svnweb.freebsd.org/changeset/base/333442

Log:
  cxgbe(4): Determine whether the firmware supports the FILTER2 work
  request, which can be used to configure hardware NAT and swapmac.
  
  All firmwares released after Jan 2017 support this work request.
  
  Sponsored by:	Chelsio Communications

Modified:
  head/sys/dev/cxgbe/common/common.h
  head/sys/dev/cxgbe/t4_main.c

Modified: head/sys/dev/cxgbe/common/common.h
==============================================================================
--- head/sys/dev/cxgbe/common/common.h	Wed May  9 21:50:20 2018	(r333441)
+++ head/sys/dev/cxgbe/common/common.h	Thu May 10 00:04:14 2018	(r333442)
@@ -371,6 +371,7 @@ struct adapter_params {
 	unsigned int bypass:1;	/* this is a bypass card */
 	unsigned int ethoffload:1;
 	unsigned int hash_filter:1;
+	unsigned int filter2_wr_support:1;
 
 	unsigned int ofldq_wr_cred;
 	unsigned int eo_wr_cred;

Modified: head/sys/dev/cxgbe/t4_main.c
==============================================================================
--- head/sys/dev/cxgbe/t4_main.c	Wed May  9 21:50:20 2018	(r333441)
+++ head/sys/dev/cxgbe/t4_main.c	Thu May 10 00:04:14 2018	(r333442)
@@ -3631,6 +3631,18 @@ get_params__post_init(struct adapter *sc)
 	else
 		sc->params.mps_bg_map = 0;
 
+	/*
+	 * Determine whether the firmware supports the filter2 work request.
+	 * This is queried separately for the same reason as MPSBGMAP above.
+	 */
+	param[0] = FW_PARAM_DEV(FILTER2_WR);
+	val[0] = 0;
+	rc = -t4_query_params(sc, sc->mbox, sc->pf, 0, 1, param, val);
+	if (rc == 0)
+		sc->params.filter2_wr_support = val[0] != 0;
+	else
+		sc->params.filter2_wr_support = 0;
+
 	/* get capabilites */
 	bzero(&caps, sizeof(caps));
 	caps.op_to_write = htobe32(V_FW_CMD_OP(FW_CAPS_CONFIG_CMD) |


More information about the svn-src-all mailing list