All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/28] [RFC] net: dpaa: Convert to phylink
@ 2022-06-17 20:32 ` Sean Anderson
  0 siblings, 0 replies; 129+ messages in thread
From: Sean Anderson @ 2022-06-17 20:32 UTC (permalink / raw)
  To: David S . Miller, Jakub Kicinski, Madalin Bucur, netdev
  Cc: linux-kernel, linux-arm-kernel, Paolo Abeni, Russell King,
	Eric Dumazet, Sean Anderson, Ioana Ciornei, Jonathan Corbet,
	Kishon Vijay Abraham I, Krzysztof Kozlowski, Li Yang,
	Rob Herring, Shawn Guo, Vinod Koul, devicetree, linux-phy

This series converts the DPAA driver to phylink. Additionally,
it also adds a serdes driver to allow for dynamic reconfiguration
between 1g and 10g interfaces (such as in an SFP+ slot). These changes
are submitted together for this RFC, but they will eventually be
submitted separately to the appropriate subsystem maintainers.

Only the mEMAC driver has gotten the phylink treatment for this RFC. I
would appreciate any help towards converting/testing the 10GEC and dTSEC
drivers. I don't have any boards with those MACs, so a large conversion
like this has a high risk of breakage.

I have tried to maintain backwards compatibility with existing device
trees whereever possible. However, one area where I was unable to
achieve this was with QSGMII. Please refer to patch 2 for details.

The serdes driver is mostly functional (but not quite, see patch 25).
However, I am not quite sure about the implementation details. I have made
a fairly extensive commentary on the driver in patch 1, so hopefully that
can provide some context. This series only adds support for the
LS1046ARDB SerDes, but it should be fairly straightforward to add
support for other SoCs and boards. Patches 26-27 should show the typical
steps.

Most of this series can be applied as-is. In particular, patches 4-21
are essentially cleanups which stand on their own merits.

Patches 4-8 were first submitted as [1].

[1] https://lore.kernel.org/netdev/20220531195851.1592220-1-sean.anderson@seco.com/


Sean Anderson (28):
  dt-bindings: phy: Add QorIQ SerDes binding
  dt-bindings: net: fman: Add additional interface properties
  phy: fsl: Add QorIQ SerDes driver
  net: fman: Convert to SPDX identifiers
  net: fman: Don't pass comm_mode to enable/disable
  net: fman: Store en/disable in mac_device instead of mac_priv_s
  net: fman: dtsec: Always gracefully stop/start
  net: fman: Get PCS node in per-mac init
  net: fman: Store initialization function in match data
  net: fman: Move struct dev to mac_device
  net: fman: Configure fixed link in memac_initialization
  net: fman: Export/rename some common functions
  net: fman: memac: Use params instead of priv for max_speed
  net: fman: Move initialization to mac-specific files
  net: fman: Mark mac methods static
  net: fman: Inline several functions into initialization
  net: fman: Remove internal_phy_node from params
  net: fman: Map the base address once
  net: fman: Pass params directly to mac init
  net: fman: Use mac_dev for some params
  net: fman: Clean up error handling
  net: fman: memac: Add serdes support
  net: fman: memac: Use lynx pcs driver
  net: dpaa: Use mac_dev variable in dpaa_netdev_init
  [RFC] net: dpaa: Convert to phylink
  arm64: dts: ls1046ardb: Add serdes bindings
  arm64: dts: ls1046a: Add SerDes bindings
  arm64: dts: ls1046a: Specify which MACs support RGMII

 .../devicetree/bindings/net/fsl-fman.txt      |   49 +-
 .../bindings/phy/fsl,qoriq-serdes.yaml        |   78 +
 Documentation/driver-api/phy/index.rst        |    1 +
 Documentation/driver-api/phy/qoriq.rst        |   91 ++
 MAINTAINERS                                   |    6 +
 .../boot/dts/freescale/fsl-ls1046-post.dtsi   |    8 +
 .../boot/dts/freescale/fsl-ls1046a-rdb.dts    |   32 +
 .../arm64/boot/dts/freescale/fsl-ls1046a.dtsi |   12 +
 drivers/net/ethernet/freescale/dpaa/Kconfig   |    4 +-
 .../net/ethernet/freescale/dpaa/dpaa_eth.c    |  100 +-
 .../ethernet/freescale/dpaa/dpaa_eth_sysfs.c  |    2 +-
 .../ethernet/freescale/dpaa/dpaa_ethtool.c    |   82 +-
 drivers/net/ethernet/freescale/fman/Makefile  |    3 +-
 drivers/net/ethernet/freescale/fman/fman.c    |   31 +-
 drivers/net/ethernet/freescale/fman/fman.h    |   31 +-
 .../net/ethernet/freescale/fman/fman_dtsec.c  |  319 ++--
 .../net/ethernet/freescale/fman/fman_dtsec.h  |   58 +-
 .../net/ethernet/freescale/fman/fman_keygen.c |   29 +-
 .../net/ethernet/freescale/fman/fman_keygen.h |   29 +-
 .../net/ethernet/freescale/fman/fman_mac.h    |   29 -
 .../net/ethernet/freescale/fman/fman_memac.c  |  864 +++++-----
 .../net/ethernet/freescale/fman/fman_memac.h  |   57 +-
 .../net/ethernet/freescale/fman/fman_muram.c  |   31 +-
 .../net/ethernet/freescale/fman/fman_muram.h  |   32 +-
 .../net/ethernet/freescale/fman/fman_port.c   |   29 +-
 .../net/ethernet/freescale/fman/fman_port.h   |   29 +-
 drivers/net/ethernet/freescale/fman/fman_sp.c |   29 +-
 drivers/net/ethernet/freescale/fman/fman_sp.h |   28 +-
 .../net/ethernet/freescale/fman/fman_tgec.c   |  155 +-
 .../net/ethernet/freescale/fman/fman_tgec.h   |   54 +-
 drivers/net/ethernet/freescale/fman/mac.c     |  645 +-------
 drivers/net/ethernet/freescale/fman/mac.h     |   62 +-
 drivers/phy/freescale/Kconfig                 |   19 +
 drivers/phy/freescale/Makefile                |    1 +
 drivers/phy/freescale/phy-qoriq.c             | 1441 +++++++++++++++++
 35 files changed, 2562 insertions(+), 1908 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/fsl,qoriq-serdes.yaml
 create mode 100644 Documentation/driver-api/phy/qoriq.rst
 create mode 100644 drivers/phy/freescale/phy-qoriq.c

-- 
2.35.1.1320.gc452695387.dirty


^ permalink raw reply	[flat|nested] 129+ messages in thread

end of thread, other threads:[~2022-06-27 23:07 UTC | newest]

Thread overview: 129+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-17 20:32 [PATCH net-next 00/28] [RFC] net: dpaa: Convert to phylink Sean Anderson
2022-06-17 20:32 ` Sean Anderson
2022-06-17 20:32 ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 01/28] dt-bindings: phy: Add QorIQ SerDes binding Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 23:27   ` Rob Herring
2022-06-17 23:27     ` Rob Herring
2022-06-17 23:27     ` Rob Herring
2022-06-18  1:15   ` Krzysztof Kozlowski
2022-06-18  1:15     ` Krzysztof Kozlowski
2022-06-18  1:15     ` Krzysztof Kozlowski
2022-06-18  3:38     ` Sean Anderson
2022-06-18  3:38       ` Sean Anderson
2022-06-18  3:38       ` Sean Anderson
2022-06-19 11:24       ` Krzysztof Kozlowski
2022-06-19 11:24         ` Krzysztof Kozlowski
2022-06-19 11:24         ` Krzysztof Kozlowski
2022-06-19 15:53         ` Sean Anderson
2022-06-19 15:53           ` Sean Anderson
2022-06-19 15:53           ` Sean Anderson
2022-06-20 10:54           ` Krzysztof Kozlowski
2022-06-20 10:54             ` Krzysztof Kozlowski
2022-06-20 10:54             ` Krzysztof Kozlowski
2022-06-20 17:19             ` Sean Anderson
2022-06-20 17:19               ` Sean Anderson
2022-06-20 17:19               ` Sean Anderson
2022-06-20 18:21               ` Krzysztof Kozlowski
2022-06-20 18:21                 ` Krzysztof Kozlowski
2022-06-20 18:21                 ` Krzysztof Kozlowski
2022-06-20 18:51                 ` Sean Anderson
2022-06-20 18:51                   ` Sean Anderson
2022-06-20 18:51                   ` Sean Anderson
2022-06-21  7:12                   ` Krzysztof Kozlowski
2022-06-21  7:12                     ` Krzysztof Kozlowski
2022-06-21  7:12                     ` Krzysztof Kozlowski
2022-06-17 20:32 ` [PATCH net-next 02/28] dt-bindings: net: fman: Add additional interface properties Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-18  1:16   ` Krzysztof Kozlowski
2022-06-18  1:16     ` Krzysztof Kozlowski
2022-06-18 15:55     ` Sean Anderson
2022-06-18 15:55       ` Sean Anderson
2022-06-19 10:33       ` Krzysztof Kozlowski
2022-06-19 10:33         ` Krzysztof Kozlowski
2022-06-27 23:05         ` Rob Herring
2022-06-27 23:05           ` Rob Herring
2022-06-17 20:32 ` [PATCH net-next 03/28] phy: fsl: Add QorIQ SerDes driver Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-18  3:02   ` kernel test robot
2022-06-18  3:02     ` kernel test robot
2022-06-18  3:02     ` kernel test robot
     [not found]   ` <GV1PR04MB905598703F5E9A0989662EFDE0AE9@GV1PR04MB9055.eurprd04.prod.outlook.com>
