summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/mvm.h
diff options
context:
space:
mode:
authorLuciano Coelho2014-11-10 10:10:15 +0100
committerEmmanuel Grumbach2014-11-24 07:30:32 +0100
commit4500e13376a14d601a330cab034499ca3fff41bd (patch)
tree0d48fb7a06921ec64ed1e40e48df9d8349043db2 /drivers/net/wireless/iwlwifi/mvm/mvm.h
parentiwlwifi: mvm: add CSA absent time event for clients (diff)
downloadkernel-qcow2-linux-4500e13376a14d601a330cab034499ca3fff41bd.tar.gz
kernel-qcow2-linux-4500e13376a14d601a330cab034499ca3fff41bd.tar.xz
kernel-qcow2-linux-4500e13376a14d601a330cab034499ca3fff41bd.zip
iwlwifi: mvm: schedule CSA time event a bit before beacon 1
Instead of using a hardcoded number of TUs before beacon 0 as the time to start the absence and actual channel switch, calculate it in relation to the beacon interval. We use 10 TUs + beacon interval before beacon 0 to target a bit before beacon 1. This gives us enough time to switch to the new channel before the AP/GO switches. Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/mvm.h')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mvm.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h
index 2816c6b9222b..99a25906bc92 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h
@@ -87,12 +87,17 @@
/* A TimeUnit is 1024 microsecond */
#define MSEC_TO_TU(_msec) (_msec*1000/1024)
-/* These values represent the number of TUs before CSA "beacon 0" TBTT
- * when the CSA time-event needs to be scheduled to start. They must
- * be big enough to ensure that we switch in time.
+/* For GO, this value represents the number of TUs before CSA "beacon
+ * 0" TBTT when the CSA time-event needs to be scheduled to start. It
+ * must be big enough to ensure that we switch in time.
*/
#define IWL_MVM_CHANNEL_SWITCH_TIME_GO 40
-#define IWL_MVM_CHANNEL_SWITCH_TIME_CLIENT 110
+
+/* For client, this value represents the number of TUs before CSA
+ * "beacon 1" TBTT, instead. This is because we don't know when the
+ * GO/AP will be in the new channel, so we switch early enough.
+ */
+#define IWL_MVM_CHANNEL_SWITCH_TIME_CLIENT 10
/*
* This value (in TUs) is used to fine tune the CSA NoA end time which should