iwlwifi: mvm: Add power management support for P2P DCM

If two clients are active while each one is alone on its channel,
and the applicable flags are set, power management should be enabled.
This condition is referred to as Different Channel Mode (DCM).
Up to now, in DCM power management was supported only on BSS.
This patch adds support for P2P power management in DCM as well.

Signed-off-by: Avri Altman <avri.altman@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
Avri Altman 2014-04-02 07:54:07 +03:00 committed by Emmanuel Grumbach
parent 723f02ed6c
commit 63ef81cfb6

View File

@ -613,11 +613,15 @@ iwl_mvm_power_set_pm(struct iwl_mvm *mvm,
ap_same_channel = (bss_mvmvif->phy_ctxt->id ==
ap_mvmvif->phy_ctxt->id);
/* bss is not stand alone: enable PM if alone on its channel */
if (vifs->bss_active && !(client_same_channel || ap_same_channel) &&
/* clients are not stand alone: enable PM if DCM */
if (!(client_same_channel || ap_same_channel) &&
(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BSS_P2P_PS_DCM)) {
if (vifs->bss_active)
bss_mvmvif->pm_enabled = true;
return;
if (vifs->p2p_active &&
(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_P2P_PM))
p2p_mvmvif->pm_enabled = true;
return;
}
/*