On 2016/12/8 23:59, Alexandre Torgue wrote: > Hi > > On 12/07/2016 04:57 AM, Jie Deng wrote: >> This series provides the support for 25/40/50/100 GbE >> devices using Synopsys DWC Enterprise Ethernet (XLGMAC). > > Can you explain which GMAC are you targeted ? > > A driver which support some Synopsys GMAC IP already exists. It support GMAC > 3.5, 3.7, 4.0, 4.10 versions. You can find it in: > drivers/net/ethernet/stmicro/stmmac/. When I look at all files your gonna to > create, it looks like to ones in stmmac driver so maybe you could easily add > your IP inside stmmac driver. > > Note that an other driver is existing for synopsys GMAC 4.0 IP. it is located > in drivers/net/ethernet/synopsys/dwc_eth_qos.c and coming from AXIS guys. A > task is ongoing to only have stmmac driver so it should be harmful to create a > new one. > > Regards > Alex > I didn't target any version of GMAC IP. GMAC IP (QoS IP) currently has two drivers in mainline drivers/net/ethernet/synopsys/dwc_eth_qos.c drivers/net/ethernet/stmicro/stmmac/
XGMAC IP: drivers/net/ethernet/amd/xgbe XLGMAC IP: no driver in mainline at present For more info about Synopsys Ethernet IP, Please check: http://www.synopsys.com/IP/InterfaceIP/Ethernet/Pages/default.aspx I think it should be better to integrate above drivers into drivers/net/ethernet/synopsys/. This helps to reuse codes and makes maintenance easier. I prefer to choose AMD XGBE as a basis. This driver integrated Synopsys internal driver and had most features supported. What do you think about this ? > > > >> >> The first patch adds support for Synopsys XLGMII. >> The second patch provides the initial driver for Synopsys XLGMAC >> >> The driver has three layers by refactoring AMD XGBE. >> >> dwc-eth-xxx.x >> The DWC ethernet core layer (DWC ECL). This layer contains codes >> can be shared by different DWC series ethernet cores >> >> dwc-xxx.x (e.g. dwc-xlgmac.c) >> The DWC MAC HW adapter layer (DWC MHAL). This layer contains >> special support for a specific MAC. e.g. currently, XLGMAC. >> >> xxx-xxx-pci.c xxx-xxx-plat.c (e.g. dwc-xlgmac-pci.c) >> The glue adapter layer (GAL). Vendors who adopt Synopsys Etherent >> cores can develop a glue driver for their platform. >> >> Jie Deng (2): >> net: phy: add extension of phy-mode for XLGMII >> net: ethernet: Initial driver for Synopsys DWC XLGMAC >> >> Documentation/devicetree/bindings/net/ethernet.txt | 1 + >> MAINTAINERS | 6 + >> drivers/net/ethernet/synopsys/Kconfig | 2 + >> drivers/net/ethernet/synopsys/Makefile | 1 + >> drivers/net/ethernet/synopsys/dwc/Kconfig | 37 + >> drivers/net/ethernet/synopsys/dwc/Makefile | 9 + >> drivers/net/ethernet/synopsys/dwc/dwc-eth-dcb.c | 228 ++ >> .../net/ethernet/synopsys/dwc/dwc-eth-debugfs.c | 328 +++ >> drivers/net/ethernet/synopsys/dwc/dwc-eth-desc.c | 715 +++++ >> .../net/ethernet/synopsys/dwc/dwc-eth-ethtool.c | 567 ++++ >> drivers/net/ethernet/synopsys/dwc/dwc-eth-hw.c | 3098 >> ++++++++++++++++++++ >> drivers/net/ethernet/synopsys/dwc/dwc-eth-mdio.c | 252 ++ >> drivers/net/ethernet/synopsys/dwc/dwc-eth-net.c | 2319 +++++++++++++++ >> drivers/net/ethernet/synopsys/dwc/dwc-eth-ptp.c | 216 ++ >> drivers/net/ethernet/synopsys/dwc/dwc-eth-regacc.h | 1115 +++++++ >> drivers/net/ethernet/synopsys/dwc/dwc-eth.h | 738 +++++ >> drivers/net/ethernet/synopsys/dwc/dwc-xlgmac-pci.c | 538 ++++ >> drivers/net/ethernet/synopsys/dwc/dwc-xlgmac.c | 135 + >> drivers/net/ethernet/synopsys/dwc/dwc-xlgmac.h | 85 + >> include/linux/phy.h | 3 + >> 20 files changed, 10393 insertions(+) >> create mode 100644 drivers/net/ethernet/synopsys/dwc/Kconfig >> create mode 100644 drivers/net/ethernet/synopsys/dwc/Makefile >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-dcb.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-debugfs.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-desc.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-ethtool.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-hw.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-mdio.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-net.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-ptp.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth-regacc.h >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-eth.h >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-xlgmac-pci.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-xlgmac.c >> create mode 100644 drivers/net/ethernet/synopsys/dwc/dwc-xlgmac.h >>