mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 08:28:13 +00:00
efc7d01a9e
the files under /80211 calls kernel-doc script 207 times, one for each single function and doc chapter. Due to that, it takes a lot of time handling it: $ touch Documentation/driver-api/80211/*rst && time make SPHINXDIRS=driver-api/80211 htmldocs ... real 0m22,928s user 0m21,644s sys 0m1,334s Reduce the build time by doing only one kernel-doc call per functions that belong to the same group. With that, there's now 50 calls to kernel-doc, which makes the build time for those docs 62% faster: $ touch Documentation/driver-api/80211/*rst && time make SPHINXDIRS=driver-api/80211 htmldocs ... real 0m8,666s user 0m8,084s sys 0m0,642s As a side effect, it should now be easier to add newer functions, as there's no need to repeat the kernel-doc pattern. Measurements made on a NUC8i7HNK machine with lots of ram and a fast SSD disk with Sphinx 3.2.1. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/f0085721d85ebc3a77164b457ed948eee48b55df.1601890703.git.mchehab+huawei@kernel.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>
239 lines
4.8 KiB
ReStructuredText
239 lines
4.8 KiB
ReStructuredText
=============================
|
|
mac80211 subsystem (advanced)
|
|
=============================
|
|
|
|
Information contained within this part of the book is of interest only
|
|
for advanced interaction of mac80211 with drivers to exploit more
|
|
hardware capabilities and improve performance.
|
|
|
|
LED support
|
|
===========
|
|
|
|
Mac80211 supports various ways of blinking LEDs. Wherever possible,
|
|
device LEDs should be exposed as LED class devices and hooked up to the
|
|
appropriate trigger, which will then be triggered appropriately by
|
|
mac80211.
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions:
|
|
ieee80211_get_tx_led_name
|
|
ieee80211_get_rx_led_name
|
|
ieee80211_get_assoc_led_name
|
|
ieee80211_get_radio_led_name
|
|
ieee80211_tpt_blink
|
|
ieee80211_tpt_led_trigger_flags
|
|
ieee80211_create_tpt_led_trigger
|
|
|
|
Hardware crypto acceleration
|
|
============================
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:doc: Hardware crypto acceleration
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions:
|
|
set_key_cmd
|
|
ieee80211_key_conf
|
|
ieee80211_key_flags
|
|
ieee80211_get_tkip_p1k
|
|
ieee80211_get_tkip_p1k_iv
|
|
ieee80211_get_tkip_p2k
|
|
|
|
Powersave support
|
|
=================
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:doc: Powersave support
|
|
|
|
Beacon filter support
|
|
=====================
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:doc: Beacon filter support
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions: ieee80211_beacon_loss
|
|
|
|
Multiple queues and QoS support
|
|
===============================
|
|
|
|
TBD
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions: ieee80211_tx_queue_params
|
|
|
|
Access point mode support
|
|
=========================
|
|
|
|
TBD
|
|
|
|
Some parts of the if_conf should be discussed here instead
|
|
|
|
Insert notes about VLAN interfaces with hw crypto here or in the hw
|
|
crypto chapter.
|
|
|
|
support for powersaving clients
|
|
-------------------------------
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:doc: AP support for powersaving clients
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions:
|
|
ieee80211_get_buffered_bc
|
|
ieee80211_beacon_get
|
|
ieee80211_sta_eosp
|
|
ieee80211_frame_release_type
|
|
ieee80211_sta_ps_transition
|
|
ieee80211_sta_ps_transition_ni
|
|
ieee80211_sta_set_buffered
|
|
ieee80211_sta_block_awake
|
|
|
|
Supporting multiple virtual interfaces
|
|
======================================
|
|
|
|
TBD
|
|
|
|
Note: WDS with identical MAC address should almost always be OK
|
|
|
|
Insert notes about having multiple virtual interfaces with different MAC
|
|
addresses here, note which configurations are supported by mac80211, add
|
|
notes about supporting hw crypto with it.
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions:
|
|
ieee80211_iterate_active_interfaces
|
|
ieee80211_iterate_active_interfaces_atomic
|
|
|
|
Station handling
|
|
================
|
|
|
|
TODO
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions:
|
|
ieee80211_sta
|
|
sta_notify_cmd
|
|
ieee80211_find_sta
|
|
ieee80211_find_sta_by_ifaddr
|
|
|
|
Hardware scan offload
|
|
=====================
|
|
|
|
TBD
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions: ieee80211_scan_completed
|
|
|
|
Aggregation
|
|
===========
|
|
|
|
TX A-MPDU aggregation
|
|
---------------------
|
|
|
|
.. kernel-doc:: net/mac80211/agg-tx.c
|
|
:doc: TX A-MPDU aggregation
|
|
|
|
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
|
|
|
|
RX A-MPDU aggregation
|
|
---------------------
|
|
|
|
.. kernel-doc:: net/mac80211/agg-rx.c
|
|
:doc: RX A-MPDU aggregation
|
|
|
|
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions: ieee80211_ampdu_mlme_action
|
|
|
|
Spatial Multiplexing Powersave (SMPS)
|
|
=====================================
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:doc: Spatial multiplexing power save
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions:
|
|
ieee80211_request_smps
|
|
ieee80211_smps_mode
|
|
|
|
TBD
|
|
|
|
This part of the book describes the rate control algorithm interface and
|
|
how it relates to mac80211 and drivers.
|
|
|
|
Rate Control API
|
|
================
|
|
|
|
TBD
|
|
|
|
.. kernel-doc:: include/net/mac80211.h
|
|
:functions:
|
|
ieee80211_start_tx_ba_session
|
|
ieee80211_start_tx_ba_cb_irqsafe
|
|
ieee80211_stop_tx_ba_session
|
|
ieee80211_stop_tx_ba_cb_irqsafe
|
|
ieee80211_rate_control_changed
|
|
ieee80211_tx_rate_control
|
|
|
|
TBD
|
|
|
|
This part of the book describes mac80211 internals.
|
|
|
|
Key handling
|
|
============
|
|
|
|
Key handling basics
|
|
-------------------
|
|
|
|
.. kernel-doc:: net/mac80211/key.c
|
|
:doc: Key handling basics
|
|
|
|
MORE TBD
|
|
--------
|
|
|
|
TBD
|
|
|
|
Receive processing
|
|
==================
|
|
|
|
TBD
|
|
|
|
Transmit processing
|
|
===================
|
|
|
|
TBD
|
|
|
|
Station info handling
|
|
=====================
|
|
|
|
Programming information
|
|
-----------------------
|
|
|
|
.. kernel-doc:: net/mac80211/sta_info.h
|
|
:functions:
|
|
sta_info
|
|
ieee80211_sta_info_flags
|
|
|
|
STA information lifetime rules
|
|
------------------------------
|
|
|
|
.. kernel-doc:: net/mac80211/sta_info.c
|
|
:doc: STA information lifetime rules
|
|
|
|
Aggregation Functions
|
|
=====================
|
|
|
|
.. kernel-doc:: net/mac80211/sta_info.h
|
|
:functions:
|
|
sta_ampdu_mlme
|
|
tid_ampdu_tx
|
|
tid_ampdu_rx
|
|
|
|
Synchronisation Functions
|
|
=========================
|
|
|
|
TBD
|
|
|
|
Locking, lots of RCU
|