From: Joakim Zhang Date: Fri, 14 May 2021 08:52:44 +0000 (+0800) Subject: LF-3811 net: fec: fix TX Bandwidth Fluctuations X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.0~64 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=899a61cb3b914815387f109ff34b7bf80330e986;p=linux.git LF-3811 net: fec: fix TX Bandwidth Fluctuations MAC-NET IP with AVB support, queue 0 for best-effor, and queue 1&2 for AVB. The default bandwidth configured of queue 1&2 is 50% in the driver, which leads to TX bandwidth fluctuations when selecting queue 1&2 for transmitting packets. Select queue based on VLAN info when AVB enabled. Commit da722186f654 ("net: fec: set GPR bit on suspend by DT configuration.") refactor the fec_devtype, need adjust downstream code accordingly. Reviewed-by: Jun Li Signed-off-by: Joakim Zhang Acked-by: Jason Liu --- diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 03e595d15738..b3eac8a14f5d 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -3460,11 +3460,9 @@ u16 fec_enet_select_queue(struct net_device *ndev, struct sk_buff *skb, struct net_device *sb_dev) { struct fec_enet_private *fep = netdev_priv(ndev); - const struct platform_device_id *id_entry = - platform_get_device_id(fep->pdev); u16 vlan_tag; - if (!(id_entry->driver_data & FEC_QUIRK_HAS_AVB)) + if (!(fep->quirks & FEC_QUIRK_HAS_AVB)) return netdev_pick_tx(ndev, skb, NULL); vlan_tag = fec_enet_get_raw_vlan_tci(skb);