704-09-v5.19-net-mtk_eth_soc-add-mask-and-update-PCS-speed-defini.patch 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. From bc5e93e0cd22e360eda23859b939280205567580 Mon Sep 17 00:00:00 2001
  2. From: "Russell King (Oracle)" <[email protected]>
  3. Date: Wed, 18 May 2022 15:54:42 +0100
  4. Subject: [PATCH 03/12] net: mtk_eth_soc: add mask and update PCS speed
  5. definitions
  6. The PCS speed setting is a two bit field, but it is defined as two
  7. separate bits. Add a bitfield mask for the speed definitions, an
  8. use the FIELD_PREP() macro to define each PCS speed.
  9. Signed-off-by: Russell King (Oracle) <[email protected]>
  10. Signed-off-by: Jakub Kicinski <[email protected]>
  11. ---
  12. drivers/net/ethernet/mediatek/mtk_eth_soc.h | 8 +++++---
  13. 1 file changed, 5 insertions(+), 3 deletions(-)
  14. --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
  15. +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
  16. @@ -17,6 +17,7 @@
  17. #include <linux/phylink.h>
  18. #include <linux/rhashtable.h>
  19. #include <linux/dim.h>
  20. +#include <linux/bitfield.h>
  21. #include "mtk_ppe.h"
  22. #define MTK_QDMA_PAGE_SIZE 2048
  23. @@ -473,9 +474,10 @@
  24. #define SGMSYS_SGMII_MODE 0x20
  25. #define SGMII_IF_MODE_BIT0 BIT(0)
  26. #define SGMII_SPEED_DUPLEX_AN BIT(1)
  27. -#define SGMII_SPEED_10 0x0
  28. -#define SGMII_SPEED_100 BIT(2)
  29. -#define SGMII_SPEED_1000 BIT(3)
  30. +#define SGMII_SPEED_MASK GENMASK(3, 2)
  31. +#define SGMII_SPEED_10 FIELD_PREP(SGMII_SPEED_MASK, 0)
  32. +#define SGMII_SPEED_100 FIELD_PREP(SGMII_SPEED_MASK, 1)
  33. +#define SGMII_SPEED_1000 FIELD_PREP(SGMII_SPEED_MASK, 2)
  34. #define SGMII_DUPLEX_FULL BIT(4)
  35. #define SGMII_IF_MODE_BIT5 BIT(5)
  36. #define SGMII_REMOTE_FAULT_DIS BIT(8)