030-0002-net-ibm-emac-replace-custom-PHY_MODE_-macros.patch 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. From 1477bea9e6931f6be96f45b9d277690a26d0cd97 Mon Sep 17 00:00:00 2001
  2. From: Christian Lamparter <[email protected]>
  3. Date: Wed, 20 Dec 2017 22:19:24 +0100
  4. Subject: [PATCH 2/3] net: ibm: emac: replace custom PHY_MODE_* macros
  5. The ibm_emac driver predates the shared PHY_INTERFACE_MODE_
  6. enums provided by include/linux/phy.h by a few years.
  7. And while the driver has been retrofitted to use the PHYLIB,
  8. the old definitions have stuck around to this day.
  9. Signed-off-by: Christian Lamparter <[email protected]>
  10. ---
  11. drivers/net/ethernet/ibm/emac/core.c | 20 ++++++++++----------
  12. drivers/net/ethernet/ibm/emac/emac.h | 13 -------------
  13. drivers/net/ethernet/ibm/emac/phy.c | 10 +++++-----
  14. drivers/net/ethernet/ibm/emac/rgmii.c | 20 ++++++++++----------
  15. drivers/net/ethernet/ibm/emac/zmii.c | 34 +++++++++++++++++-----------------
  16. 5 files changed, 42 insertions(+), 55 deletions(-)
  17. --- a/drivers/net/ethernet/ibm/emac/core.c
  18. +++ b/drivers/net/ethernet/ibm/emac/core.c
  19. @@ -199,18 +199,18 @@ static void __emac_set_multicast_list(st
  20. static inline int emac_phy_supports_gige(int phy_mode)
  21. {
  22. - return phy_mode == PHY_MODE_GMII ||
  23. - phy_mode == PHY_MODE_RGMII ||
  24. - phy_mode == PHY_MODE_SGMII ||
  25. - phy_mode == PHY_MODE_TBI ||
  26. - phy_mode == PHY_MODE_RTBI;
  27. + return phy_mode == PHY_INTERFACE_MODE_GMII ||
  28. + phy_mode == PHY_INTERFACE_MODE_RGMII ||
  29. + phy_mode == PHY_INTERFACE_MODE_SGMII ||
  30. + phy_mode == PHY_INTERFACE_MODE_TBI ||
  31. + phy_mode == PHY_INTERFACE_MODE_RTBI;
  32. }
  33. static inline int emac_phy_gpcs(int phy_mode)
  34. {
  35. - return phy_mode == PHY_MODE_SGMII ||
  36. - phy_mode == PHY_MODE_TBI ||
  37. - phy_mode == PHY_MODE_RTBI;
  38. + return phy_mode == PHY_INTERFACE_MODE_SGMII ||
  39. + phy_mode == PHY_INTERFACE_MODE_TBI ||
  40. + phy_mode == PHY_INTERFACE_MODE_RTBI;
  41. }
  42. static inline void emac_tx_enable(struct emac_instance *dev)
  43. @@ -2870,7 +2870,7 @@ static int emac_init_config(struct emac_
  44. /* PHY mode needs some decoding */
  45. dev->phy_mode = of_get_phy_mode(np);
  46. if (dev->phy_mode < 0)
  47. - dev->phy_mode = PHY_MODE_NA;
  48. + dev->phy_mode = PHY_INTERFACE_MODE_NA;
  49. /* Check EMAC version */
  50. if (of_device_is_compatible(np, "ibm,emac4sync")) {
  51. @@ -3173,7 +3173,7 @@ static int emac_probe(struct platform_de
  52. printk(KERN_INFO "%s: EMAC-%d %pOF, MAC %pM\n",
  53. ndev->name, dev->cell_index, np, ndev->dev_addr);
  54. - if (dev->phy_mode == PHY_MODE_SGMII)
  55. + if (dev->phy_mode == PHY_INTERFACE_MODE_SGMII)
  56. printk(KERN_NOTICE "%s: in SGMII mode\n", ndev->name);
  57. if (dev->phy.address >= 0)
  58. --- a/drivers/net/ethernet/ibm/emac/emac.h
  59. +++ b/drivers/net/ethernet/ibm/emac/emac.h
  60. @@ -104,19 +104,6 @@ struct emac_regs {
  61. } u1;
  62. };
  63. -/*
  64. - * PHY mode settings (EMAC <-> ZMII/RGMII bridge <-> PHY)
  65. - */
  66. -#define PHY_MODE_NA PHY_INTERFACE_MODE_NA
  67. -#define PHY_MODE_MII PHY_INTERFACE_MODE_MII
  68. -#define PHY_MODE_RMII PHY_INTERFACE_MODE_RMII
  69. -#define PHY_MODE_SMII PHY_INTERFACE_MODE_SMII
  70. -#define PHY_MODE_RGMII PHY_INTERFACE_MODE_RGMII
  71. -#define PHY_MODE_TBI PHY_INTERFACE_MODE_TBI
  72. -#define PHY_MODE_GMII PHY_INTERFACE_MODE_GMII
  73. -#define PHY_MODE_RTBI PHY_INTERFACE_MODE_RTBI
  74. -#define PHY_MODE_SGMII PHY_INTERFACE_MODE_SGMII
  75. -
  76. /* EMACx_MR0 */
  77. #define EMAC_MR0_RXI 0x80000000
  78. #define EMAC_MR0_TXI 0x40000000
  79. --- a/drivers/net/ethernet/ibm/emac/phy.c
  80. +++ b/drivers/net/ethernet/ibm/emac/phy.c
  81. @@ -96,7 +96,7 @@ int emac_mii_reset_gpcs(struct mii_phy *
  82. if ((val & BMCR_ISOLATE) && limit > 0)
  83. gpcs_phy_write(phy, MII_BMCR, val & ~BMCR_ISOLATE);
  84. - if (limit > 0 && phy->mode == PHY_MODE_SGMII) {
  85. + if (limit > 0 && phy->mode == PHY_INTERFACE_MODE_SGMII) {
  86. /* Configure GPCS interface to recommended setting for SGMII */
  87. gpcs_phy_write(phy, 0x04, 0x8120); /* AsymPause, FDX */
  88. gpcs_phy_write(phy, 0x07, 0x2801); /* msg_pg, toggle */
  89. @@ -313,16 +313,16 @@ static int cis8201_init(struct mii_phy *
  90. epcr &= ~EPCR_MODE_MASK;
  91. switch (phy->mode) {
  92. - case PHY_MODE_TBI:
  93. + case PHY_INTERFACE_MODE_TBI:
  94. epcr |= EPCR_TBI_MODE;
  95. break;
  96. - case PHY_MODE_RTBI:
  97. + case PHY_INTERFACE_MODE_RTBI:
  98. epcr |= EPCR_RTBI_MODE;
  99. break;
  100. - case PHY_MODE_GMII:
  101. + case PHY_INTERFACE_MODE_GMII:
  102. epcr |= EPCR_GMII_MODE;
  103. break;
  104. - case PHY_MODE_RGMII:
  105. + case PHY_INTERFACE_MODE_RGMII:
  106. default:
  107. epcr |= EPCR_RGMII_MODE;
  108. }
  109. --- a/drivers/net/ethernet/ibm/emac/rgmii.c
  110. +++ b/drivers/net/ethernet/ibm/emac/rgmii.c
  111. @@ -52,25 +52,25 @@
  112. /* RGMII bridge supports only GMII/TBI and RGMII/RTBI PHYs */
  113. static inline int rgmii_valid_mode(int phy_mode)
  114. {
  115. - return phy_mode == PHY_MODE_GMII ||
  116. - phy_mode == PHY_MODE_MII ||
  117. - phy_mode == PHY_MODE_RGMII ||
  118. - phy_mode == PHY_MODE_TBI ||
  119. - phy_mode == PHY_MODE_RTBI;
  120. + return phy_mode == PHY_INTERFACE_MODE_GMII ||
  121. + phy_mode == PHY_INTERFACE_MODE_MII ||
  122. + phy_mode == PHY_INTERFACE_MODE_RGMII ||
  123. + phy_mode == PHY_INTERFACE_MODE_TBI ||
  124. + phy_mode == PHY_INTERFACE_MODE_RTBI;
  125. }
  126. static inline u32 rgmii_mode_mask(int mode, int input)
  127. {
  128. switch (mode) {
  129. - case PHY_MODE_RGMII:
  130. + case PHY_INTERFACE_MODE_RGMII:
  131. return RGMII_FER_RGMII(input);
  132. - case PHY_MODE_TBI:
  133. + case PHY_INTERFACE_MODE_TBI:
  134. return RGMII_FER_TBI(input);
  135. - case PHY_MODE_GMII:
  136. + case PHY_INTERFACE_MODE_GMII:
  137. return RGMII_FER_GMII(input);
  138. - case PHY_MODE_MII:
  139. + case PHY_INTERFACE_MODE_MII:
  140. return RGMII_FER_MII(input);
  141. - case PHY_MODE_RTBI:
  142. + case PHY_INTERFACE_MODE_RTBI:
  143. return RGMII_FER_RTBI(input);
  144. default:
  145. BUG();
  146. --- a/drivers/net/ethernet/ibm/emac/zmii.c
  147. +++ b/drivers/net/ethernet/ibm/emac/zmii.c
  148. @@ -49,20 +49,20 @@
  149. */
  150. static inline int zmii_valid_mode(int mode)
  151. {
  152. - return mode == PHY_MODE_MII ||
  153. - mode == PHY_MODE_RMII ||
  154. - mode == PHY_MODE_SMII ||
  155. - mode == PHY_MODE_NA;
  156. + return mode == PHY_INTERFACE_MODE_MII ||
  157. + mode == PHY_INTERFACE_MODE_RMII ||
  158. + mode == PHY_INTERFACE_MODE_SMII ||
  159. + mode == PHY_INTERFACE_MODE_NA;
  160. }
  161. static inline const char *zmii_mode_name(int mode)
  162. {
  163. switch (mode) {
  164. - case PHY_MODE_MII:
  165. + case PHY_INTERFACE_MODE_MII:
  166. return "MII";
  167. - case PHY_MODE_RMII:
  168. + case PHY_INTERFACE_MODE_RMII:
  169. return "RMII";
  170. - case PHY_MODE_SMII:
  171. + case PHY_INTERFACE_MODE_SMII:
  172. return "SMII";
  173. default:
  174. BUG();
  175. @@ -72,11 +72,11 @@ static inline const char *zmii_mode_name
  176. static inline u32 zmii_mode_mask(int mode, int input)
  177. {
  178. switch (mode) {
  179. - case PHY_MODE_MII:
  180. + case PHY_INTERFACE_MODE_MII:
  181. return ZMII_FER_MII(input);
  182. - case PHY_MODE_RMII:
  183. + case PHY_INTERFACE_MODE_RMII:
  184. return ZMII_FER_RMII(input);
  185. - case PHY_MODE_SMII:
  186. + case PHY_INTERFACE_MODE_SMII:
  187. return ZMII_FER_SMII(input);
  188. default:
  189. return 0;
  190. @@ -106,18 +106,18 @@ int zmii_attach(struct platform_device *
  191. * Please, always specify PHY mode in your board port to avoid
  192. * any surprises.
  193. */
  194. - if (dev->mode == PHY_MODE_NA) {
  195. - if (*mode == PHY_MODE_NA) {
  196. + if (dev->mode == PHY_INTERFACE_MODE_NA) {
  197. + if (*mode == PHY_INTERFACE_MODE_NA) {
  198. u32 r = dev->fer_save;
  199. ZMII_DBG(dev, "autodetecting mode, FER = 0x%08x" NL, r);
  200. if (r & (ZMII_FER_MII(0) | ZMII_FER_MII(1)))
  201. - dev->mode = PHY_MODE_MII;
  202. + dev->mode = PHY_INTERFACE_MODE_MII;
  203. else if (r & (ZMII_FER_RMII(0) | ZMII_FER_RMII(1)))
  204. - dev->mode = PHY_MODE_RMII;
  205. + dev->mode = PHY_INTERFACE_MODE_RMII;
  206. else
  207. - dev->mode = PHY_MODE_SMII;
  208. + dev->mode = PHY_INTERFACE_MODE_SMII;
  209. } else
  210. dev->mode = *mode;
  211. @@ -126,7 +126,7 @@ int zmii_attach(struct platform_device *
  212. zmii_mode_name(dev->mode));
  213. } else {
  214. /* All inputs must use the same mode */
  215. - if (*mode != PHY_MODE_NA && *mode != dev->mode) {
  216. + if (*mode != PHY_INTERFACE_MODE_NA && *mode != dev->mode) {
  217. printk(KERN_ERR
  218. "%pOF: invalid mode %d specified for input %d\n",
  219. ofdev->dev.of_node, *mode, input);
  220. @@ -246,7 +246,7 @@ static int zmii_probe(struct platform_de
  221. mutex_init(&dev->lock);
  222. dev->ofdev = ofdev;
  223. - dev->mode = PHY_MODE_NA;
  224. + dev->mode = PHY_INTERFACE_MODE_NA;
  225. rc = -ENXIO;
  226. if (of_address_to_resource(np, 0, &regs)) {