mbox series

[net-next,v2,0/2] dpaa2-eth: Move DPAA2 Ethernet driver

Message ID 20180829094240.27242-1-ruxandra.radulescu@nxp.com
Headers show
Series dpaa2-eth: Move DPAA2 Ethernet driver | expand

Message

Ioana Radulescu Aug. 29, 2018, 9:42 a.m. UTC
The Freescale/NXP DPAA2 Ethernet driver was first included in
drivers/staging, due to its dependencies on two components located
there at the time of its initial submission:
* the fsl-mc bus driver, which was moved to drivers/bus in kernel 4.17
* the dpio driver, which was moved to drivers/soc/fsl in kernel 4.18

More information on the DPAA2 architecture and the interactions
between the fsl-mc bus and the objects present on it can be found in:
Documentation/networking/dpaa2/overview.rst

For easier review, the patch is generated without the -M option,
although the driver files are moved without any code changes.

changes since v1[1]:
* remove RFC label, since dependencies have been merged on net-next
* add patch fixing a possible race at probe (reported by Andrew Lunn)

[1] https://lore.kernel.org/patchwork/patch/971333/

Ioana Radulescu (2):
  staging: fsl-dpaa2/eth: Delay netdev_register() call
  dpaa2-eth: Move DPAA2 Ethernet driver from staging to drivers/net

 Documentation/networking/dpaa2/ethernet-driver.rst |  185 ++
 Documentation/networking/dpaa2/index.rst           |    1 +
 MAINTAINERS                                        |    4 +-
 drivers/net/ethernet/freescale/Kconfig             |    8 +
 drivers/net/ethernet/freescale/Makefile            |    2 +
 drivers/net/ethernet/freescale/dpaa2/Makefile      |   11 +
 .../net/ethernet/freescale/dpaa2/dpaa2-eth-trace.h |  158 ++
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c   | 2654 +++++++++++++++++++
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h   |  412 +++
 .../net/ethernet/freescale/dpaa2/dpaa2-ethtool.c   |  280 ++
 drivers/net/ethernet/freescale/dpaa2/dpkg.h        |  480 ++++
 drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h    |  518 ++++
 drivers/net/ethernet/freescale/dpaa2/dpni.c        | 1600 ++++++++++++
 drivers/net/ethernet/freescale/dpaa2/dpni.h        |  824 ++++++
 drivers/staging/fsl-dpaa2/Kconfig                  |    8 -
 drivers/staging/fsl-dpaa2/Makefile                 |    1 -
 drivers/staging/fsl-dpaa2/ethernet/Makefile        |   11 -
 drivers/staging/fsl-dpaa2/ethernet/TODO            |   18 -
 .../staging/fsl-dpaa2/ethernet/dpaa2-eth-trace.h   |  158 --
 drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c     | 2661 --------------------
 drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h     |  412 ---
 drivers/staging/fsl-dpaa2/ethernet/dpaa2-ethtool.c |  280 --
 drivers/staging/fsl-dpaa2/ethernet/dpkg.h          |  480 ----
 drivers/staging/fsl-dpaa2/ethernet/dpni-cmd.h      |  518 ----
 drivers/staging/fsl-dpaa2/ethernet/dpni.c          | 1600 ------------
 drivers/staging/fsl-dpaa2/ethernet/dpni.h          |  824 ------
 .../staging/fsl-dpaa2/ethernet/ethernet-driver.rst |  185 --
 27 files changed, 7135 insertions(+), 7158 deletions(-)
 create mode 100644 Documentation/networking/dpaa2/ethernet-driver.rst
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/Makefile
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-trace.h
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpkg.h
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpni-cmd.h
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpni.c
 create mode 100644 drivers/net/ethernet/freescale/dpaa2/dpni.h
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/Makefile
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/TODO
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth-trace.h
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/dpaa2-ethtool.c
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/dpkg.h
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/dpni-cmd.h
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/dpni.c
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/dpni.h
 delete mode 100644 drivers/staging/fsl-dpaa2/ethernet/ethernet-driver.rst

