summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/fman/Kconfig
blob: 0232e05caf98db7bb4b5c18b898c30e1028ea425 (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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
	select FSL_DPAA_HOOKS
	---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_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_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_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 ) && FSL_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_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_FMAN
	range 0 65535
	default "65535"

config FMAN_PFC_QUANTA_1
	int "The pause quanta for PFC CoS 1"
	depends on FMAN_PFC && FSL_FMAN
	range 0 65535
	default "65535"

config FMAN_PFC_QUANTA_2
	int "The pause quanta for PFC CoS 2"
	depends on FMAN_PFC && FSL_FMAN
	range 0 65535
	default "65535"

config FMAN_PFC_QUANTA_3
	int "The pause quanta for PFC CoS 3"
	depends on FMAN_PFC && FSL_FMAN
	range 0 65535
	default "65535"
endif

endif # FSL_FMAN

endmenu