iwlwifi: mvm: rs: fix TPC statistics handling
authorGregory Greenman <gregory.greenman@intel.com>
Tue, 29 Dec 2015 09:26:35 +0000 (11:26 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 26 Jan 2016 14:03:35 +0000 (16:03 +0200)
commit69c7fda40921c125eeeef6a827f6270ac6aa1baa
tree4b7702dec7e27302fb085c10c560b13b495c67c3
parentca296c571f6929e42dc0ac0bb5c81cdb5323362d
iwlwifi: mvm: rs: fix TPC statistics handling

FW behaviour changed and now updates driver about the used TPC
reduction in the following cases:
1. In tx response, which is used mostly for a single frame case
2. In BA notification

When tx aggregation fails with the initial rate, FW will send
to the driver BA notification and will try to transmit with the
next rate, but this time without tx power reduction. Thus, in case
of a failure with the initial rate, driver will get two BA notifications,
the first one with reduced tx power as in the LQ command and the second
one with 0 power reduction.

This patch adapts the TPC statistics according to the description above:
1. Use BA notifications instead of Tx response
2. For TPC only, drop the optimization which considers empty BA as one
MPDU. The reason is that with TPC we want to recover very quickly from
a bad power reduction and, therefore we'd like the success ratio to get
an immediate hit when failing to get a BA, so we'd switch back to a
lower or zero power reduction

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/fw-api-tx.h
drivers/net/wireless/intel/iwlwifi/mvm/rs.c
drivers/net/wireless/intel/iwlwifi/mvm/tx.c