1config IWLWIFI
2	tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) "
3	depends on PCI && MAC80211 && HAS_IOMEM
4	select FW_LOADER
5	---help---
6	  Select to build the driver supporting the:
7
8	  Intel Wireless WiFi Link Next-Gen AGN
9
10	  This option enables support for use with the following hardware:
11		Intel Wireless WiFi Link 6250AGN Adapter
12		Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
13		Intel WiFi Link 1000BGN
14		Intel Wireless WiFi 5150AGN
15		Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
16		Intel 6005 Series Wi-Fi Adapters
17		Intel 6030 Series Wi-Fi Adapters
18		Intel Wireless WiFi Link 6150BGN 2 Adapter
19		Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
20		Intel 2000 Series Wi-Fi Adapters
21		Intel 7260 Wi-Fi Adapter
22		Intel 3160 Wi-Fi Adapter
23		Intel 7265 Wi-Fi Adapter
24		Intel 8260 Wi-Fi Adapter
25		Intel 3165 Wi-Fi Adapter
26
27
28	  This driver uses the kernel's mac80211 subsystem.
29
30	  In order to use this driver, you will need a firmware
31	  image for it. You can obtain the microcode from:
32
33	          <http://wireless.kernel.org/en/users/Drivers/iwlwifi>.
34
35	  The firmware is typically installed in /lib/firmware. You can
36	  look in the hotplug script /etc/hotplug/firmware.agent to
37	  determine which directory FIRMWARE_DIR is set to when the script
38	  runs.
39
40	  If you want to compile the driver as a module ( = code which can be
41	  inserted in and removed from the running kernel whenever you want),
42	  say M here and read <file:Documentation/kbuild/modules.txt>.  The
43	  module will be called iwlwifi.
44
45if IWLWIFI
46
47config IWLWIFI_LEDS
48	bool
49	depends on LEDS_CLASS=y || LEDS_CLASS=IWLWIFI
50	select LEDS_TRIGGERS
51	select MAC80211_LEDS
52	default y
53
54config IWLDVM
55	tristate "Intel Wireless WiFi DVM Firmware support"
56	help
57	  This is the driver that supports the DVM firmware. The list
58	  of the devices that use this firmware is available here:
59	  https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
60
61config IWLMVM
62	tristate "Intel Wireless WiFi MVM Firmware support"
63	select WANT_DEV_COREDUMP
64	help
65	  This is the driver that supports the MVM firmware. The list
66	  of the devices that use this firmware is available here:
67	  https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
68
69# don't call it _MODULE -- will confuse Kconfig/fixdep/...
70config IWLWIFI_OPMODE_MODULAR
71	bool
72	default y if IWLDVM=m
73	default y if IWLMVM=m
74
75comment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM"
76	depends on IWLDVM=n && IWLMVM=n
77
78config IWLWIFI_BCAST_FILTERING
79	bool "Enable broadcast filtering"
80	depends on IWLMVM
81	help
82	  Say Y here to enable default bcast filtering configuration.
83
84	  Enabling broadcast filtering will drop any incoming wireless
85	  broadcast frames, except some very specific predefined
86	  patterns (e.g. incoming arp requests).
87
88	  If unsure, don't enable this option, as some programs might
89	  expect incoming broadcasts for their normal operations.
90
91config IWLWIFI_UAPSD
92	bool "enable U-APSD by default"
93	depends on IWLMVM
94	help
95	  Say Y here to enable U-APSD by default. This may cause
96	  interoperability problems with some APs, manifesting in lower than
97	  expected throughput due to those APs not enabling aggregation
98
99	  If unsure, say N.
100
101config IWLWIFI_PCIE_RTPM
102       bool "Enable runtime power management mode for PCIe devices"
103       depends on IWLMVM && PM
104       default false
105       help
106         Say Y here to enable runtime power management for PCIe
107         devices.  If enabled, the device will go into low power mode
108         when idle for a short period of time, allowing for improved
109         power saving during runtime.
110
111	 If unsure, say N.
112
113menu "Debugging Options"
114
115config IWLWIFI_DEBUG
116	bool "Enable full debugging output in the iwlwifi driver"
117	---help---
118	  This option will enable debug tracing output for the iwlwifi drivers
119
120	  This will result in the kernel module being ~100k larger.  You can
121	  control which debug output is sent to the kernel log by setting the
122	  value in
123
124		/sys/module/iwlwifi/parameters/debug
125
126	  This entry will only exist if this option is enabled.
127
128	  To set a value, simply echo an 8-byte hex value to the same file:
129
130		  % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
131
132	  You can find the list of debug mask values in:
133		  drivers/net/wireless/iwlwifi/iwl-debug.h
134
135	  If this is your first time using this driver, you should say Y here
136	  as the debug information can assist others in helping you resolve
137	  any problems you may encounter.
138
139config IWLWIFI_DEBUGFS
140        bool "iwlwifi debugfs support"
141        depends on MAC80211_DEBUGFS
142        ---help---
143	  Enable creation of debugfs files for the iwlwifi drivers. This
144	  is a low-impact option that allows getting insight into the
145	  driver's state at runtime.
146
147config IWLWIFI_DEBUG_EXPERIMENTAL_UCODE
148        bool "Experimental uCode support"
149        depends on IWLWIFI_DEBUG
150        ---help---
151	  Enable use of experimental ucode for testing and debugging.
152
153config IWLWIFI_DEVICE_TRACING
154	bool "iwlwifi device access tracing"
155	depends on EVENT_TRACING
156	default y
157	help
158	  Say Y here to trace all commands, including TX frames and IO
159	  accesses, sent to the device. If you say yes, iwlwifi will
160	  register with the ftrace framework for event tracing and dump
161	  all this information to the ringbuffer, you may need to
162	  increase the ringbuffer size. See the ftrace documentation
163	  for more information.
164
165	  When tracing is not enabled, this option still has some
166	  (though rather small) overhead.
167
168	  If unsure, say Y so we can help you better when problems
169	  occur.
170endmenu
171
172endif
173