2022-06-18 12:39     ` Ioana Ciornei
2022-06-18 12:39       ` Ioana Ciornei
2022-06-18 12:39       ` Ioana Ciornei
2022-06-18 15:52       ` Sean Anderson
2022-06-18 15:52         ` Sean Anderson
2022-06-18 15:52         ` Sean Anderson
2022-06-20 18:53         ` Sean Anderson
2022-06-20 18:53           ` Sean Anderson
2022-06-20 18:53           ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 04/28] net: fman: Convert to SPDX identifiers Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 05/28] net: fman: Don't pass comm_mode to enable/disable Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 06/28] net: fman: Store en/disable in mac_device instead of mac_priv_s Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 07/28] net: fman: dtsec: Always gracefully stop/start Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 08/28] net: fman: Get PCS node in per-mac init Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 09/28] net: fman: Store initialization function in match data Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 10/28] net: fman: Move struct dev to mac_device Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-18  3:57   ` kernel test robot
2022-06-18  3:57     ` kernel test robot
2022-06-17 20:32 ` [PATCH net-next 11/28] net: fman: Configure fixed link in memac_initialization Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 12/28] net: fman: Export/rename some common functions Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 13/28] net: fman: memac: Use params instead of priv for max_speed Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 14/28] net: fman: Move initialization to mac-specific files Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:32 ` [PATCH net-next 15/28] net: fman: Mark mac methods static Sean Anderson
2022-06-17 20:32   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 16/28] net: fman: Inline several functions into initialization Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 17/28] net: fman: Remove internal_phy_node from params Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 18/28] net: fman: Map the base address once Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-18  2:01   ` kernel test robot
2022-06-18  2:01     ` kernel test robot
2022-06-17 20:33 ` [PATCH net-next 19/28] net: fman: Pass params directly to mac init Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 20/28] net: fman: Use mac_dev for some params Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 21/28] net: fman: Clean up error handling Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 22/28] net: fman: memac: Add serdes support Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 23/28] net: fman: memac: Use lynx pcs driver Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 24/28] net: dpaa: Use mac_dev variable in dpaa_netdev_init Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 25/28] [RFC] net: dpaa: Convert to phylink Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 22:01   ` Russell King (Oracle)
2022-06-17 22:01     ` Russell King (Oracle)
2022-06-18  0:45     ` Sean Anderson
2022-06-18  0:45       ` Sean Anderson
2022-06-18  8:22       ` Russell King (Oracle)
2022-06-18  8:22         ` Russell King (Oracle)
2022-06-18 15:58         ` Sean Anderson
2022-06-18 15:58           ` Sean Anderson
2022-06-23 22:39           ` Sean Anderson
2022-06-23 22:39             ` Sean Anderson
2022-06-24  0:24             ` Russell King (Oracle)
2022-06-24  0:24               ` Russell King (Oracle)
2022-06-27 15:17               ` Sean Anderson
2022-06-27 15:17                 ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 26/28] arm64: dts: ls1046ardb: Add serdes bindings Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 27/28] arm64: dts: ls1046a: Add SerDes bindings Sean Anderson
2022-06-17 20:33   ` Sean Anderson
2022-06-17 20:33 ` [PATCH net-next 28/28] arm64: dts: ls1046a: Specify which MACs support RGMII Sean Anderson
2022-06-17 20:33   ` Sean Anderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.