summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/dpa/Kconfig
blob: 60e653fef1d6c377055eac78cf0dba0599f6b856 (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
config DPA_ETH
	bool "DPAA Ethernet"
# FIXME enable this when all dependencies are merged
#	depends on FSL_SOC && FSL_BMAN && FSL_QMAN && FSL_FMAN
	select PHYLIB
	---help---
	  Data Path Acceleration Architecture Ethernet driver, supporting the
	  Freescale QorIQ chips.

config DPA_OFFLINE_PORTS
	bool "Offline Ports support"
	depends on DPA_ETH
	default y
	---help---
	  The Offline Parsing / Host Command ports (short: OH ports, of Offline ports) provide
	  most of the functionality of the regular, online ports, except they receive their
	  frames from a core or an accelerator on the SoC, via QMan frame queues,
	  rather than directly from the network.
	  Offline ports are configured via PCD (Parse-Classify-Distribute) schemes, just like
	  any online FMan port. They deliver the processed frames to frame queues, according
	  to the applied PCD configurations.

	  Choosing this feature will not impact the functionality and/or performance of the system,
	  so it is safe to have it.

config DPAA_ETH_SG_SUPPORT
	bool

choice DPAA_ETH_OPTIMIZE
	prompt "Optimization choices for the DPAA Ethernet driver"
	depends on DPA_ETH
	default DPAA_ETH_OPTIMIZE_FOR_IPFWD
	---help---
	  Compile-time switch between driver optimizations for forwarding use-cases and
	  termination scenarios.

	config DPAA_ETH_OPTIMIZE_FOR_IPFWD
		bool "Optimize for forwarding"
		select DPA_TX_RECYCLE if FMAN_T4240
		---help---
		  Optimize the DPAA-Ethernet driver for IP/IPSec forwarding use-cases.

	config DPAA_ETH_OPTIMIZE_FOR_TERM
		bool "Optimize for termination"
		select DPAA_ETH_SG_SUPPORT
		---help---
		  Optimize the DPAA-Ethernet driver for termination (TCP, UDP) use-cases.
		  In particular, this choice enables Scatter-Gather (SG) support
		  in the driver, which is momentarily not accessible otherwise.
endchoice

config DPA_TX_RECYCLE
	bool
	depends on FMAN_T4240

config FSL_DPA_1588
	tristate "IEEE 1588-compliant timestamping"
	depends on DPA_ETH
	default n

choice DPA_ETH_WQ_ASSIGN
	prompt "WorkQueue assignment scheme for FrameQueues"
	depends on DPA_ETH
	default DPA_ETH_WQ_MULTI
	---help---
	  Selects the FrameQueue to WorkQueue assignment scheme.

	config DPA_ETH_WQ_LEGACY
		bool "Legacy WQ assignment"
		---help---
		  Statically-defined FQIDs are round-robin assigned to all WQs (0..7). PCD queues are always
		  in this category. Other frame queues may be those used for "MAC-less" or "shared MAC" configurations
		  of the driver.
		  Dynamically-defined FQIDs all go to WQ7.
	config DPA_ETH_WQ_MULTI
	bool "Multi-WQ assignment"
	---help---
	  Tx Confirmation FQs go to WQ1.
	  Rx Default, Tx and PCD FQs go to WQ3.
	  Rx Error and Tx Error FQs go to WQ2.
endchoice

config DPAA_ETH_USE_NDO_SELECT_QUEUE
	bool "Use driver's Tx queue selection mechanism"
	default y
	depends on DPA_ETH
	---help---
	  The DPAA-Ethernet driver defines a ndo_select_queue() callback for optimal selection
	  of the egress FQ. That will override the XPS support for this netdevice.
	  If for whatever reason you want to be in control of the egress FQ-to-CPU selection and mapping,
	  or simply don't want to use the driver's ndo_select_queue() callback, then unselect this
	  and use the standard XPS support instead.

config DPAA_ETH_UNIT_TESTS
	bool "Run Unit Tests for DPAA Ethernet"
	depends on DPA_ETH
	default y