OSDN Git Service

wcn36xx: Set LINK_FAIL_TX_CNT to 1000 on all wcn36xx
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Tue, 3 Nov 2020 12:17:33 +0000 (12:17 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 7 Nov 2020 08:09:15 +0000 (10:09 +0200)
commite24eedc09f14a533439f7f2b92273238b9ac5096
treea17f8be88e0d044bf50c0d39e050bc90413558b9
parentce54bf5e9554073d41eac3b2832cf3144f891d32
wcn36xx: Set LINK_FAIL_TX_CNT to 1000 on all wcn36xx

The firmware parameter LINK_FAIL_TX_CNT maps to the prima configuration
file parameter gLinkFailTxCnt and is described as:

quote: " If within gLinkFailTimeout period(values is mentioned in msec) if
         FW doesn't receive acks for gLinkFailTxCnt number of packets, then
         link will be disconnected."

The downstream description sets a minimum value of 1000 a maximum value of
60000 and a default value of 6000, however it appears that unless we
actually set this value deliberately firmware defaults it to 0.

Setting this value to non-zero results in the firmware doing link
monitoring. The working example from downstream paradoxically sets the
value to 200, here we opt to set the value to the minimum stipulated in the
configuration file 1000.

In conjunction with ieee80211_hw_set(wcn->hw, CONNECTION_MONITOR); this
change effects offload of link monitoring to the firmware.

Tested with:
'CNSS-PR-2-0-1-2-c1-74-130449-3' wcn3620
'CNSS-PR-2-0-1-2-c1-00083'       wcn3680

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201103121735.291324-2-bryan.odonoghue@linaro.org
drivers/net/wireless/ath/wcn36xx/smd.c