netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v3 00/13]: Move Siena into a separate subdirectory
@ 2022-05-04  7:49 Martin Habets
  2022-05-04  7:49 ` [PATCH net-next v3 01/13] sfc: Disable Siena support Martin Habets
                   ` (15 more replies)
  0 siblings, 16 replies; 20+ messages in thread
From: Martin Habets @ 2022-05-04  7:49 UTC (permalink / raw)
  To: kuba, edumazet, pabeni, davem; +Cc: netdev, ecree.xilinx

The Siena NICs (SFN5000 and SFN6000 series) went EOL in November 2021.
Most of these adapters have been remove from our test labs, and testing
has been reduced to a minimum.

This patch series creates a separate kernel module for the Siena architecture,
analogous to what was done for Falcon some years ago.
This reduces our maintenance for the sfc.ko module, and allows us to
enhance the EF10 and EF100 drivers without the risk of breaking Siena NICs.

After this series further enhancements are needed to differentiate the
new kernel module from sfc.ko, and the Siena code can be removed from sfc.ko.
Thes will be posted as a small follow-up series.
The Siena module is not built by default, but can be enabled
using Kconfig option SFC_SIENA. This will create module sfc-siena.ko.

	Patches

Patch 1 disables the Siena code in the sfc.ko module.
Patches 2-6 establish the code base for the Siena driver.
Patches 7-12 ensure the allyesconfig build succeeds.
Patch 13 adds the basic Siena module.

I do not expect patch 2 through 5 to be reviewed, they are FYI only.
No checkpatch issues were resolved as part of these, but they
were fixed in the subsequent patches.

	Testing

Various build tests were done such as allyesconfig, W=1 and sparse.
The new sfc-siena.ko and sfc.ko modules were tested on a machine with both
these NICs in them, and several tests were run on both drivers.

Martin
---

v3:
- Fix build errors after rebase.

v2:
- Split up patch that copies existing files.
- Only copy a subset of mcdi_pcol.h.
- Use --find-copies-harder as suggested by Benjamin Poirier.
- Merge several patches for the allyesconfig build into larger ones.

---

