linux_dsm_epyc7002/drivers/net/ethernet/freescale
Claudiu Manoil d4fd0404c1 enetc: Introduce basic PF and VF ENETC ethernet drivers
ENETC is a multi-port virtualized Ethernet controller supporting GbE
designs and Time-Sensitive Networking (TSN) functionality.
ENETC is operating as an SR-IOV multi-PF capable Root Complex Integrated
Endpoint (RCIE).  As such, it contains multiple physical (PF) and
virtual (VF) PCIe functions, discoverable by standard PCI Express.

Introduce basic PF and VF ENETC ethernet drivers.  The PF has access to
the ENETC Port registers and resources and makes the required privileged
configurations for the underlying VF devices.  Common functionality is
controlled through so called System Interface (SI) register blocks, PFs
and VFs own a SI each.  Though SI register blocks are almost identical,
there are a few privileged SI level controls that are accessible only to
PFs, and so the distinction is made between PF SIs (PSI) and VF SIs (VSI).
As such, the bulk of the code, including datapath processing, basic h/w
offload support and generic pci related configuration, is shared between
the 2 drivers and is factored out in common source files (i.e. enetc.c).

Major functionalities included (for both drivers):
MSI-X support for Rx and Tx processing, assignment of Rx/Tx BD ring pairs
to MSI-X entries, multi-queue support, Rx S/G (Rx frame fragmentation) and
jumbo frame (up to 9600B) support, Rx paged allocation and reuse, Tx S/G
support (NETIF_F_SG), Rx and Tx checksum offload, PF MAC filtering and
initial control ring support, VLAN extraction/ insertion, PF Rx VLAN
CTAG filtering, VF mac address config support, VF VLAN isolation support,
etc.

Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-01-24 21:55:53 -08:00
..
dpaa dpaa_eth: NETIF_F_LLTX requires to do our own update of trans_start 2019-01-17 22:00:00 -08:00
dpaa2 dpaa2-eth: add debugfs statistics 2019-01-19 10:28:43 -08:00
enetc enetc: Introduce basic PF and VF ENETC ethernet drivers 2019-01-24 21:55:53 -08:00
fman fsl/fman: Use GFP_ATOMIC in {memac,tgec}_add_hash_mac_address() 2018-12-28 21:54:12 -08:00
fs_enet net: freescale: fix return type of ndo_start_xmit function 2018-09-21 19:12:13 -07:00
fec_main.c net: fec: remove workaround to restart phylib state machine on MDIO timeout 2018-12-18 15:01:55 -08:00
fec_mpc52xx_phy.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
fec_mpc52xx.c net: freescale: fix return type of ndo_start_xmit function 2018-09-21 19:12:13 -07:00
fec_mpc52xx.h
fec_ptp.c net: fec: remove redundant variable 'inc' 2018-07-04 22:39:11 +09:00
fec.h net: fec: remove workaround to restart phylib state machine on MDIO timeout 2018-12-18 15:01:55 -08:00
fsl_pq_mdio.c net: fsl: Use device_type helpers to access the node type 2018-11-17 21:52:58 -08:00
gianfar_ethtool.c gianfar: remove use of VLAN_TAG_PRESENT 2018-11-08 19:49:32 -08:00
gianfar.c gianfar: Add change_carrier() for Fixed PHYs 2018-12-17 11:24:32 -08:00
gianfar.h net: ethernet: gianfar_ethtool: get phc index through drvdata 2018-05-28 23:05:11 -04:00
Kconfig enetc: Introduce basic PF and VF ENETC ethernet drivers 2019-01-24 21:55:53 -08:00
Makefile enetc: Introduce basic PF and VF ENETC ethernet drivers 2019-01-24 21:55:53 -08:00
ucc_geth_ethtool.c net: ethernet: ucc: fix spelling mistake: "tx-late-collsion" -> "tx-late-collision" 2018-04-30 09:29:39 -04:00
ucc_geth.c ucc_geth: Add change_carrier() for Fixed PHYs 2018-12-17 11:24:32 -08:00
ucc_geth.h QE: Move QE from arch/powerpc to drivers/soc 2015-12-22 17:12:56 -06:00
xgmac_mdio.c net/fsl: use of_property_read_bool 2016-08-08 16:15:00 -07:00