RE: [PATCH v6 net-next 11/12] net: enetc: add preliminary support for i.MX95 ENETC PF

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

 



> On Wed, Oct 30, 2024 at 05:39:22PM +0800, Wei Fang wrote:
> > The i.MX95 ENETC has been upgraded to revision 4.1, which is different
> > from the LS1028A ENETC (revision 1.0) except for the SI part.
> > Therefore, the fsl-enetc driver is incompatible with i.MX95 ENETC PF.
> > So add new
> > nxp-enetc4 driver to support i.MX95 ENETC PF, and this driver will be
> > used to support the ENETC PF with major revision 4 for other SoCs in
> > the future.
> >
> > Currently, the nxp-enetc4 driver only supports basic transmission
> > feature for i.MX95 ENETC PF, the more basic and advanced features will
> > be added in the subsequent patches. In addition, PCS support has not
> > been added yet, so 10G ENETC (ENETC instance 2) is not supported now.
> >
> > Signed-off-by: Wei Fang <wei.fang@xxxxxxx>
> > ---
> > v6:
> > 1. remove pinctrl_pm_select_default_state() 2. add macros to define
> > the vendor ID and device ID of ENETC PF
> > ---
> >  drivers/net/ethernet/freescale/enetc/Kconfig  |  17 +
> >  drivers/net/ethernet/freescale/enetc/Makefile |   3 +
> >  drivers/net/ethernet/freescale/enetc/enetc.c  |  86 +-
> > drivers/net/ethernet/freescale/enetc/enetc.h  |  30 +-
> > .../net/ethernet/freescale/enetc/enetc4_hw.h  | 155 ++++
> > .../net/ethernet/freescale/enetc/enetc4_pf.c  | 756 ++++++++++++++++++
> > .../ethernet/freescale/enetc/enetc_ethtool.c  |  35 +-
> >  .../net/ethernet/freescale/enetc/enetc_hw.h   |  19 +-
> >  .../net/ethernet/freescale/enetc/enetc_pf.c   |   7 +
> >  .../net/ethernet/freescale/enetc/enetc_pf.h   |   9 +
> >  .../freescale/enetc/enetc_pf_common.c         |  11 +-
> >  .../freescale/enetc/enetc_pf_common.h         |   5 +
> >  .../net/ethernet/freescale/enetc/enetc_qos.c  |   2 +-
> >  .../net/ethernet/freescale/enetc/enetc_vf.c   |   6 +
> >  14 files changed, 1113 insertions(+), 28 deletions(-)  create mode
> > 100644 drivers/net/ethernet/freescale/enetc/enetc4_hw.h
> >  create mode 100644 drivers/net/ethernet/freescale/enetc/enetc4_pf.c
> >
> > diff --git a/drivers/net/ethernet/freescale/enetc/Kconfig
> > b/drivers/net/ethernet/freescale/enetc/Kconfig
> > index e1b151a98b41..6c2779047dcd 100644
> > --- a/drivers/net/ethernet/freescale/enetc/Kconfig
> > +++ b/drivers/net/ethernet/freescale/enetc/Kconfig
> > @@ -33,6 +33,23 @@ config FSL_ENETC
> >
> >  	  If compiled as module (M), the module name is fsl-enetc.
> >
> > +config NXP_ENETC4
> > +	tristate "ENETC4 PF driver"
> > +	depends on PCI_MSI
> > +	select MDIO_DEVRES
> > +	select FSL_ENETC_CORE
> > +	select FSL_ENETC_MDIO
> > +	select NXP_ENETC_PF_COMMON
> > +	select PHYLINK
> > +	select DIMLIB
> > +	help
> > +	  This driver supports NXP ENETC devices with major revision 4. ENETC is
> > +	  as the NIC functionality in NETC, it supports virtualization/isolation
> > +	  based on PCIe Single Root IO Virtualization (SR-IOV) and a full range
> > +	  of TSN standards and NIC offload capabilities.
> > +
> > +	  If compiled as module (M), the module name is nxp-enetc4.
> > +
> >  config FSL_ENETC_VF
> >  	tristate "ENETC VF driver"
> >  	depends on PCI_MSI
> > diff --git a/drivers/net/ethernet/freescale/enetc/Makefile
> > b/drivers/net/ethernet/freescale/enetc/Makefile
> > index ebe232673ed4..6fd27ee4fcd1 100644
> > --- a/drivers/net/ethernet/freescale/enetc/Makefile
> > +++ b/drivers/net/ethernet/freescale/enetc/Makefile
> > @@ -11,6 +11,9 @@ fsl-enetc-y := enetc_pf.o
> >  fsl-enetc-$(CONFIG_PCI_IOV) += enetc_msg.o
> >  fsl-enetc-$(CONFIG_FSL_ENETC_QOS) += enetc_qos.o
> >
> > +obj-$(CONFIG_NXP_ENETC4) += nxp-enetc4.o nxp-enetc4-y := enetc4_pf.o
> > +
> >  obj-$(CONFIG_FSL_ENETC_VF) += fsl-enetc-vf.o  fsl-enetc-vf-y :=
> > enetc_vf.o
> >
> > diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c
> > b/drivers/net/ethernet/freescale/enetc/enetc.c
> > index 89d919c713df..4be7c767d1e9 100644
> > --- a/drivers/net/ethernet/freescale/enetc/enetc.c
> > +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
> > @@ -3,6 +3,7 @@
> >
> >  #include "enetc.h"
> 
> nit: generally private header file  should be after common header file.
> #include "..." should after #include <...>
> 

Yeah, but this is not the change of this patch. We can fix this nit in the future.

> Reviewed-by: Frank Li <Frank.Li@xxxxxxx>






[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux