net/dpaa2: use hash FLCTYPE only for LX2
authorNipun Gupta <nipun.gupta@nxp.com>
Mon, 15 Jan 2018 11:38:05 +0000 (17:08 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Sun, 21 Jan 2018 14:51:52 +0000 (15:51 +0100)
Enabling hash results in FD requires setting DPNI_FLCTYPE_HASH in
dpni_set_offload API. Setting this FLCTYPE for DPNI sets the FD[SC]
to 0 for LS2 in the hardware thus disabling data/annotation stashing.
For LX2 this is fixed in hardware and thus hash result and parse
results can be received in FD using this option.

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
drivers/net/dpaa2/dpaa2_ethdev.c

index 9daba70..a0a3d52 100644 (file)
@@ -380,6 +380,22 @@ dpaa2_eth_dev_configure(struct rte_eth_dev *dev)
                return ret;
        }
 
+       /* Enabling hash results in FD requires setting DPNI_FLCTYPE_HASH in
+        * dpni_set_offload API. Setting this FLCTYPE for DPNI sets the FD[SC]
+        * to 0 for LS2 in the hardware thus disabling data/annotation
+        * stashing. For LX2 this is fixed in hardware and thus hash result and
+        * parse results can be received in FD using this option.
+        */
+       if (dpaa2_svr_family == SVR_LX2160A) {
+               ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token,
+                                      DPNI_FLCTYPE_HASH, true);
+               if (ret) {
+                       PMD_INIT_LOG(ERR, "Error setting FLCTYPE: Err = %d\n",
+                                    ret);
+                       return ret;
+               }
+       }
+
        if (eth_conf->rxmode.hw_vlan_filter)
                dpaa2_vlan_offload_set(dev, ETH_VLAN_FILTER_MASK);