wifi: iwlwifi: mvm: adjust skip-over-dtim in D3
authorJohannes Berg <johannes.berg@intel.com>
Tue, 20 Jun 2023 10:04:04 +0000 (13:04 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 21 Jun 2023 12:02:16 +0000 (14:02 +0200)
The current formula can skip both too much and not enough time,
given the +1 (where the comment about firmware is wrong). Adjust
the formula accordingly.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230620125813.32406b6828ae.I88c315b85f7c56ac6109f84580b95a3dd104ff6c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/power.c

index 34d4b7a..9131b5f 100644 (file)
@@ -327,12 +327,11 @@ static void iwl_mvm_power_config_skip_dtim(struct iwl_mvm *mvm,
 
                if (WARN_ON(!dtimper_tu))
                        return;
-               /* configure skip over dtim up to 306TU - 314 msec */
-               skip = max_t(u8, 1, 306 / dtimper_tu);
+               /* configure skip over dtim up to 900 TU DTIM interval */
+               skip = max_t(u8, 1, 900 / dtimper_tu);
        }
 
-       /* the firmware really expects "look at every X DTIMs", so add 1 */
-       cmd->skip_dtim_periods = 1 + skip;
+       cmd->skip_dtim_periods = skip;
        cmd->flags |= cpu_to_le16(POWER_FLAGS_SKIP_OVER_DTIM_MSK);
 }