summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-08-16iwlwifi: use a macro for default probe lengthLuciano Coelho
Instead of assigning the default max probe length to 200 in the main code, create a macro for consistency and clarity. Signed-off-by: Luciano Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-16iwlwifi: mvm: refactor resume from WoWLAN codeJohannes Berg
To be able to add more logic to the resume code, refactor it a bit, moving some status checking/reporting logic into a new function. The locking becomes a bit odd (one of the new functions now unlocks the mutex) but this will be required to call new mac80211 APIs in there later. Reviewed-by: Luciano Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-16iwlwifi: mvm: remove unused param of rs_dbgfs_set_mcsEyal Shapira
clean it up Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-12iwlwifi: mvm: remove MIMO3 from rate scale codeEyal Shapira
Current and future chips supported by mvm will only have a maximum of 2 antennas so all the MIMO3 related code and states can be dropped. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-12iwlwifi: mvm: Add basic uAPSD client supportAlexander Bondar
Implement basic uAPSD client support adding the following: - Advertise uAPSD support in HW capabilities - Set all ACs trigger- and delivery-enabled - Set max SP length to 2 buffered frames - Assign QNDP with the highest TID with no mandatory admission control required - Set uAPSD related parameters in Power Table command Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-12iwlwifi: mvm: don't clear tbl->win mistakenlyEliad Peller
rs_get_tbl_info_from_mcs() mistakenly clears the rate histories window, overriding its initialization values (i.e. filling it with 0, instead of -1). Signed-off-by: Eliad Peller <eliad@wizery.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-12iwlwifi: mvm: remove unused fields of iwl_rs_rate_infoEyal Shapira
Some more cleanups of unused fields and their initializations. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-12iwlwifi: pcie: returning positive instead of negativeDan Carpenter
There is a missing '-' character here so we return positive 'ENOMEM' instead of negative. The caller doesn't care. All non-zero returns are translated to '-ENOMEM' in iwl_pcie_nic_init(). This is just a cleanup. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-12iwlwifi: mvm: remove rate_scale_data debugfs entryEyal Shapira
This isn't very informative and can be deduced from rate_scale_table. Remove as a preparation for dropping iwl_rs_rate_info.ieee. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-12iwlwifi: pcie: don't swallow error codes in iwl_trans_pcie_alloc()Luciano Coelho
The iwl_trans_pcie_alloc() function doesn't pass up error codes returned from functions it calls, swallowing them and returning NULL in all failure cases. The caller checks if the return value is NULL and returns -ENOMEM. This is not correct, because in certain cases the failure was not due to an OOM situation. To fix this, modify the iwl_trans_pcie_alloc() function to use ERR_PTR() to return error codes and clean up the error handling code a bit. Signed-off-by: Luciano Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-12iwlwifi: mvm: add support to the new FW time event APIEytan Lifshitz
The time event firmware API will change, add the support for that. Use the new API throughout and convert to the old where needed. Signed-off-by: Eytan Lifshitz <eytan.lifshitz@intel.com> Reviewed-by: Guy Cohen <guy.cohen@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-09iwlwifi: pcie: Remove duplicate code from pcie irq handlersIdo Yariv
Instead of having the same code sequentially, fall-through. Signed-off-by: Ido Yariv <ido@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-09iwlwifi: pcie: Refactor iwl_rxq_spaceIdo Yariv
Simplify iwl_rxq_space to improve readability and reduce the ambiguity spares to a single element. Signed-off-by: Ido Yariv <ido@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-09iwlwifi: pcie: Refactor iwl_queue_spaceIdo Yariv
Reduce the ambiguity spares to a single element if the window size is not smaller than the queue size. If smaller, no spares are required at all. Signed-off-by: Ido Yariv <ido@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-09iwlwifi: introduce external debug levelMatti Gottlieb
This debug level will be used in the future for logging interaction with external modules. Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-09iwlwifi: mvm: Fix beacon filtering enablement via debugfsAlexander Bondar
The code was only enabling it when already enabled, which obviously can't work. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: mvm: use designated initialization for some arraysEliad Peller
rs_ht_to_legacy and ant_toggle_lookup are arrays that represent some state-machine. initialize them explicitly with designated initialization to make them more clear and avoid errors. Signed-off-by: Eliad Peller <eliad@wizery.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: mvm: add some missing cleanups in iwl_mvm_mac_add_interfaceEliad Peller
iwl_mvm_mac_add_interface() didn't clean up beacon filtering configuration and ctxt allocation in some error cases. Signed-off-by: Eliad Peller <eliad@wizery.com> Reviewed-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: remove transport suspend/resume indirectionJohannes Berg
There's no reason for the transport to call itself through indirect function pointers, inline the (little) code there is and remove the indirection completely. Reviewed-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: pcie: some little cleanupsEliad Peller
do some little cleanups in tx.c - eliminate duplicate checks, use locally cached fields and predefined macros. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: fix some documentation typosEliad Peller
Fix some typos. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: mvm: small cleanups in quota management codeJohannes Berg
Use a C99 initializer to clear the command and move the lockdep assertion before the restart check. Since this causes problems with the BUILD_BUG_ON() with some compilers, change that a bit. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: mvm: fix signal reporting for < 3 antennasAvri Altman
When fewer than three antennas are connected (as is always the case for the current devices), the signal strength reporting was wrong; fix it. Signed-off-by: Avri Altman <avri.altman@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: mvm: remove traffic load monitoring in rsEyal Shapira
The traffic load monitoring isn't used anymore to decide whether a Tx aggregation on a specific TID should be started. No point in collecting these statistics. Remove the relevant code. Signed-off-by: Eyal Shapira <eyal@wizery.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: pcie: fix resume when no opmode is presentJohannes Berg
If no opmode is present during suspend/resume (i.e. if the iwldvm or iwlmvm isn't loaded) the driver crashes during resume, trying to call the rfkill notification. Avoid that, and also don't enable the rfkill interrupt in this case (to avoid crashing trying to handle the interrupt later.) Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-08-06iwlwifi: mvm: Add RX statistics debugfs entryMatti Gottlieb
Add a debugfs entry for the RX statistics received from the firmware. Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: advertise support for DYNAMIC / STATIC SMPSEmmanuel Grumbach
This feature is fully supported by iwlwmvm, so advertise it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: add high temperature SKU thermal throttling parametersEytan Lifshitz
When the NIC is expected to operate in high temperature, it is advisable to put more aggresive thermal throttling parameters, in order to prevent CT-kill. Signed-off-by: eytan lifshitz <eytan.lifshitz@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: list Emmanuel in maintainers fileJohannes Berg
Wey-Yi has moved on a while ago, but we forgot to update the maintainers file. Since Emmanuel is de facto maintaining the driver along with myself now, list him instead. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: Change beacon abort escape time valueAlexander Bondar
Set beacon abort escape timer values - 6 beacons in D0 state, 9 beacons in D3 and D0i3. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: remove duplicate rate scale init codeEyal Shapira
The rate scale windows are cleared twice as part of the init. Cleanup this duplication in both mvm and dvm. Signed-off-by: Eyal Shapira <eyal@wizery.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: remove obsolete flag in TX command APIEmmanuel Grumbach
This API isn't valid any more. It wasn't used anyway. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: report per-chain signal to mac80211Johannes Berg
Instead of reporting the maximum signal strength and the antenna bitmap in the antenna field (which is really just for radiotap and defined differently), report the signal strength values per chain and set the chain bitmap. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: fix debugfs restart if fw_restart is disabledEran Harary
If fw_restart is disabled, using the fw_restart debugfs file will enable fw_restart and then send the failing command, but this still frequently fails restart because it resets fw_restart afterwards and is thus racy. Fix this by tracking fw_restart separately and allowing "always restart", "never restart" and "restart N times". Signed-off-by: Eran Harary <eran.harary@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: Change beacon filtering commandHila Gonen
Change beacon filtering command due to a change in the API. In case the FW supports the old API, we do not send the BF HCMD and assume that since the corresponding struct in the FW is zeroed by default then we don't need to disable it in the FW actively. Signed-off-by: Hila Gonen <hila.gonen@intel.com> Signed-off-by: Dor Shaish <dor.shaish@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: register vif debugfs for AP mode tooEmmanuel Grumbach
The current registered the per-vif debugfs handler for STA mode only. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
2013-07-31iwlwifi: mvm: split constants into separate fileJohannes Berg
To make maintaining some constant default values in the driver easier, declare them in a separate file. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: assign quota per virtual interfaceJohannes Berg
Instead of assigning quota per used binding (channel) assign the same amount of quota for each virtual interface so that when there are more than two interfaces using more than one channel, we'll stay on the channels proportionally to the number of virtual interfaces using the channels. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: Return on inconsistency in add interfaceIlan Peer
Return in case that HW restart is in progress but the added interface is not found during the iteration over all the interfaces. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: Change AM->PSM timeout for EAPOL framesAlexander Bondar
Currently after sending EAPOL frame FW transition to power saving mode within 10 or 100 msec (as specified by power table command). According to new requirement this timeout for a specific EAPOL frame must be controlled by the driver by setting tx_pm_timeout field of TX_CMD to 2 (PM_FRAME_ENUM_MGMT). This value corresponds to 32 msec timeout. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: support six IPv6 addresses in D3Johannes Berg
Newer firmware supports offloading more IPv6 addresses for NDP, adjust the code to send the correct command depending on the firmware capability. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: Enable user set TX powerMatti Gottlieb
Support Tx power limitations. These limitations can come from mac80211 for various reasons. Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: reprobe device on firmware error during restartJohannes Berg
If we get a firmware error during restart, we currently abandon any hope and simply fail, getting stuck until the driver is reloaded. Unfortunately, there isn't really much else we can do since restart will likely continue to fail, and asking mac80211 for disconnection just causes more error. To allow the user to at least set up the device again completely from scratch, reprobe the device and in doing so completely destroy any mac80211/driver state. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: remove the default calibration values for 7000Emmanuel Grumbach
The fw is now able to run TX_IQ_SKEW and RX_IQ_SKEW by itself. No need for default values any more. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Dor Shaish <dor.shaish@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-31iwlwifi: mvm: new api to get signal strengthAvri Altman
A new API that replaces the rx signal strength calculation via agc & rssi. The energy is now calculated outside the driver and transferred by the fw. Signed-off-by: Avri Altman <avri.altman@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-25iwlwifi: mvm: enable pre-scan passive to activeDavid Spinadel
Enable passive to active scan feature, on channels that was active in the past hour. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-25iwlwifi: dvm: remove P2P supportJohannes Berg
We're not planning to support P2P on older devices, so remove the Kconfig option and associated code for it. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-16iwlwifi: mvm: don't allocate BT_COEX cmd on stackEmmanuel Grumbach
This command will change and be much bigger. Prepare to that by stop allocating on the stack. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-16iwlwifi: mvm: fix the ACK / CTS kill mask upon RSSI eventEmmanuel Grumbach
If a vif's RSSI gets good enough, we can enable reduced Tx power. If so, we need to update the ACK / CTS kill mask accordingly. Since the auditing for the interfaces was bad, we enabled reduced Tx power, but didn't update the ACK / CTS kill mask. This is harmless since the firmware is most likely to discard this setting anyway, but it is a good practice to update it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-07-16iwlwifi: mvm: better handle several several vifs in BT CoexEmmanuel Grumbach
When there one vif on 5GHz associating, it would clear all the BT Coex constraints. This can't work if there is another vif on 2.4GHz. Fix that. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>