Martin Habets (13):
      sfc: Disable Siena support
      sfc: Move Siena specific files
      sfc: Copy shared files needed for Siena (part 1)
      sfc: Copy shared files needed for Siena (part 2)
      sfc: Copy a subset of mcdi_pcol.h to siena
      sfc/siena: Remove build references to missing functionality
      sfc/siena: Rename functions in efx headers to avoid conflicts with sfc
      sfc/siena: Rename RX/TX functions to avoid conflicts with sfc
      sfc/siena: Rename peripheral functions to avoid conflicts with sfc
      sfc/siena: Rename functions in mcdi headers to avoid conflicts with sfc
      sfc/siena: Rename functions in nic_common.h to avoid conflicts with sfc
      sfc/siena: Inline functions in sriov.h to avoid conflicts with sfc
      sfc: Add a basic Siena module


 drivers/net/ethernet/sfc/Kconfig                  |    9 
 drivers/net/ethernet/sfc/Makefile                 |    5 
 drivers/net/ethernet/sfc/efx.c                    |   17 
 drivers/net/ethernet/sfc/nic.h                    |    4 
 drivers/net/ethernet/sfc/siena/Kconfig            |   12 
 drivers/net/ethernet/sfc/siena/Makefile           |   11 
 drivers/net/ethernet/sfc/siena/bitfield.h         |    0 
 drivers/net/ethernet/sfc/siena/efx.c              |  231 
 drivers/net/ethernet/sfc/siena/efx.h              |  218 
 drivers/net/ethernet/sfc/siena/efx_channels.c     | 1376 ++
 drivers/net/ethernet/sfc/siena/efx_channels.h     |   45 
 drivers/net/ethernet/sfc/siena/efx_common.c       | 1408 ++
 drivers/net/ethernet/sfc/siena/efx_common.h       |  118 
 drivers/net/ethernet/sfc/siena/enum.h             |  176 
 drivers/net/ethernet/sfc/siena/ethtool.c          |  282 
 drivers/net/ethernet/sfc/siena/ethtool_common.c   | 1340 ++
 drivers/net/ethernet/sfc/siena/ethtool_common.h   |   60 
 drivers/net/ethernet/sfc/siena/farch.c            |   58 
 drivers/net/ethernet/sfc/siena/farch_regs.h       |    0 
 drivers/net/ethernet/sfc/siena/filter.h           |    0 
 drivers/net/ethernet/sfc/siena/io.h               |    0 
 drivers/net/ethernet/sfc/siena/mcdi.c             | 2259 +++
 drivers/net/ethernet/sfc/siena/mcdi.h             |  386 
 drivers/net/ethernet/sfc/siena/mcdi_mon.c         |  531 +
 drivers/net/ethernet/sfc/siena/mcdi_pcol.h        |17204 +++++++++++++++++++++
 drivers/net/ethernet/sfc/siena/mcdi_port.c        |  110 
 drivers/net/ethernet/sfc/siena/mcdi_port.h        |   17 
 drivers/net/ethernet/sfc/siena/mcdi_port_common.c | 1282 ++
 drivers/net/ethernet/sfc/siena/mcdi_port_common.h |   58 
 drivers/net/ethernet/sfc/siena/mtd.c              |  124 
 drivers/net/ethernet/sfc/siena/net_driver.h       | 1715 ++
 drivers/net/ethernet/sfc/siena/nic.c              |  530 +
 drivers/net/ethernet/sfc/siena/nic.h              |  192 
 drivers/net/ethernet/sfc/siena/nic_common.h       |  251 
 drivers/net/ethernet/sfc/siena/ptp.c              | 2200 +++
 drivers/net/ethernet/sfc/siena/ptp.h              |   45 
 drivers/net/ethernet/sfc/siena/rx.c               |  400 
 drivers/net/ethernet/sfc/siena/rx_common.c        | 1094 +
 drivers/net/ethernet/sfc/siena/rx_common.h        |  110 
 drivers/net/ethernet/sfc/siena/selftest.c         |  807 +
 drivers/net/ethernet/sfc/siena/selftest.h         |   52 
 drivers/net/ethernet/sfc/siena/siena.c            |  158 
 drivers/net/ethernet/sfc/siena/siena_sriov.c      |   35 
 drivers/net/ethernet/sfc/siena/siena_sriov.h      |    0 
 drivers/net/ethernet/sfc/siena/sriov.h            |   83 
 drivers/net/ethernet/sfc/siena/tx.c               |  399 
 drivers/net/ethernet/sfc/siena/tx.h               |   40 
 drivers/net/ethernet/sfc/siena/tx_common.c        |  448 +
 drivers/net/ethernet/sfc/siena/tx_common.h        |   39 
 drivers/net/ethernet/sfc/siena/vfdi.h             |    0 
 drivers/net/ethernet/sfc/siena/workarounds.h      |   28 
 51 files changed, 35490 insertions(+), 477 deletions(-)
 create mode 100644 drivers/net/ethernet/sfc/siena/Kconfig
 create mode 100644 drivers/net/ethernet/sfc/siena/Makefile
 copy drivers/net/ethernet/sfc/{bitfield.h => siena/bitfield.h} (100%)
 copy drivers/net/ethernet/sfc/{efx.c => siena/efx.c} (84%)
 create mode 100644 drivers/net/ethernet/sfc/siena/efx.h
 create mode 100644 drivers/net/ethernet/sfc/siena/efx_channels.c
 create mode 100644 drivers/net/ethernet/sfc/siena/efx_channels.h
 create mode 100644 drivers/net/ethernet/sfc/siena/efx_common.c
 create mode 100644 drivers/net/ethernet/sfc/siena/efx_common.h
 create mode 100644 drivers/net/ethernet/sfc/siena/enum.h
 create mode 100644 drivers/net/ethernet/sfc/siena/ethtool.c
 create mode 100644 drivers/net/ethernet/sfc/siena/ethtool_common.c
 create mode 100644 drivers/net/ethernet/sfc/siena/ethtool_common.h
 rename drivers/net/ethernet/sfc/{farch.c => siena/farch.c} (98%)
 copy drivers/net/ethernet/sfc/{farch_regs.h => siena/farch_regs.h} (100%)
 copy drivers/net/ethernet/sfc/{filter.h => siena/filter.h} (100%)
 copy drivers/net/ethernet/sfc/{io.h => siena/io.h} (100%)
 create mode 100644 drivers/net/ethernet/sfc/siena/mcdi.c
 create mode 100644 drivers/net/ethernet/sfc/siena/mcdi.h
 create mode 100644 drivers/net/ethernet/sfc/siena/mcdi_mon.c
 create mode 100644 drivers/net/ethernet/sfc/siena/mcdi_pcol.h
 create mode 100644 drivers/net/ethernet/sfc/siena/mcdi_port.c
 create mode 100644 drivers/net/ethernet/sfc/siena/mcdi_port.h
 create mode 100644 drivers/net/ethernet/sfc/siena/mcdi_port_common.c
 create mode 100644 drivers/net/ethernet/sfc/siena/mcdi_port_common.h
 create mode 100644 drivers/net/ethernet/sfc/siena/mtd.c
 create mode 100644 drivers/net/ethernet/sfc/siena/net_driver.h
 create mode 100644 drivers/net/ethernet/sfc/siena/nic.c
 copy drivers/net/ethernet/sfc/{nic.h => siena/nic.h} (51%)
 create mode 100644 drivers/net/ethernet/sfc/siena/nic_common.h
 create mode 100644 drivers/net/ethernet/sfc/siena/ptp.c
 create mode 100644 drivers/net/ethernet/sfc/siena/ptp.h
 create mode 100644 drivers/net/ethernet/sfc/siena/rx.c
 create mode 100644 drivers/net/ethernet/sfc/siena/rx_common.c
 create mode 100644 drivers/net/ethernet/sfc/siena/rx_common.h
 create mode 100644 drivers/net/ethernet/sfc/siena/selftest.c
 create mode 100644 drivers/net/ethernet/sfc/siena/selftest.h
 rename drivers/net/ethernet/sfc/{siena.c => siena/siena.c} (89%)
 rename drivers/net/ethernet/sfc/{siena_sriov.c => siena/siena_sriov.c} (98%)
 rename drivers/net/ethernet/sfc/{siena_sriov.h => siena/siena_sriov.h} (100%)
 create mode 100644 drivers/net/ethernet/sfc/siena/sriov.h
 create mode 100644 drivers/net/ethernet/sfc/siena/tx.c
 create mode 100644 drivers/net/ethernet/sfc/siena/tx.h
 create mode 100644 drivers/net/ethernet/sfc/siena/tx_common.c
 create mode 100644 drivers/net/ethernet/sfc/siena/tx_common.h
 copy drivers/net/ethernet/sfc/{vfdi.h => siena/vfdi.h} (100%)
 create mode 100644 drivers/net/ethernet/sfc/siena/workarounds.h

