summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/fman/Kconfig
blob: ec7449f958b48a4b89b84539ed0028ff31ba057e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
menu "Frame Manager support"

menuconfig FSL_FMAN
	bool "Freescale Frame Manager (datapath) support"
	depends on FSL_SOC && FSL_BMAN && FSL_QMAN
	default y
	---help---
		If unsure, say Y.

if FSL_FMAN

config FSL_FMAN_TEST
	bool "FMan test module"
	default n
	---help---
		This option compiles test code for FMan.

menu "FMAN Processor support"
choice
	depends on FSL_FMAN
	prompt "Processor Type"

config FMAN_P3040_P4080_P5020
	bool "P3040 P4080 5020"

config FMAN_P1023
	bool "P1023"

config FMAN_T4240
	bool "T4240"

endchoice
endmenu

config FMAN_RESOURCE_ALLOCATION_ALGORITHM
	bool "Enable FMan dynamic resource allocation algorithm"
	default y if ((FMAN_P3040_P4080_P5020 || FMAN_P1023) && FSL_DPAA_ETH_OPTIMIZE_FOR_IPFWD)
	---help---
		Enables algorithm for dynamic resource allocation

config FMAN_DISABLE_OH_TO_REUSE_RESOURCES
	depends on FMAN_RESOURCE_ALLOCATION_ALGORITHM
	bool "Disable offline parsing ports to reuse resources"
	default n
	---help---
		Redistributes FMan OH's resources to all other ports,
		thus enabling other configurations.

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_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 accomodate 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_FMAN
	range 0 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 option does not affect in any way the layout of
		transmitted buffers. You may be required to enable the config
		option FMAN_RESOURCE_ALLOCATION_ALGORITHM and also
		FMAN_DISABLE_OH_TO_REUSE_RESOURCES to have enough resources
		when using this option and also supporting jumbo frames.

		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.

endif # FSL_FMAN

endmenu