| From foo@baz Mon Apr 9 17:09:24 CEST 2018 |
| From: Haim Dreyfuss <haim.dreyfuss@intel.com> |
| Date: Thu, 16 Mar 2017 17:26:03 +0200 |
| Subject: iwlwifi: mvm: Fix command queue number on d0i3 flow |
| |
| From: Haim Dreyfuss <haim.dreyfuss@intel.com> |
| |
| |
| [ Upstream commit c72c37b7f392ad7edc10b6092fa48c632ba6f4ed ] |
| |
| During d0i3 flow we flush all the queue except from the command queue. |
| Currently, in this flow the command queue is hard coded to 9. |
| In DQA the command queue number has changed from 9 to 0. |
| Fix that. |
| |
| This fixes a problem in runtime PM resume flow. |
| |
| Fixes: 097129c9e625 ("iwlwifi: mvm: move cmd queue to be #0 in dqa mode") |
| Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com> |
| Signed-off-by: Luca Coelho <luciano.coelho@intel.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h |
| +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h |
| @@ -1666,8 +1666,11 @@ int iwl_mvm_find_free_queue(struct iwl_m |
| */ |
| static inline u32 iwl_mvm_flushable_queues(struct iwl_mvm *mvm) |
| { |
| + u32 cmd_queue = iwl_mvm_is_dqa_supported(mvm) ? IWL_MVM_DQA_CMD_QUEUE : |
| + IWL_MVM_CMD_QUEUE; |
| + |
| return ((BIT(mvm->cfg->base_params->num_of_queues) - 1) & |
| - ~BIT(IWL_MVM_CMD_QUEUE)); |
| + ~BIT(cmd_queue)); |
| } |
| |
| static inline |