mbox series

[net-next,v3,00/14] net:yt6801: Add Motorcomm yt6801 PCIe driver

Message ID 20250228100020.3944-1-Frank.Sae@motor-comm.com (mailing list archive)
Headers show
Series net:yt6801: Add Motorcomm yt6801 PCIe driver | expand

Message

Frank Sae Feb. 28, 2025, 10 a.m. UTC
This series includes adding Motorcomm YT6801 Gigabit ethernet driver
 and adding yt6801 ethernet driver entry in MAINTAINERS file.
YT6801 integrates a YT8531S phy.

Signed-off-by: Frank Sae <Frank.Sae@motor-comm.com>
---

v3:
 - Remove about 5000 lines of code
 - Remove statistics, ethtool, WoL, PHY handling ...
 - Reorganize this driver code and remove redundant code
 - Remove unnecessary yt_dbg information
 - Remove netif_carrier_on/netif_carrier_off
 - Remove hw_ops
 - Add PHY_INTERFACE_MODE_INTERNAL mode in phy driver to support yt6801
 - replease '#ifdef CONFIG_PCI_MSI' as 'if (IS_ENABLED(CONFIG_PCI_MSI) {}'
 - replease ‘fxgmac_pdata val’ as 'priv'

v2: https://patchwork.kernel.org/project/netdevbpf/cover/20241120105625.22508-1-Frank.Sae@motor-comm.com/
 - Split this driver into multiple patches.
 - Reorganize this driver code and remove redundant code
 - Remove PHY handling code and use phylib.
 - Remove writing ASPM config
 - Use generic power management instead of pci_driver.suspend()/resume()
 - Add Space before closing "*/"

v1: https://patchwork.kernel.org/project/netdevbpf/patch/20240913124113.9174-1-Frank.Sae@motor-comm.com/


This patch is to add the ethernet device driver for the PCIe interface of
 Motorcomm YT6801 Gigabit Ethernet.
We tested this driver on an Ubuntu x86 PC with YT6801 network card.

Frank Sae (14):
  motorcomm:yt6801: Implement mdio register
  motorcomm:yt6801: Add support for a pci table in this module
  motorcomm:yt6801: Implement pci_driver shutdown
  motorcomm:yt6801: Implement the fxgmac_init function
  motorcomm:yt6801: Implement the .ndo_open function
  motorcomm:yt6801: Implement the fxgmac_start function
  phy:motorcomm: Add PHY_INTERFACE_MODE_INTERNAL to support YT6801
  motorcomm:yt6801: Implement the fxgmac_hw_init function
  motorcomm:yt6801: Implement the poll functions
  motorcomm:yt6801: Implement .ndo_start_xmit function
  motorcomm:yt6801: Implement some net_device_ops function
  motorcomm:yt6801: Implement pci_driver suspend and resume
  motorcomm:yt6801: Add makefile and Kconfig
  motorcomm:yt6801: update ethernet documentation and maintainer

 .../device_drivers/ethernet/index.rst         |    1 +
 .../ethernet/motorcomm/yt6801.rst             |   20 +
 MAINTAINERS                                   |    8 +
 drivers/net/ethernet/Kconfig                  |    1 +
 drivers/net/ethernet/Makefile                 |    1 +
 drivers/net/ethernet/motorcomm/Kconfig        |   27 +
 drivers/net/ethernet/motorcomm/Makefile       |    6 +
 .../net/ethernet/motorcomm/yt6801/Makefile    |    8 +
 .../net/ethernet/motorcomm/yt6801/yt6801.h    |  379 +++
 .../ethernet/motorcomm/yt6801/yt6801_desc.c   |  571 ++++
 .../ethernet/motorcomm/yt6801/yt6801_desc.h   |   35 +
 .../ethernet/motorcomm/yt6801/yt6801_net.c    | 2876 +++++++++++++++++
 .../ethernet/motorcomm/yt6801/yt6801_pci.c    |  186 ++
 .../ethernet/motorcomm/yt6801/yt6801_type.h   |  967 ++++++
 drivers/net/phy/motorcomm.c                   |    6 +
 15 files changed, 5092 insertions(+)
 create mode 100644 Documentation/networking/device_drivers/ethernet/motorcomm/yt6801.rst
 create mode 100644 drivers/net/ethernet/motorcomm/Kconfig
 create mode 100644 drivers/net/ethernet/motorcomm/Makefile
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/Makefile
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801.h
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_desc.c
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_desc.h
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_net.c
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_pci.c
 create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_type.h

Comments

Simon Horman March 4, 2025, 3:48 p.m. UTC | #1
On Fri, Feb 28, 2025 at 06:00:06PM +0800, Frank Sae wrote:
> This series includes adding Motorcomm YT6801 Gigabit ethernet driver
>  and adding yt6801 ethernet driver entry in MAINTAINERS file.
> YT6801 integrates a YT8531S phy.
> 
> Signed-off-by: Frank Sae <Frank.Sae@motor-comm.com>

...

> Frank Sae (14):
>   motorcomm:yt6801: Implement mdio register
>   motorcomm:yt6801: Add support for a pci table in this module
>   motorcomm:yt6801: Implement pci_driver shutdown
>   motorcomm:yt6801: Implement the fxgmac_init function
>   motorcomm:yt6801: Implement the .ndo_open function
>   motorcomm:yt6801: Implement the fxgmac_start function
>   phy:motorcomm: Add PHY_INTERFACE_MODE_INTERNAL to support YT6801
>   motorcomm:yt6801: Implement the fxgmac_hw_init function
>   motorcomm:yt6801: Implement the poll functions
>   motorcomm:yt6801: Implement .ndo_start_xmit function
>   motorcomm:yt6801: Implement some net_device_ops function
>   motorcomm:yt6801: Implement pci_driver suspend and resume
>   motorcomm:yt6801: Add makefile and Kconfig
>   motorcomm:yt6801: update ethernet documentation and maintainer

Hi Frank,

I'd like to suggest the following prefixes for these patches and cover
letter:

* "yt6801: "
* "net: phy: motorcomm: "