mbox series

[v3,0/3] Add MRMAC driver support

Message ID 20210702104035.18845-1-ashok.reddy.soma@xilinx.com
Headers show
Series Add MRMAC driver support | expand

Message

Ashok Reddy Soma July 2, 2021, 10:40 a.m. UTC
This patch set adds Xilinx AXI Multirate MAC(MRMAC) driver support.

This MRMAC is a high performance, low latency, adaptable Ethernet integrated
hard IP. This can be configured up to four ports with MAC rates from 10GE to
100GE.

Supported Configuration Combinations:
1 × 100GE
2 × 50GE
1 × 40GE
4 × 25GE
4 × 10GE

Currently added support and tested below configurations in the driver:
4 × 25GE
4 × 10GE

Changes in v3:
 - In V2 by mistake changed return type of isrxready() of xilinx_axi_emac
   driver instead of xilinx_axi_mrmac driver. Fixed it in V3.

Changes in v2:
 - Changed all static allocations to dynamic and freed them.
 - Used setbits_le32 and clrbits_le32 wherever applicable
 - All return's are changed to proper error codes instead of 1 or -1
 - Changed return type of isrxready() from int to bool
 - Changed all printf's to log_warning, and debug to log_debug
 - Added function headers with desciption
 - Changed all capital hex numbers to small hex numbers

Ashok Reddy Soma (3):
  net: ethtool: Add ethernet speed macros for higher speeds
  net: xilinx: axi_mrmac: Add MRMAC driver
  xilinx: versal: Enable Xilinx AXI MRMAC

 MAINTAINERS                          |   1 +
 configs/xilinx_versal_virt_defconfig |   1 +
 drivers/net/Kconfig                  |   9 +
 drivers/net/Makefile                 |   1 +
 drivers/net/xilinx_axi_mrmac.c       | 564 +++++++++++++++++++++++++++
 drivers/net/xilinx_axi_mrmac.h       | 203 ++++++++++
 include/linux/ethtool.h              |   8 +
 7 files changed, 787 insertions(+)
 create mode 100644 drivers/net/xilinx_axi_mrmac.c
 create mode 100644 drivers/net/xilinx_axi_mrmac.h

Comments

Michal Simek July 14, 2021, 6:57 a.m. UTC | #1
On 7/2/21 12:40 PM, Ashok Reddy Soma wrote:
> This patch set adds Xilinx AXI Multirate MAC(MRMAC) driver support.
> 
> This MRMAC is a high performance, low latency, adaptable Ethernet integrated
> hard IP. This can be configured up to four ports with MAC rates from 10GE to
> 100GE.
> 
> Supported Configuration Combinations:
> 1 × 100GE
> 2 × 50GE
> 1 × 40GE
> 4 × 25GE
> 4 × 10GE
> 
> Currently added support and tested below configurations in the driver:
> 4 × 25GE
> 4 × 10GE
> 
> Changes in v3:
>  - In V2 by mistake changed return type of isrxready() of xilinx_axi_emac
>    driver instead of xilinx_axi_mrmac driver. Fixed it in V3.
> 
> Changes in v2:
>  - Changed all static allocations to dynamic and freed them.
>  - Used setbits_le32 and clrbits_le32 wherever applicable
>  - All return's are changed to proper error codes instead of 1 or -1
>  - Changed return type of isrxready() from int to bool
>  - Changed all printf's to log_warning, and debug to log_debug
>  - Added function headers with desciption
>  - Changed all capital hex numbers to small hex numbers
> 
> Ashok Reddy Soma (3):
>   net: ethtool: Add ethernet speed macros for higher speeds
>   net: xilinx: axi_mrmac: Add MRMAC driver
>   xilinx: versal: Enable Xilinx AXI MRMAC
> 
>  MAINTAINERS                          |   1 +
>  configs/xilinx_versal_virt_defconfig |   1 +
>  drivers/net/Kconfig                  |   9 +
>  drivers/net/Makefile                 |   1 +
>  drivers/net/xilinx_axi_mrmac.c       | 564 +++++++++++++++++++++++++++
>  drivers/net/xilinx_axi_mrmac.h       | 203 ++++++++++
>  include/linux/ethtool.h              |   8 +
>  7 files changed, 787 insertions(+)
>  create mode 100644 drivers/net/xilinx_axi_mrmac.c
>  create mode 100644 drivers/net/xilinx_axi_mrmac.h
> 

Applied.
M