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