mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-07-01 16:27:08 +08:00
52 lines
1.7 KiB
Diff
52 lines
1.7 KiB
Diff
From 55e18e5a76ab5de2286d4bac703a78066278f475 Mon Sep 17 00:00:00 2001
|
|
From: Carl Huang <quic_cjhuang@quicinc.com>
|
|
Date: Thu, 9 Dec 2021 10:17:49 +0200
|
|
Subject: [PATCH] ath11k: set DTIM policy to stick mode for station interface
|
|
|
|
Set DTIM policy to DTIM stick mode, so station follows AP DTIM
|
|
interval rather than listen interval which is set in peer assoc cmd.
|
|
DTIM stick mode is more preferred per firmware team request.
|
|
|
|
Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
|
|
|
|
Signed-off-by: Carl Huang <quic_cjhuang@quicinc.com>
|
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
|
Link: https://lore.kernel.org/r/1638948694-15582-1-git-send-email-quic_cjhuang@quicinc.com
|
|
---
|
|
drivers/net/wireless/ath/ath11k/mac.c | 7 +++++++
|
|
drivers/net/wireless/ath/ath11k/wmi.h | 7 +++++++
|
|
2 files changed, 14 insertions(+)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
|
@@ -2682,6 +2682,13 @@ static void ath11k_bss_assoc(struct ieee
|
|
ath11k_warn(ar->ab, "failed to set vdev %i OBSS PD parameters: %d\n",
|
|
arvif->vdev_id, ret);
|
|
|
|
+ ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id,
|
|
+ WMI_VDEV_PARAM_DTIM_POLICY,
|
|
+ WMI_DTIM_POLICY_STICK);
|
|
+ if (ret)
|
|
+ ath11k_warn(ar->ab, "failed to set vdev %d dtim policy: %d\n",
|
|
+ arvif->vdev_id, ret);
|
|
+
|
|
ath11k_mac_11d_scan_stop_all(ar->ab);
|
|
}
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/wmi.h
|
|
+++ b/drivers/net/wireless/ath/ath11k/wmi.h
|
|
@@ -2169,6 +2169,13 @@ enum wmi_nss_ratio {
|
|
WMI_NSS_RATIO_2_NSS = 0x3,
|
|
};
|
|
|
|
+enum wmi_dtim_policy {
|
|
+ WMI_DTIM_POLICY_IGNORE = 1,
|
|
+ WMI_DTIM_POLICY_NORMAL = 2,
|
|
+ WMI_DTIM_POLICY_STICK = 3,
|
|
+ WMI_DTIM_POLICY_AUTO = 4,
|
|
+};
|
|
+
|
|
struct wmi_host_pdev_band_to_mac {
|
|
u32 pdev_id;
|
|
u32 start_freq;
|