Re: [net-next v5 0/5] net: stmmac: Add PCI driver support for BCM8958x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Paolo

On Tue, Sep 10, 2024 at 01:29:34PM +0200, Paolo Abeni wrote:
> On 9/4/24 07:48, jitendra.vegiraju@xxxxxxxxxxxx wrote:
> > From: Jitendra Vegiraju <jitendra.vegiraju@xxxxxxxxxxxx>
> > 
> > This patchset adds basic PCI ethernet device driver support for Broadcom
> > BCM8958x Automotive Ethernet switch SoC devices.
> > 
> > This SoC device has PCIe ethernet MAC attached to an integrated ethernet
> > switch using XGMII interface. The PCIe ethernet controller is presented to
> > the Linux host as PCI network device.
> > 
> > The following block diagram gives an overview of the application.
> >               +=================================+
> >               |       Host CPU/Linux            |
> >               +=================================+
> >                          || PCIe
> >                          ||
> >          +==========================================+
> >          |           +--------------+               |
> >          |           | PCIE Endpoint|               |
> >          |           | Ethernet     |               |
> >          |           | Controller   |               |
> >          |           |   DMA        |               |
> >          |           +--------------+               |
> >          |           |   MAC        |   BCM8958X    |
> >          |           +--------------+   SoC         |
> >          |               || XGMII                   |
> >          |               ||                         |
> >          |           +--------------+               |
> >          |           | Ethernet     |               |
> >          |           | switch       |               |
> >          |           +--------------+               |
> >          |             || || || ||                  |
> >          +==========================================+
> >                        || || || || More external interfaces
> > 
> > The MAC block on BCM8958x is based on Synopsis XGMAC 4.00a core. This
> > MAC IP introduces new DMA architecture called Hyper-DMA for virtualization
> > scalability.
> > 
> > Driver functionality specific to new MAC (DW25GMAC) is implemented in
> > new file dw25gmac.c.
> > 
> > Management of integrated ethernet switch on this SoC is not handled by
> > the PCIe interface.
> > This SoC device has PCIe ethernet MAC directly attached to an integrated
> > ethernet switch using XGMII interface.
> > 
> > v4->v5:
> >     Summary of changes in this patch series:
> >     As suggested by Serge Semin, defined common setup function for dw25gmac.
> >     To accommodate early adopter DW25GMAC used in BCM8958x device, provide
> >     a mechanism to override snps_id and snps_dev_id used for driver entry
> >     matching in hwif.c
> > 
> >     Patch1:
> >       Added plat_stmmacenet_data::snps_id,snps_dev_id fields - Serge Semin
> >     Patch2:
> >       Define common setup function for dw25gmac_setup() - Serge Semin
> >       Support DW25GMAC IPs with varying VDMA/PDMA count - Abhishek Chauhan
> >       Allocate and initialize hdma mapping configuration data dynamically
> >       based on device's VDMA/PDMA feature capabilities in dw25gmac_setup().
> >       Spelling errors in commit log, lower case 0x for hex -Amit Singh Tomar
> >     Patch3:
> >       Glue support in hwif.c for DW25GMAC in hwif.c - Serge Semin
> >       Provide an option to override snps_id and snps_dev_id when the device
> >       reports version info not conformant with driver's expectations as is
> >       the case with BCM8958x device. - Serge Semin
> >     Patch4:
> >       Remove setup function in the glue driver - Serge Semin
> >       Remove unnecessary calls pci_enable_device() and pci_set_master()
> >       in dwxgmac_brcm_pci_resume() - Jakub Kicinski
> >       Merge variable definitions to single line - Amit Singh Tomar
> > 
> > v3->v4:
> >     Based on Serge's questions, received a confirmation from Synopsys that
> >     the MAC IP is indeed the new 25GMAC design.
> >     Renamed all references of XGMAC4 to 25GMAC.
> >     The patch series is rearranged slightly as follows.
> >     Patch1 (new): Define HDMA mapping data structure in kernel's stmmac.h
> >     Patch2 (v3 Patch1): Adds dma_ops for dw25gmac in stmmac core
> >         Renamed new files dwxgmac4.* to dw25gmac.* - Serge Semin
> >         Defined new Synopsis version and device id macros for DW25GMAC.
> >         Converted bit operations to FIELD_PREP macros - Russell King
> >         Moved hwif.h to this patch, Sparse flagged warning - Simon Horman
> >         Defined macros for hardcoded values TDPS etc - Serge Semin
> >         Read number of PDMAs/VDMAs from hardware - Serge Semin
> >     Patch3 (v3 Patch2): Hooks in hardware interface handling for dw25gmac
> >         Resolved user_version quirks questions - Serge, Russell, Andrew
> >         Added new stmmac_hw entry for DW25GMAC. - Serge
> >         Added logic to override synopsis_dev_id by glue driver.
> >     Patch4 (v3 Patch3): Adds PCI driver for BCM8958x device
> >         Define bitmmap macros for hardcoded values - Andrew Lunn
> >         Added per device software node - Andrew Lunn
> >     Patch5(new/split): Adds BCM8958x driver to build system
> >     https://lore.kernel.org/netdev/20240814221818.2612484-1-jitendra.vegiraju@xxxxxxxxxxxx/
> > 
> > v2->v3:
> >     Addressed v2 comments from Andrew, Jakub, Russel and Simon.
> >     Based on suggestion by Russel and Andrew, added software node to create
> >     phylink in fixed-link mode.
> >     Moved dwxgmac4 specific functions to new files dwxgmac4.c and dwxgmac4.h
> >     in stmmac core module.
> >     Reorganized the code to use the existing glue logic support for xgmac in
> >     hwif.c and override ops functions for dwxgmac4 specific functions.
> >     The patch is split into three parts.
> >       Patch#1 Adds dma_ops for dwxgmac4 in stmmac core
> >       Patch#2 Hooks in the hardware interface handling for dwxgmac4
> >       Patch#3 Adds PCI driver for BCM8958x device
> >     https://lore.kernel.org/netdev/20240802031822.1862030-1-jitendra.vegiraju@xxxxxxxxxxxx/
> > 
> > v1->v2:
> >     Minor fixes to address coding style issues.
> >     Sent v2 too soon by mistake, without waiting for review comments.
> >     Received feedback on this version.
> >     https://lore.kernel.org/netdev/20240511015924.41457-1-jitendra.vegiraju@xxxxxxxxxxxx/
> > 
> > v1:
> >     https://lore.kernel.org/netdev/20240510000331.154486-1-jitendra.vegiraju@xxxxxxxxxxxx/
> > 
> > Jitendra Vegiraju (5):
> >    Add HDMA mapping for dw25gmac support
> >    Add basic dw25gmac support in stmmac core
> >    Integrate dw25gmac into stmmac hwif handling
> >    Add PCI driver support for BCM8958x
> >    Add BCM8958x driver to build system
> > 
> >   MAINTAINERS                                   |   8 +
> >   drivers/net/ethernet/stmicro/stmmac/Kconfig   |  11 +
> >   drivers/net/ethernet/stmicro/stmmac/Makefile  |   3 +-
> >   drivers/net/ethernet/stmicro/stmmac/common.h  |   4 +
> >   .../net/ethernet/stmicro/stmmac/dw25gmac.c    | 224 ++++++++
> >   .../net/ethernet/stmicro/stmmac/dw25gmac.h    |  92 ++++
> >   .../net/ethernet/stmicro/stmmac/dwmac-brcm.c  | 507 ++++++++++++++++++
> >   .../net/ethernet/stmicro/stmmac/dwxgmac2.h    |   1 +
> >   .../ethernet/stmicro/stmmac/dwxgmac2_core.c   |  43 ++
> >   .../ethernet/stmicro/stmmac/dwxgmac2_dma.c    |  31 ++
> >   drivers/net/ethernet/stmicro/stmmac/hwif.c    |  26 +-
> >   drivers/net/ethernet/stmicro/stmmac/hwif.h    |   1 +
> >   include/linux/stmmac.h                        |  48 ++
> >   13 files changed, 997 insertions(+), 2 deletions(-)
> >   create mode 100644 drivers/net/ethernet/stmicro/stmmac/dw25gmac.c
> >   create mode 100644 drivers/net/ethernet/stmicro/stmmac/dw25gmac.h
> >   create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-brcm.c
> 

> Hi Serge, to you think you will have time to review this series soon?
> 
> We are sort in a rush to flush the net-next material before the upcoming
> merge window.

I'll get back to reviewing the series today. Sorry for the
inconvenience.

-Serge(y)

> 
> Thanks,
> 
> Paolo
> 




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux