729-08-v6.2-net-ethernet-mtk_eth_soc-fix-RSTCTRL_PPE-0-1-definit.patch 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. From: Lorenzo Bianconi <[email protected]>
  2. Date: Thu, 17 Nov 2022 15:29:53 +0100
  3. Subject: [PATCH] net: ethernet: mtk_eth_soc: fix RSTCTRL_PPE{0,1} definitions
  4. Fix RSTCTRL_PPE0 and RSTCTRL_PPE1 register mask definitions for
  5. MTK_NETSYS_V2.
  6. Remove duplicated definitions.
  7. Fixes: 160d3a9b1929 ("net: ethernet: mtk_eth_soc: introduce MTK_NETSYS_V2 support")
  8. Signed-off-by: Lorenzo Bianconi <[email protected]>
  9. Signed-off-by: David S. Miller <[email protected]>
  10. ---
  11. --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
  12. +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
  13. @@ -3241,16 +3241,17 @@ static int mtk_hw_init(struct mtk_eth *e
  14. return 0;
  15. }
  16. - val = RSTCTRL_FE | RSTCTRL_PPE;
  17. if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
  18. regmap_write(eth->ethsys, ETHSYS_FE_RST_CHK_IDLE_EN, 0);
  19. -
  20. - val |= RSTCTRL_ETH;
  21. - if (MTK_HAS_CAPS(eth->soc->caps, MTK_RSTCTRL_PPE1))
  22. - val |= RSTCTRL_PPE1;
  23. + val = RSTCTRL_PPE0_V2;
  24. + } else {
  25. + val = RSTCTRL_PPE0;
  26. }
  27. - ethsys_reset(eth, val);
  28. + if (MTK_HAS_CAPS(eth->soc->caps, MTK_RSTCTRL_PPE1))
  29. + val |= RSTCTRL_PPE1;
  30. +
  31. + ethsys_reset(eth, RSTCTRL_ETH | RSTCTRL_FE | val);
  32. if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
  33. regmap_write(eth->ethsys, ETHSYS_FE_RST_CHK_IDLE_EN,
  34. --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
  35. +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
  36. @@ -445,18 +445,14 @@
  37. /* ethernet reset control register */
  38. #define ETHSYS_RSTCTRL 0x34
  39. #define RSTCTRL_FE BIT(6)
  40. -#define RSTCTRL_PPE BIT(31)
  41. -#define RSTCTRL_PPE1 BIT(30)
  42. +#define RSTCTRL_PPE0 BIT(31)
  43. +#define RSTCTRL_PPE0_V2 BIT(30)
  44. +#define RSTCTRL_PPE1 BIT(31)
  45. #define RSTCTRL_ETH BIT(23)
  46. /* ethernet reset check idle register */
  47. #define ETHSYS_FE_RST_CHK_IDLE_EN 0x28
  48. -/* ethernet reset control register */
  49. -#define ETHSYS_RSTCTRL 0x34
  50. -#define RSTCTRL_FE BIT(6)
  51. -#define RSTCTRL_PPE BIT(31)
  52. -
  53. /* ethernet dma channel agent map */
  54. #define ETHSYS_DMA_AG_MAP 0x408
  55. #define ETHSYS_DMA_AG_MAP_PDMA BIT(0)