wifi: rtw89: support WMM-PS in P2P GO mode
authorDian-Syuan Yang <dian_syuan0116@realtek.com>
Thu, 22 Sep 2022 01:04:34 +0000 (09:04 +0800)
committerKalle Valo <kvalo@kernel.org>
Sat, 24 Sep 2022 12:36:28 +0000 (15:36 +0300)
To handle a connected client using WMM-PS, the P2P GO also need to enable
this power save mechanism.

We add WIPHY_FLAG_AP_UAPSD flag to support it and define maximum number
of buffered frames the WMM GO may deliver to the WMM client.

Signed-off-by: Dian-Syuan Yang <dian_syuan0116@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220922010435.12167-5-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.c

index 87938c9..25f759a 100644 (file)
@@ -3227,6 +3227,7 @@ static int rtw89_core_register_hw(struct rtw89_dev *rtwdev)
        hw->queues = IEEE80211_NUM_ACS;
        hw->max_rx_aggregation_subframes = RTW89_MAX_RX_AGG_NUM;
        hw->max_tx_aggregation_subframes = RTW89_MAX_TX_AGG_NUM;
+       hw->uapsd_max_sp_len = IEEE80211_WMM_IE_STA_QOSINFO_SP_ALL;
 
        ieee80211_hw_set(hw, SIGNAL_DBM);
        ieee80211_hw_set(hw, HAS_RATE_CONTROL);
@@ -3251,7 +3252,8 @@ static int rtw89_core_register_hw(struct rtw89_dev *rtwdev)
        hw->wiphy->available_antennas_rx = BIT(rtwdev->chip->rf_path_num) - 1;
 
        hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS |
-                           WIPHY_FLAG_TDLS_EXTERNAL_SETUP;
+                           WIPHY_FLAG_TDLS_EXTERNAL_SETUP |
+                           WIPHY_FLAG_AP_UAPSD;
        hw->wiphy->features |= NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR;
 
        hw->wiphy->max_scan_ssids = RTW89_SCANOFLD_MAX_SSID;