secgateway/kernel/linux-4.14.83/drivers/net/ethernet/freescale/sdk_fman/Kconfig

154 lines
4.1 KiB
Plaintext
Executable File

menu "Frame Manager support"
menuconfig FSL_SDK_FMAN
bool "Freescale Frame Manager (datapath) support - SDK driver"
depends on (FSL_SOC || ARM64 || ARM) && FSL_SDK_BMAN && FSL_SDK_QMAN && !FSL_FMAN
default y
---help---
If unsure, say Y.
if FSL_SDK_FMAN
config FSL_SDK_FMAN_TEST
bool "FMan test module"
default n
select FSL_DPAA_HOOKS
---help---
This option compiles test code for FMan.
menu "FMAN Processor support"
choice
depends on FSL_SDK_FMAN
prompt "Processor Type"
config FMAN_ARM
bool "LS1043"
depends on ARM64 || ARM
---help---
Choose "LS1043" for the ARM platforms:
LS1043
config FMAN_P3040_P4080_P5020
bool "P3040 P4080 5020"
config FMAN_P1023
bool "P1023"
config FMAN_V3H
bool "FmanV3H"
---help---
Choose "FmanV3H" for Fman rev3H:
B4860, T4240, T4160, etc
config FMAN_V3L
bool "FmanV3L"
---help---
Choose "FmanV3L" for Fman rev3L:
T1040, T1042, T1020, T1022, T1023, T1024, etc
endchoice
endmenu
config FMAN_MIB_CNT_OVF_IRQ_EN
bool "Enable the dTSEC MIB counters overflow interrupt"
default n
---help---
Enable the dTSEC MIB counters overflow interrupt to get
accurate MIB counters values. Enabled it compensates
for the counters overflow but reduces performance and
triggers error messages in HV setups.
config FSL_FM_MAX_FRAME_SIZE
int "Maximum L2 frame size"
depends on FSL_SDK_FMAN
range 64 9600
default "1522"
help
Configure this in relation to the maximum possible MTU of your
network configuration. In particular, one would need to
increase this value in order to use jumbo frames.
FSL_FM_MAX_FRAME_SIZE must accommodate the Ethernet FCS (4 bytes)
and one ETH+VLAN header (18 bytes), to a total of 22 bytes in
excess of the desired L3 MTU.
Note that having too large a FSL_FM_MAX_FRAME_SIZE (much larger
than the actual MTU) may lead to buffer exhaustion, especially
in the case of badly fragmented datagrams on the Rx path.
Conversely, having a FSL_FM_MAX_FRAME_SIZE smaller than the actual
MTU will lead to frames being dropped.
This can be overridden by specifying "fsl_fm_max_frm" in
the kernel bootargs:
* in Hypervisor-based scenarios, by adding a "chosen" node
with the "bootargs" property specifying
"fsl_fm_max_frm=<YourValue>";
* in non-Hypervisor-based scenarios, via u-boot's env, by
modifying the "bootargs" env variable.
config FSL_FM_RX_EXTRA_HEADROOM
int "Add extra headroom at beginning of data buffers"
depends on FSL_SDK_FMAN
range 16 384
default "64"
help
Configure this to tell the Frame Manager to reserve some extra
space at the beginning of a data buffer on the receive path,
before Internal Context fields are copied. This is in addition
to the private data area already reserved for driver internal
use. The provided value must be a multiple of 16.
This setting can be overridden by specifying
"fsl_fm_rx_extra_headroom" in the kernel bootargs:
* in Hypervisor-based scenarios, by adding a "chosen" node
with the "bootargs" property specifying
"fsl_fm_rx_extra_headroom=<YourValue>";
* in non-Hypervisor-based scenarios, via u-boot's env, by
modifying the "bootargs" env variable.
config FMAN_PFC
bool "FMan PFC support (EXPERIMENTAL)"
depends on ( FMAN_V3H || FMAN_V3L || FMAN_ARM) && FSL_SDK_FMAN
default n
help
This option enables PFC support on FMan v3 ports.
Data Center Bridging defines Classes of Service that are
flow-controlled using PFC pause frames.
if FMAN_PFC
config FMAN_PFC_COS_COUNT
int "Number of PFC Classes of Service"
depends on FMAN_PFC && FSL_SDK_FMAN
range 1 4
default "3"
help
The number of Classes of Service controlled by PFC.
config FMAN_PFC_QUANTA_0
int "The pause quanta for PFC CoS 0"
depends on FMAN_PFC && FSL_SDK_FMAN
range 0 65535
default "65535"
config FMAN_PFC_QUANTA_1
int "The pause quanta for PFC CoS 1"
depends on FMAN_PFC && FSL_SDK_FMAN
range 0 65535
default "65535"
config FMAN_PFC_QUANTA_2
int "The pause quanta for PFC CoS 2"
depends on FMAN_PFC && FSL_SDK_FMAN
range 0 65535
default "65535"
config FMAN_PFC_QUANTA_3
int "The pause quanta for PFC CoS 3"
depends on FMAN_PFC && FSL_SDK_FMAN
range 0 65535
default "65535"
endif
endif # FSL_SDK_FMAN
endmenu