Comments

Dan Carpenter Aug. 29, 2018, 11:07 a.m. UTC | #1
There are a few static checker warnings for the driver but only the
first one looks like a possibly real bug.

drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c:1116 dpaa2_eth_stop() error: uninitialized symbol 'dpni_enabled'.
drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c:1671 set_fq_affinity() warn: 'xps_mask' puts 1024 bytes on stack
drivers/staging/fsl-dpaa2/ethsw/ethsw.c:742 port_vlans_add() error: uninitialized symbol 'err'.
drivers/staging/fsl-dpaa2/ethsw/ethsw.c:886 port_vlans_del() error: uninitialized symbol 'err'.

regards,
dan carpenter
Ioana Radulescu Aug. 29, 2018, 12:06 p.m. UTC | #2
> -----Original Message-----
> From: Dan Carpenter <dan.carpenter@oracle.com>
> Sent: Wednesday, August 29, 2018 2:08 PM
> To: Ioana Ciocoi Radulescu <ruxandra.radulescu@nxp.com>
> Cc: netdev@vger.kernel.org; davem@davemloft.net;
> devel@driverdev.osuosl.org; andrew@lunn.ch; Horia Geanta
> <horia.geanta@nxp.com>; Madalin-cristian Bucur
> <madalin.bucur@nxp.com>; gregkh@linuxfoundation.org; linux-
> kernel@vger.kernel.org; Ioana Ciornei <ioana.ciornei@nxp.com>; Laurentiu
> Tudor <laurentiu.tudor@nxp.com>
> Subject: Re: [PATCH net-next v2 0/2] dpaa2-eth: Move DPAA2 Ethernet
> driver
> 
> There are a few static checker warnings for the driver but only the
> first one looks like a possibly real bug.

Thanks for the report, what tool did you use to get these warnings?

> 
> drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c:1116 dpaa2_eth_stop()
> error: uninitialized symbol 'dpni_enabled'.

Will initialize in v3. Not actually a bug, since it's used only as an out param.

> drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c:1671 set_fq_affinity() warn:
> 'xps_mask' puts 1024 bytes on stack
> drivers/staging/fsl-dpaa2/ethsw/ethsw.c:742 port_vlans_add() error:
> uninitialized symbol 'err'.
> drivers/staging/fsl-dpaa2/ethsw/ethsw.c:886 port_vlans_del() error:
> uninitialized symbol 'err'.

The dpaa2 switch driver is not targeted by the current patchset, so I'll fix these
in a separate patch on Greg's staging tree.

Thanks,
Ioana
Dan Carpenter Aug. 29, 2018, 12:15 p.m. UTC | #3
On Wed, Aug 29, 2018 at 12:06:44PM +0000, Ioana Ciocoi Radulescu wrote:
> > 
> > There are a few static checker warnings for the driver but only the
> > first one looks like a possibly real bug.
> 
> Thanks for the report, what tool did you use to get these warnings?
> 

These are Smatch warnings, but you need to build the cross function DB
to see the warnings.

regards,
dan carpenter
David Miller Sept. 2, 2018, 12:17 a.m. UTC | #4
From: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Date: Wed, 29 Aug 2018 04:42:38 -0500

> The Freescale/NXP DPAA2 Ethernet driver was first included in
> drivers/staging, due to its dependencies on two components located
> there at the time of its initial submission:
> * the fsl-mc bus driver, which was moved to drivers/bus in kernel 4.17
> * the dpio driver, which was moved to drivers/soc/fsl in kernel 4.18
> 
> More information on the DPAA2 architecture and the interactions
> between the fsl-mc bus and the objects present on it can be found in:
> Documentation/networking/dpaa2/overview.rst
> 
> For easier review, the patch is generated without the -M option,
> although the driver files are moved without any code changes.
> 
> changes since v1[1]:
> * remove RFC label, since dependencies have been merged on net-next
> * add patch fixing a possible race at probe (reported by Andrew Lunn)
> 
> [1] https://lore.kernel.org/patchwork/patch/971333/

Series applied, thank you.