linux/drivers/net/wireless/iwlwifi/mvm
Arik Nemtsov 98ee778306 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>
2014-02-03 22:23:39 +02:00
..
binding.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
bt-coex.c iwlwifi: mvm: allow to force reduced tx power from debugfs 2014-02-03 22:23:37 +02:00
constants.h iwlwifi: mvm: limit non-low-latency binding scheduling duration 2014-02-03 22:23:35 +02:00
d3.c iwlwifi: add inline helper for packet lengths 2014-01-13 22:17:20 +02:00
debugfs-vif.c iwlwifi: mvm: add vif type in debugfs output 2014-02-03 22:23:37 +02:00
debugfs.c iwlwifi: mvm: add bcast_filtering debugfs entries 2014-02-03 22:23:36 +02:00
debugfs.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
fw-api-bt-coex.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
fw-api-d3.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
fw-api-mac.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
fw-api-power.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
fw-api-rs.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
fw-api-scan.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
fw-api-sta.h iwlwifi: mvm: implement AP/GO uAPSD support 2014-02-03 22:23:31 +02:00
fw-api-tx.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
fw-api.h iwlwifi: add very first D0i3 support 2014-02-03 22:23:39 +02:00
fw.c iwlwifi: mvm: handle platform PCIe power limitation 2014-02-03 22:23:38 +02:00
led.c iwlwifi: mvm: fix coccinelle warnings 2013-12-31 19:03:53 +02:00
mac80211.c iwlwifi: mvm: add bcast_filtering debugfs entries 2014-02-03 22:23:36 +02:00
mac-ctxt.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
Makefile iwlwifi: mvm: fixup Makefile 2013-12-17 19:39:56 +02:00
mvm.h iwlwifi: mvm: handle platform PCIe power limitation 2014-02-03 22:23:38 +02:00
nvm.c iwlwifi: mvm: support NVM sections for family 8000 2014-02-03 22:23:31 +02:00
ops.c iwlwifi: add very first D0i3 support 2014-02-03 22:23:39 +02:00
phy-ctxt.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
power_legacy.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
power.c iwlwifi: mvm: disable powersave in low-latency 2014-02-03 22:23:34 +02:00
quota.c iwlwifi: mvm: fix quota allocation 2014-02-03 22:23:37 +02:00
rs.c iwlwifi: rs: use const u16 for throughput tables 2014-02-03 22:23:37 +02:00
rs.h iwlwifi: rs: use const u16 for throughput tables 2014-02-03 22:23:37 +02:00
rx.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
scan.c iwlwifi: mvm: notify scan completed even if no fw_restart 2014-02-03 22:23:34 +02:00
sf.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
sta.c iwlwifi: mvm: implement AP/GO uAPSD support 2014-02-03 22:23:31 +02:00
sta.h iwlwifi: mvm: allow to force reduced tx power from debugfs 2014-02-03 22:23:37 +02:00
testmode.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
time-event.c iwlwifi: add inline helper for packet lengths 2014-01-13 22:17:20 +02:00
time-event.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
tt.c iwlwifi: mvm: handle platform PCIe power limitation 2014-02-03 22:23:38 +02:00
tx.c iwlwifi: mvm: implement AP/GO uAPSD support 2014-02-03 22:23:31 +02:00
utils.c iwlwifi: mvm: change the format of the SRAM dump 2014-02-03 22:23:35 +02:00