OSDN Git Service

net: dpaa2-eth: do not always set xsk support in xdp_features flag
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 15 Feb 2023 14:32:57 +0000 (15:32 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Mon, 20 Feb 2023 06:49:44 +0000 (07:49 +0100)
Do not always add NETDEV_XDP_ACT_XSK_ZEROCOPY bit in xdp_features flag
but check if the NIC really supports it.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
Link: https://lore.kernel.org/r/3dba6ea42dc343a9f2d7d1a6a6a6c173235e1ebf.1676471386.git.lorenzo@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c

index 746ccfd..a62cffa 100644 (file)
@@ -4598,8 +4598,10 @@ static int dpaa2_eth_netdev_init(struct net_device *net_dev)
        net_dev->hw_features = net_dev->features;
        net_dev->xdp_features = NETDEV_XDP_ACT_BASIC |
                                NETDEV_XDP_ACT_REDIRECT |
-                               NETDEV_XDP_ACT_XSK_ZEROCOPY |
                                NETDEV_XDP_ACT_NDO_XMIT;
+       if (priv->dpni_attrs.wriop_version >= DPAA2_WRIOP_VERSION(3, 0, 0) &&
+           priv->dpni_attrs.num_queues <= 8)
+               net_dev->xdp_features |= NETDEV_XDP_ACT_XSK_ZEROCOPY;
 
        if (priv->dpni_attrs.vlan_filter_entries)
                net_dev->hw_features |= NETIF_F_HW_VLAN_CTAG_FILTER;