diff mbox series

[3/3] wcn36xx: Enable firmware offloaded keepalive

Message ID 20201031022311.1677337-4-bryan.odonoghue@linaro.org
State New
Headers show
Series wcn36xx: Firmware link monitor/keepalive offload | expand

Commit Message

Bryan O'Donoghue Oct. 31, 2020, 2:23 a.m. UTC
This patch calls wcn36xx_smd_keep_alive_req() on the STA patch immediately
after associating with an AP.

This will cause the firmware to send a NULL packet out to the AP every 30
seconds, thus offloading keep-alive processing from the SoC to the
firmware.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 drivers/net/wireless/ath/wcn36xx/main.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Loic Poulain Oct. 31, 2020, 9:39 a.m. UTC | #1
On Sat, 31 Oct 2020 at 03:22, Bryan O'Donoghue
<bryan.odonoghue@linaro.org> wrote:
>

> This patch calls wcn36xx_smd_keep_alive_req() on the STA patch immediately

> after associating with an AP.

>

> This will cause the firmware to send a NULL packet out to the AP every 30

> seconds, thus offloading keep-alive processing from the SoC to the

> firmware.

>

> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

> ---

>  drivers/net/wireless/ath/wcn36xx/main.c | 2 ++

>  1 file changed, 2 insertions(+)

>

> diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c

> index e924cc4acde0..b514a7b952df 100644

> --- a/drivers/net/wireless/ath/wcn36xx/main.c

> +++ b/drivers/net/wireless/ath/wcn36xx/main.c

> @@ -910,6 +910,8 @@ static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,

>                          * place where AID is available.

>                          */

>                         wcn36xx_smd_config_sta(wcn, vif, sta);

> +                       wcn36xx_smd_keep_alive_req(wcn, vif,

> +                                       WCN36XX_HAL_KEEP_ALIVE_NULL_PKT);


There is the wcn36xx_enable_keep_alive_null_packet function (from
pmc.c) that you can use.

>                 } else {

>                         wcn36xx_dbg(WCN36XX_DBG_MAC,

>                                     "disassociated bss %pM vif %pM AID=%d\n",

> --

> 2.28.0

>
Bryan O'Donoghue Oct. 31, 2020, 12:54 p.m. UTC | #2
On 31/10/2020 09:39, Loic Poulain wrote:
> On Sat, 31 Oct 2020 at 03:22, Bryan O'Donoghue

> <bryan.odonoghue@linaro.org> wrote:

>> +                       wcn36xx_smd_keep_alive_req(wcn, vif,

>> +                                       WCN36XX_HAL_KEEP_ALIVE_NULL_PKT);

> 

> There is the wcn36xx_enable_keep_alive_null_packet function (from

> pmc.c) that you can use.


Sure
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c
index e924cc4acde0..b514a7b952df 100644
--- a/drivers/net/wireless/ath/wcn36xx/main.c
+++ b/drivers/net/wireless/ath/wcn36xx/main.c
@@ -910,6 +910,8 @@  static void wcn36xx_bss_info_changed(struct ieee80211_hw *hw,
 			 * place where AID is available.
 			 */
 			wcn36xx_smd_config_sta(wcn, vif, sta);
+			wcn36xx_smd_keep_alive_req(wcn, vif,
+					WCN36XX_HAL_KEEP_ALIVE_NULL_PKT);
 		} else {
 			wcn36xx_dbg(WCN36XX_DBG_MAC,
 				    "disassociated bss %pM vif %pM AID=%d\n",