Merge branch 'sfc-Siena-subdir'
Martin Habets says: ==================== sfc: Move Siena into a separate subdirectory 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. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
39e85fe011
@ -17,14 +17,14 @@ config NET_VENDOR_SOLARFLARE
|
||||
if NET_VENDOR_SOLARFLARE
|
||||
|
||||
config SFC
|
||||
tristate "Solarflare SFC9000/SFC9100/EF100-family support"
|
||||
tristate "Solarflare SFC9100/EF100-family support"
|
||||
depends on PCI
|
||||
depends on PTP_1588_CLOCK_OPTIONAL
|
||||
select MDIO
|
||||
select CRC32
|
||||
help
|
||||
This driver supports 10/40-gigabit Ethernet cards based on
|
||||
the Solarflare SFC9000-family and SFC9100-family controllers.
|
||||
the Solarflare SFC9100-family controllers.
|
||||
|
||||
It also supports 10/25/40/100-gigabit Ethernet cards based
|
||||
on the Solarflare EF100 networking IP in Xilinx FPGAs.
|
||||
@ -47,11 +47,11 @@ config SFC_MCDI_MON
|
||||
This exposes the on-board firmware-managed sensors as a
|
||||
hardware monitor device.
|
||||
config SFC_SRIOV
|
||||
bool "Solarflare SFC9000-family SR-IOV support"
|
||||
bool "Solarflare SFC9000/SFC9100-family SR-IOV support"
|
||||
depends on SFC && PCI_IOV
|
||||
default y
|
||||
help
|
||||
This enables support for the SFC9000 I/O Virtualization
|
||||
This enables support for the Single Root I/O Virtualization
|
||||
features, allowing accelerated network performance in
|
||||
virtualized environments.
|
||||
config SFC_MCDI_LOGGING
|
||||
|
@ -1,6 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
sfc-y += efx.o efx_common.o efx_channels.o nic.o \
|
||||
farch.o siena.o ef10.o \
|
||||
ef10.o \
|
||||
tx.o tx_common.o tx_tso.o rx.o rx_common.o \
|
||||
selftest.o ethtool.o ethtool_common.o ptp.o \
|
||||
mcdi.o mcdi_port.o mcdi_port_common.o \
|
||||
@ -8,7 +8,7 @@ sfc-y += efx.o efx_common.o efx_channels.o nic.o \
|
||||
ef100.o ef100_nic.o ef100_netdev.o \
|
||||
ef100_ethtool.o ef100_rx.o ef100_tx.o
|
||||
sfc-$(CONFIG_SFC_MTD) += mtd.o
|
||||
sfc-$(CONFIG_SFC_SRIOV) += sriov.o siena_sriov.o ef10_sriov.o ef100_sriov.o
|
||||
sfc-$(CONFIG_SFC_SRIOV) += sriov.o ef10_sriov.o ef100_sriov.o
|
||||
|
||||
obj-$(CONFIG_SFC) += sfc.o
|
||||
|
||||
|
@ -795,10 +795,6 @@ static void efx_unregister_netdev(struct efx_nic *efx)
|
||||
|
||||
/* PCI device ID table */
|
||||
static const struct pci_device_id efx_pci_table[] = {
|
||||
{PCI_DEVICE(PCI_VENDOR_ID_SOLARFLARE, 0x0803), /* SFC9020 */
|
||||
.driver_data = (unsigned long) &siena_a0_nic_type},
|
||||
{PCI_DEVICE(PCI_VENDOR_ID_SOLARFLARE, 0x0813), /* SFL9021 */
|
||||
.driver_data = (unsigned long) &siena_a0_nic_type},
|
||||
{PCI_DEVICE(PCI_VENDOR_ID_SOLARFLARE, 0x0903), /* SFC9120 PF */
|
||||
.driver_data = (unsigned long) &efx_hunt_a0_nic_type},
|
||||
{PCI_DEVICE(PCI_VENDOR_ID_SOLARFLARE, 0x1903), /* SFC9120 VF */
|
||||
@ -1294,12 +1290,6 @@ static int __init efx_init_module(void)
|
||||
if (rc)
|
||||
goto err_notifier;
|
||||
|
||||
#ifdef CONFIG_SFC_SRIOV
|
||||
rc = efx_init_sriov();
|
||||
if (rc)
|
||||
goto err_sriov;
|
||||
#endif
|
||||
|
||||
rc = efx_create_reset_workqueue();
|
||||
if (rc)
|
||||
goto err_reset;
|
||||
@ -1319,10 +1309,6 @@ static int __init efx_init_module(void)
|
||||
err_pci:
|
||||
efx_destroy_reset_workqueue();
|
||||
err_reset:
|
||||
#ifdef CONFIG_SFC_SRIOV
|
||||
efx_fini_sriov();
|
||||
err_sriov:
|
||||
#endif
|
||||
unregister_netdevice_notifier(&efx_netdev_notifier);
|
||||
err_notifier:
|
||||
return rc;
|
||||
@ -1335,9 +1321,6 @@ static void __exit efx_exit_module(void)
|
||||
pci_unregister_driver(&ef100_pci_driver);
|
||||
pci_unregister_driver(&efx_pci_driver);
|
||||
efx_destroy_reset_workqueue();
|
||||
#ifdef CONFIG_SFC_SRIOV
|
||||
efx_fini_sriov();
|
||||
#endif
|
||||
unregister_netdevice_notifier(&efx_netdev_notifier);
|
||||
|
||||
}
|
||||
|
@ -301,10 +301,6 @@ struct efx_ef10_nic_data {
|
||||
int efx_ef10_tx_tso_desc(struct efx_tx_queue *tx_queue, struct sk_buff *skb,
|
||||
bool *data_mapped);
|
||||
|
||||
int efx_init_sriov(void);
|
||||
void efx_fini_sriov(void);
|
||||
|
||||
extern const struct efx_nic_type siena_a0_nic_type;
|
||||
extern const struct efx_nic_type efx_hunt_a0_nic_type;
|
||||
extern const struct efx_nic_type efx_hunt_a0_vf_nic_type;
|
||||
|
||||
|
17204
drivers/net/ethernet/sfc/siena/mcdi_pcol.h
Normal file
17204
drivers/net/ethernet/sfc/siena/mcdi_pcol.h
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user