Merge tag 'hwlock-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc...
[linux-2.6-microblaze.git] / Documentation / driver-api / 80211 / mac80211-advanced.rst
1 =============================
2 mac80211 subsystem (advanced)
3 =============================
4
5 Information contained within this part of the book is of interest only
6 for advanced interaction of mac80211 with drivers to exploit more
7 hardware capabilities and improve performance.
8
9 LED support
10 ===========
11
12 Mac80211 supports various ways of blinking LEDs. Wherever possible,
13 device LEDs should be exposed as LED class devices and hooked up to the
14 appropriate trigger, which will then be triggered appropriately by
15 mac80211.
16
17 .. kernel-doc:: include/net/mac80211.h
18    :functions:
19         ieee80211_get_tx_led_name
20         ieee80211_get_rx_led_name
21         ieee80211_get_assoc_led_name
22         ieee80211_get_radio_led_name
23         ieee80211_tpt_blink
24         ieee80211_tpt_led_trigger_flags
25         ieee80211_create_tpt_led_trigger
26
27 Hardware crypto acceleration
28 ============================
29
30 .. kernel-doc:: include/net/mac80211.h
31    :doc: Hardware crypto acceleration
32
33 .. kernel-doc:: include/net/mac80211.h
34    :functions:
35         set_key_cmd
36         ieee80211_key_conf
37         ieee80211_key_flags
38         ieee80211_get_tkip_p1k
39         ieee80211_get_tkip_p1k_iv
40         ieee80211_get_tkip_p2k
41
42 Powersave support
43 =================
44
45 .. kernel-doc:: include/net/mac80211.h
46    :doc: Powersave support
47
48 Beacon filter support
49 =====================
50
51 .. kernel-doc:: include/net/mac80211.h
52    :doc: Beacon filter support
53
54 .. kernel-doc:: include/net/mac80211.h
55    :functions: ieee80211_beacon_loss
56
57 Multiple queues and QoS support
58 ===============================
59
60 TBD
61
62 .. kernel-doc:: include/net/mac80211.h
63    :functions: ieee80211_tx_queue_params
64
65 Access point mode support
66 =========================
67
68 TBD
69
70 Some parts of the if_conf should be discussed here instead
71
72 Insert notes about VLAN interfaces with hw crypto here or in the hw
73 crypto chapter.
74
75 support for powersaving clients
76 -------------------------------
77
78 .. kernel-doc:: include/net/mac80211.h
79    :doc: AP support for powersaving clients
80
81 .. kernel-doc:: include/net/mac80211.h
82    :functions:
83         ieee80211_get_buffered_bc
84         ieee80211_beacon_get
85         ieee80211_sta_eosp
86         ieee80211_frame_release_type
87         ieee80211_sta_ps_transition
88         ieee80211_sta_ps_transition_ni
89         ieee80211_sta_set_buffered
90         ieee80211_sta_block_awake
91
92 Supporting multiple virtual interfaces
93 ======================================
94
95 TBD
96
97 Note: WDS with identical MAC address should almost always be OK
98
99 Insert notes about having multiple virtual interfaces with different MAC
100 addresses here, note which configurations are supported by mac80211, add
101 notes about supporting hw crypto with it.
102
103 .. kernel-doc:: include/net/mac80211.h
104    :functions:
105         ieee80211_iterate_active_interfaces
106         ieee80211_iterate_active_interfaces_atomic
107
108 Station handling
109 ================
110
111 TODO
112
113 .. kernel-doc:: include/net/mac80211.h
114    :functions:
115         ieee80211_sta
116         sta_notify_cmd
117         ieee80211_find_sta
118         ieee80211_find_sta_by_ifaddr
119
120 Hardware scan offload
121 =====================
122
123 TBD
124
125 .. kernel-doc:: include/net/mac80211.h
126    :functions: ieee80211_scan_completed
127
128 Aggregation
129 ===========
130
131 TX A-MPDU aggregation
132 ---------------------
133
134 .. kernel-doc:: net/mac80211/agg-tx.c
135    :doc: TX A-MPDU aggregation
136
137 .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
138
139 RX A-MPDU aggregation
140 ---------------------
141
142 .. kernel-doc:: net/mac80211/agg-rx.c
143    :doc: RX A-MPDU aggregation
144
145 .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
146
147 .. kernel-doc:: include/net/mac80211.h
148    :functions: ieee80211_ampdu_mlme_action
149
150 Spatial Multiplexing Powersave (SMPS)
151 =====================================
152
153 .. kernel-doc:: include/net/mac80211.h
154    :doc: Spatial multiplexing power save
155
156 .. kernel-doc:: include/net/mac80211.h
157    :functions:
158         ieee80211_request_smps
159         ieee80211_smps_mode
160
161 TBD
162
163 This part of the book describes the rate control algorithm interface and
164 how it relates to mac80211 and drivers.
165
166 Rate Control API
167 ================
168
169 TBD
170
171 .. kernel-doc:: include/net/mac80211.h
172    :functions:
173         ieee80211_start_tx_ba_session
174         ieee80211_start_tx_ba_cb_irqsafe
175         ieee80211_stop_tx_ba_session
176         ieee80211_stop_tx_ba_cb_irqsafe
177         ieee80211_rate_control_changed
178         ieee80211_tx_rate_control
179
180 TBD
181
182 This part of the book describes mac80211 internals.
183
184 Key handling
185 ============
186
187 Key handling basics
188 -------------------
189
190 .. kernel-doc:: net/mac80211/key.c
191    :doc: Key handling basics
192
193 MORE TBD
194 --------
195
196 TBD
197
198 Receive processing
199 ==================
200
201 TBD
202
203 Transmit processing
204 ===================
205
206 TBD
207
208 Station info handling
209 =====================
210
211 Programming information
212 -----------------------
213
214 .. kernel-doc:: net/mac80211/sta_info.h
215    :functions:
216         sta_info
217         ieee80211_sta_info_flags
218
219 STA information lifetime rules
220 ------------------------------
221
222 .. kernel-doc:: net/mac80211/sta_info.c
223    :doc: STA information lifetime rules
224
225 Aggregation Functions
226 =====================
227
228 .. kernel-doc:: net/mac80211/sta_info.h
229    :functions:
230         sta_ampdu_mlme
231         tid_ampdu_tx
232         tid_ampdu_rx
233
234 Synchronisation Functions
235 =========================
236
237 TBD
238
239 Locking, lots of RCU