]> git.baikalelectronics.ru Git - kernel.git/commit
rt2800: set MAX_PSDU len according to remote STAs capabilities
authorStanislaw Gruszka <sgruszka@redhat.com>
Mon, 19 Dec 2016 10:52:50 +0000 (11:52 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 30 Dec 2016 11:34:18 +0000 (13:34 +0200)
commitac5325925b9e70cbb858a01d61b36e3098a62cc0
tree3ea658b2877543ab7ef849bb47b1aa57b41af98a
parentc508e6c7077c325574bc05d59a06b2bced3256d8
rt2800: set MAX_PSDU len according to remote STAs capabilities

MAX_LEN_CFG_MAX_PSDU specify maximum transmitted by HW AMPDU length
(0 - 8kB, 1 - 16kB, 2 - 32kB, 3 - 64kB). Set this option according to
remote stations capabilities (based on HT ampdu_factor). However limit
the value based our hardware TX capabilities as some chips can not send
more than 16kB (factor 1). Limit for all chips is currently 32kB
(factor 2), but perhaps for some chips this could be increased
to 64kB by setting drv_data->max_psdu to 3.

Since MAX_LEN_CFG_MAX_PSDU is global setting, on multi stations modes
(AP, IBSS, mesh) we limit according to less capable remote STA. We can
not set bigger value to speed up communication with some stations and
do not break communication with slow stations.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ralink/rt2x00/rt2800.h
drivers/net/wireless/ralink/rt2x00/rt2800lib.c
drivers/net/wireless/ralink/rt2x00/rt2800lib.h
drivers/net/wireless/ralink/rt2x00/rt2x00.h
drivers/net/wireless/ralink/rt2x00/rt2x00mac.c