linux/drivers/net/wireless/iwlwifi
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
..
dvm iwlwifi: rs: use const u16 for throughput tables 2014-02-03 22:23:37 +02:00
mvm iwlwifi: add very first D0i3 support 2014-02-03 22:23:39 +02:00
pcie iwlwifi: pcie: retrieve and parse ACPI power limitations 2014-02-03 22:23:38 +02:00
Kconfig iwlwifi: rs: use const u16 for throughput tables 2014-02-03 22:23:37 +02:00
Makefile iwlwifi: Add 8000 HW family support 2014-02-03 22:23:31 +02:00
iwl-1000.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-2000.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-5000.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-6000.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-7000.c iwlwifi: 7265: add power limit/tx backoff translation table 2014-02-03 22:23:38 +02:00
iwl-8000.c iwlwifi: mvm: support NVM sections for family 8000 2014-02-03 22:23:31 +02:00
iwl-agn-hw.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-config.h iwlwifi: add D0i3 references boiler plate 2014-02-03 22:23:38 +02:00
iwl-csr.h iwlwifi: pcie: fix secure section / dual cpu firmware loading 2014-02-03 22:23:32 +02:00
iwl-debug.c iwlwifi: export symbols only conditionally 2013-03-06 16:47:56 +01:00
iwl-debug.h iwlwifi: add enter/exit D0i3 ops 2014-02-03 22:23:39 +02:00
iwl-devtrace.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-devtrace.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-drv.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-drv.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-eeprom-parse.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-eeprom-parse.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-eeprom-read.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-eeprom-read.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-fh.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-fw-file.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-fw.h iwlwifi: mvm: add basic bcast filtering implementation 2014-02-03 22:23:36 +02:00
iwl-io.c iwlwifi: pcie: fix secure section / dual cpu firmware loading 2014-02-03 22:23:32 +02:00
iwl-io.h iwlwifi: pcie: fix secure section / dual cpu firmware loading 2014-02-03 22:23:32 +02:00
iwl-modparams.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-notif-wait.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-notif-wait.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-nvm-parse.c iwlwifi: remove obsolete TODO 2014-02-03 22:23:33 +02:00
iwl-nvm-parse.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-op-mode.h iwlwifi: add enter/exit D0i3 ops 2014-02-03 22:23:39 +02:00
iwl-phy-db.c iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-phy-db.h iwlwifi: Update Copyright to 2014 2013-12-31 19:03:53 +02:00
iwl-prph.h iwlwifi: pcie: fix secure section / dual cpu firmware loading 2014-02-03 22:23:32 +02:00
iwl-trans.h iwlwifi: add very first D0i3 support 2014-02-03 22:23:39 +02:00