aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
index 50335b0d14..49ee31a1bd 100644
--- a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
+++ b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
@@ -978,11 +978,20 @@ static int edma_axi_probe(struct platform_device *pdev)
edma_netdev[i]->wanted_features = NETIF_F_HW_CSUM | NETIF_F_SG |
NETIF_F_TSO | NETIF_F_GRO;
+ if (of_property_read_bool(np, "qcom,single-phy") && edma_cinfo->num_gmac == 1)
+ edma_netdev[i]->features |= NETIF_F_HW_VLAN_CTAG_TX;
+
#ifdef CONFIG_RFS_ACCEL
edma_netdev[i]->features |= NETIF_F_NTUPLE;
edma_netdev[i]->hw_features |= NETIF_F_NTUPLE;
edma_netdev[i]->vlan_features |= NETIF_F_NTUPLE;
edma_netdev[i]->wanted_features |= NETIF_F_NTUPLE;
+ if (of_property_read_bool(np, "qcom,single-phy") && edma_cinfo->num_gmac == 1) {
+ edma_netdev[i]->features |= NETIF_F_RXHASH;
+ edma_netdev[i]->hw_features |= NETIF_F_RXHASH;
+ edma_netdev[i]->vlan_features |= NETIF_F_RXHASH;
+ edma_netdev[i]->wanted_features |= NETIF_F_RXHASH;
+ }
#endif
edma_set_ethtool_ops(edma_netdev[i]);