forked from Minki/linux
568a3fa24a
Use the page_pool api for allocations and DMA handling instead of __dev_alloc_page()/dma_map_page() and free_page()/dma_unmap_page(). Pages are unmapped using page_pool_release_page before packets go into the network stack. The page_pool API offers buffer recycling capabilities for XDP but allocates one page per packet, unless the driver splits and manages the allocated page. This is a preliminary patch to add XDP support to mvneta driver Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
176 lines
5.5 KiB
Plaintext
176 lines
5.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Marvell device configuration
|
|
#
|
|
|
|
config NET_VENDOR_MARVELL
|
|
bool "Marvell devices"
|
|
default y
|
|
depends on PCI || CPU_PXA168 || MV64X60 || PPC32 || PLAT_ORION || INET || COMPILE_TEST
|
|
---help---
|
|
If you have a network (Ethernet) card belonging to this class, say Y.
|
|
|
|
Note that the answer to this question doesn't directly affect the
|
|
kernel: saying N will just cause the configurator to skip all
|
|
the questions about Marvell devices. If you say Y, you will be
|
|
asked for your specific card in the following questions.
|
|
|
|
if NET_VENDOR_MARVELL
|
|
|
|
config MV643XX_ETH
|
|
tristate "Marvell Discovery (643XX) and Orion ethernet support"
|
|
depends on MV64X60 || PPC32 || PLAT_ORION || COMPILE_TEST
|
|
depends on INET
|
|
select PHYLIB
|
|
select MVMDIO
|
|
---help---
|
|
This driver supports the gigabit ethernet MACs in the
|
|
Marvell Discovery PPC/MIPS chipset family (MV643XX) and
|
|
in the Marvell Orion ARM SoC family.
|
|
|
|
Some boards that use the Discovery chipset are the Momenco
|
|
Ocelot C and Jaguar ATX and Pegasos II.
|
|
|
|
config MVMDIO
|
|
tristate "Marvell MDIO interface support"
|
|
depends on HAS_IOMEM
|
|
select PHYLIB
|
|
---help---
|
|
This driver supports the MDIO interface found in the network
|
|
interface units of the Marvell EBU SoCs (Kirkwood, Orion5x,
|
|
Dove, Armada 370 and Armada XP).
|
|
|
|
This driver is used by the MV643XX_ETH and MVNETA drivers.
|
|
|
|
config MVNETA_BM_ENABLE
|
|
tristate "Marvell Armada 38x/XP network interface BM support"
|
|
depends on MVNETA
|
|
depends on !64BIT
|
|
---help---
|
|
This driver supports auxiliary block of the network
|
|
interface units in the Marvell ARMADA XP and ARMADA 38x SoC
|
|
family, which is called buffer manager.
|
|
|
|
This driver, when enabled, strictly cooperates with mvneta
|
|
driver and is common for all network ports of the devices,
|
|
even for Armada 370 SoC, which doesn't support hardware
|
|
buffer management.
|
|
|
|
config MVNETA
|
|
tristate "Marvell Armada 370/38x/XP/37xx network interface support"
|
|
depends on ARCH_MVEBU || COMPILE_TEST
|
|
select MVMDIO
|
|
select PHYLINK
|
|
select PAGE_POOL
|
|
---help---
|
|
This driver supports the network interface units in the
|
|
Marvell ARMADA XP, ARMADA 370, ARMADA 38x and
|
|
ARMADA 37xx SoC family.
|
|
|
|
Note that this driver is distinct from the mv643xx_eth
|
|
driver, which should be used for the older Marvell SoCs
|
|
(Dove, Orion, Discovery, Kirkwood).
|
|
|
|
config MVNETA_BM
|
|
tristate
|
|
depends on !64BIT
|
|
default y if MVNETA=y && MVNETA_BM_ENABLE!=n
|
|
default MVNETA_BM_ENABLE
|
|
select HWBM
|
|
select GENERIC_ALLOCATOR
|
|
help
|
|
MVNETA_BM must not be 'm' if MVNETA=y, so this symbol ensures
|
|
that all dependencies are met.
|
|
|
|
config MVPP2
|
|
tristate "Marvell Armada 375/7K/8K network interface support"
|
|
depends on ARCH_MVEBU || COMPILE_TEST
|
|
select MVMDIO
|
|
select PHYLINK
|
|
---help---
|
|
This driver supports the network interface units in the
|
|
Marvell ARMADA 375, 7K and 8K SoCs.
|
|
|
|
config PXA168_ETH
|
|
tristate "Marvell pxa168 ethernet support"
|
|
depends on HAS_IOMEM
|
|
depends on CPU_PXA168 || ARCH_BERLIN || COMPILE_TEST
|
|
select PHYLIB
|
|
---help---
|
|
This driver supports the pxa168 Ethernet ports.
|
|
|
|
To compile this driver as a module, choose M here. The module
|
|
will be called pxa168_eth.
|
|
|
|
config SKGE
|
|
tristate "Marvell Yukon Gigabit Ethernet support"
|
|
depends on PCI
|
|
select CRC32
|
|
---help---
|
|
This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx
|
|
and related Gigabit Ethernet adapters. It is a new smaller driver
|
|
with better performance and more complete ethtool support.
|
|
|
|
It does not support the link failover and network management
|
|
features that "portable" vendor supplied sk98lin driver does.
|
|
|
|
This driver supports adapters based on the original Yukon chipset:
|
|
Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T,
|
|
Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872.
|
|
|
|
It does not support the newer Yukon2 chipset: a separate driver,
|
|
sky2, is provided for these adapters.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called skge. This is recommended.
|
|
|
|
config SKGE_DEBUG
|
|
bool "Debugging interface"
|
|
depends on SKGE && DEBUG_FS
|
|
---help---
|
|
This option adds the ability to dump driver state for debugging.
|
|
The file /sys/kernel/debug/skge/ethX displays the state of the internal
|
|
transmit and receive rings.
|
|
|
|
If unsure, say N.
|
|
|
|
config SKGE_GENESIS
|
|
bool "Support for older SysKonnect Genesis boards"
|
|
depends on SKGE
|
|
---help---
|
|
This enables support for the older and uncommon SysKonnect Genesis
|
|
chips, which support MII via an external transceiver, instead of
|
|
an internal one. Disabling this option will save some memory
|
|
by making code smaller. If unsure say Y.
|
|
|
|
config SKY2
|
|
tristate "Marvell Yukon 2 support"
|
|
depends on PCI
|
|
select CRC32
|
|
---help---
|
|
This driver supports Gigabit Ethernet adapters based on the
|
|
Marvell Yukon 2 chipset:
|
|
Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
|
|
88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
|
|
|
|
There is companion driver for the older Marvell Yukon and
|
|
SysKonnect Genesis based adapters: skge.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called sky2. This is recommended.
|
|
|
|
config SKY2_DEBUG
|
|
bool "Debugging interface"
|
|
depends on SKY2 && DEBUG_FS
|
|
---help---
|
|
This option adds the ability to dump driver state for debugging.
|
|
The file /sys/kernel/debug/sky2/ethX displays the state of the internal
|
|
transmit and receive rings.
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
source "drivers/net/ethernet/marvell/octeontx2/Kconfig"
|
|
|
|
endif # NET_VENDOR_MARVELL
|