Re: [PATCH net-next 0/2] Initial driver for Synopsys DWC XLGMAC

2016-12-09 Thread Carlos Palminha
Hi Jie,

I don't think we have the need to create the "dwc" subdirectory under 
"synopsys".
Its preferable to have them directly under drivers/net/ethernet/synopsys.

Regards,
C.Palminha

On 07-12-2016 03:57, Jie Deng wrote:
> This series provides the support for 25/40/50/100 GbE
> devices using Synopsys DWC Enterprise Ethernet (XLGMAC).
> 
> 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
> 


Re: [PATCH net-next 0/2] Initial driver for Synopsys DWC XLGMAC

2016-12-08 Thread Jie Deng


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
>>



Re: [PATCH net-next 0/2] Initial driver for Synopsys DWC XLGMAC

2016-12-08 Thread Alexandre Torgue

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






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



[PATCH net-next 0/2] Initial driver for Synopsys DWC XLGMAC

2016-12-06 Thread Jie Deng
This series provides the support for 25/40/50/100 GbE
devices using Synopsys DWC Enterprise Ethernet (XLGMAC).

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

-- 
1.9.1