98ee778306
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> |
||
---|---|---|
.. | ||
binding.c | ||
bt-coex.c | ||
constants.h | ||
d3.c | ||
debugfs-vif.c | ||
debugfs.c | ||
debugfs.h | ||
fw-api-bt-coex.h | ||
fw-api-d3.h | ||
fw-api-mac.h | ||
fw-api-power.h | ||
fw-api-rs.h | ||
fw-api-scan.h | ||
fw-api-sta.h | ||
fw-api-tx.h | ||
fw-api.h | ||
fw.c | ||
led.c | ||
mac80211.c | ||
mac-ctxt.c | ||
Makefile | ||
mvm.h | ||
nvm.c | ||
ops.c | ||
phy-ctxt.c | ||
power_legacy.c | ||
power.c | ||
quota.c | ||
rs.c | ||
rs.h | ||
rx.c | ||
scan.c | ||
sf.c | ||
sta.c | ||
sta.h | ||
testmode.h | ||
time-event.c | ||
time-event.h | ||
tt.c | ||
tx.c | ||
utils.c |