rtw88: allows driver to enable/disable beacon
authorYan-Hsuan Chuang <yhchuang@realtek.com>
Fri, 17 Jul 2020 06:49:36 +0000 (14:49 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Sun, 2 Aug 2020 15:05:18 +0000 (18:05 +0300)
Enable/disable beacon accordingly when the BSS info changed.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200717064937.27966-7-yhchuang@realtek.com
drivers/net/wireless/realtek/rtw88/mac80211.c

index bb82b044ff82b4bd5673cb9a091a8b2a02e84f2e..6b199152abcfb09e6b7d207852d17f221d25d009 100644 (file)
@@ -390,6 +390,15 @@ static void rtw_ops_bss_info_changed(struct ieee80211_hw *hw,
        if (changed & BSS_CHANGED_BEACON)
                rtw_fw_download_rsvd_page(rtwdev);
 
+       if (changed & BSS_CHANGED_BEACON_ENABLED) {
+               if (conf->enable_beacon)
+                       rtw_write32_set(rtwdev, REG_FWHW_TXQ_CTRL,
+                                       BIT_EN_BCNQ_DL);
+               else
+                       rtw_write32_clr(rtwdev, REG_FWHW_TXQ_CTRL,
+                                       BIT_EN_BCNQ_DL);
+       }
+
        if (changed & BSS_CHANGED_MU_GROUPS)
                rtw_chip_set_gid_table(rtwdev, vif, conf);