diff options
author | Sara Sharon <sara.sharon@intel.com> | 2016-04-17 16:28:18 +0300 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2016-07-01 18:09:42 +0300 |
commit | 1316d5957be3b311b1494382172d4acb2f36ea59 (patch) | |
tree | 8827623827138eab433a30c0432f9ae77bb4cbba /drivers/net/wireless/intel/iwlwifi/iwl-config.h | |
parent | a6f035a008366a03378ed27560794d84a237895b (diff) | |
download | linux-stable-1316d5957be3b311b1494382172d4acb2f36ea59.tar.gz linux-stable-1316d5957be3b311b1494382172d4acb2f36ea59.tar.bz2 linux-stable-1316d5957be3b311b1494382172d4acb2f36ea59.zip |
iwlwifi: pcie: workaround HW shadow registers bug
Integrated 9000 devices have a bug with shadow registers
value retention.
If driver writes RBD registers while MAC is asleep the
values are stored in shadow registers to be copied whenever
MAC wakes up.
However, in 9000 devices a MAC wakeup is not triggered
and when the bus powers down due to inactivity the shadow
values and dirty bits are lost.
Turn on the chicken-bits that cause MAC wakeup for RX-related
values as well when the device is in D0.
When the device is in low power mode turn the RX wakeup chicken
bits off since driver is idle and this W/A is not needed.
Remove previous W/A which was ineffective.
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/iwl-config.h')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/iwl-config.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-config.h b/drivers/net/wireless/intel/iwlwifi/iwl-config.h index 4a0af7de82fd..57b14f4dcb89 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-config.h +++ b/drivers/net/wireless/intel/iwlwifi/iwl-config.h @@ -319,6 +319,7 @@ struct iwl_pwr_tx_backoff { * @mq_rx_supported: multi-queue rx support * @vht_mu_mimo_supported: VHT MU-MIMO support * @rf_id: need to read rf_id to determine the firmware image + * @integrated: discrete or integrated * * We enable the driver to be backward compatible wrt. hardware features. * API differences in uCode shouldn't be handled here but through TLVs @@ -362,7 +363,8 @@ struct iwl_cfg { apmg_not_supported:1, mq_rx_supported:1, vht_mu_mimo_supported:1, - rf_id:1; + rf_id:1, + integrated:1; u8 valid_tx_ant; u8 valid_rx_ant; u8 non_shared_ant; |