0080-net-next-mediatek-properly-handle-RGMII-modes.patch 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. From 25eaa5d6483a5899e6bf48b47f762f05c186b4b6 Mon Sep 17 00:00:00 2001
  2. From: John Crispin <john@phrozen.org>
  3. Date: Fri, 22 Apr 2016 11:08:43 +0200
  4. Subject: [PATCH 080/102] net-next: mediatek: properly handle RGMII modes
  5. If an external Gigabit PHY is connected to either of the MACs we need to
  6. be able to tell the PHY to use a delay. Not doing so will result in heavy
  7. packet loss and/or data corruption when using PHYs such as the IC+ IP1001.
  8. We tell the PHY which MII delay mode to use via the devictree.
  9. The ethernet driver needs to be adapted to handle all 3 rgmii-*id modes
  10. in the same way as normal rgmii when setting up the MAC.
  11. Reviewed-by: Andrew Lunn <andrew@lunn.ch>
  12. Signed-off-by: John Crispin <john@phrozen.org>
  13. ---
  14. drivers/net/ethernet/mediatek/mtk_eth_soc.c | 3 +++
  15. 1 file changed, 3 insertions(+)
  16. --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
  17. +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
  18. @@ -236,6 +236,9 @@ static int mtk_phy_connect(struct mtk_ma
  19. return -ENODEV;
  20. switch (of_get_phy_mode(np)) {
  21. + case PHY_INTERFACE_MODE_RGMII_TXID:
  22. + case PHY_INTERFACE_MODE_RGMII_RXID:
  23. + case PHY_INTERFACE_MODE_RGMII_ID:
  24. case PHY_INTERFACE_MODE_RGMII:
  25. ge_mode = 0;
  26. break;