summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/power.c
diff options
context:
space:
mode:
authorArik Nemtsov2013-10-02 15:58:09 +0200
committerEmmanuel Grumbach2014-02-03 21:23:39 +0100
commit98ee7783062335984f5979cea6a08e79982a4061 (patch)
treeeff12a357e6afc9b3d14960038942ea747069ddc /drivers/net/wireless/iwlwifi/mvm/power.c
parentiwlwifi: add enter/exit D0i3 ops (diff)
downloadkernel-qcow2-linux-98ee7783062335984f5979cea6a08e79982a4061.tar.gz
kernel-qcow2-linux-98ee7783062335984f5979cea6a08e79982a4061.tar.xz
kernel-qcow2-linux-98ee7783062335984f5979cea6a08e79982a4061.zip
iwlwifi: add very first D0i3 support
When the bus is in D0i3, we can't send regular commands to the firmware. This means that we need to add a state to remember what is our d0i3 state and make sure that only d0i3 exit commands can be sent. Add flags to CMD_ flags and transport status for this purpose. Commands with CMD_HIGH_PRIO set are queued at the head of the command queue, behind other high priority commands. Commands with CMD_SEND_IN_IDLE set can be sent while the transport is idle (without taking rpm reference). Commands with CMD_MAKE_TRANS_IDLE set indicate that command completion should mark the transport as idle (and release the bus). Commands with CMD_WAKE_UP_TRANS set instruct the transport to exit from idle when this command is completed. The transport is marked as idle (STATUS_TRANS_IDLE) when the FW enters D0i3 state. This bit is cleared when it enters D0 state again. Process only commands with CMD_SEND_IN_IDLE flag while the transport is idle. Other enqueued commands will be processed only later, right after exiting D0i3. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/power.c')
0 files changed, 0 insertions, 0 deletions