--
Martin Habets <habetsm.xilinx@gmail.com>


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2022-05-09  8:49 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-04  7:49 [PATCH net-next v3 00/13]: Move Siena into a separate subdirectory Martin Habets
2022-05-04  7:49 ` [PATCH net-next v3 01/13] sfc: Disable Siena support Martin Habets
2022-05-04  7:50 ` [PATCH net-next v3 02/13] sfc: Move Siena specific files Martin Habets
2022-05-04  7:50 ` [PATCH net-next v3 03/13] sfc: Copy shared files needed for Siena (part 1) Martin Habets
2022-05-04  7:50 ` [PATCH net-next v3 04/13] sfc: Copy shared files needed for Siena (part 2) Martin Habets
2022-05-04  7:50 ` [PATCH net-next v3 05/13] sfc: Copy a subset of mcdi_pcol.h to siena Martin Habets
2022-05-04  7:50 ` [PATCH net-next v3 06/13] sfc/siena: Remove build references to missing functionality Martin Habets
2022-05-04  7:51 ` [PATCH net-next v3 07/13] sfc/siena: Rename functions in efx headers to avoid conflicts with sfc Martin Habets
2022-05-04  7:51 ` [PATCH net-next v3 08/13] sfc/siena: Rename RX/TX functions " Martin Habets
2022-05-04  7:51 ` [PATCH net-next v3 09/13] sfc/siena: Rename peripheral " Martin Habets
2022-05-04  7:51 ` [PATCH net-next v3 10/13] sfc/siena: Rename functions in mcdi headers " Martin Habets
2022-05-04  7:51 ` [PATCH net-next v3 11/13] sfc/siena: Rename functions in nic_common.h " Martin Habets
2022-05-04  7:52 ` [PATCH net-next v3 12/13] sfc/siena: Inline functions in sriov.h " Martin Habets
2022-05-04  7:52 ` [PATCH net-next v3 13/13] sfc: Add a basic Siena module Martin Habets
2022-05-04 10:10 ` [PATCH net-next v3 00/13]: Move Siena into a separate subdirectory patchwork-bot+netdevbpf
2022-05-04 10:20 ` patchwork-bot+netdevbpf
2022-05-05  3:45 ` Jakub Kicinski
2022-05-05 13:00   ` Martin Habets
2022-05-05 16:28     ` Jakub Kicinski
2022-05-09  8:13       ` Martin Habets

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).