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) |
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to