summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi
Commit message (Collapse)AuthorAgeFilesLines
* iwlwifi: mvm: validate that we don't send zero quotaJohannes Berg2014-07-071-0/+8
| | | | | | | | | The firmware currently deals with zero quota for a given binding, but it seems odd to send that down. Make sure that we don't do that. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: don't send zero quota to the firmwareJohannes Berg2014-07-071-5/+5
| | | | | | | | | | | There are some cases where we can currently send zero quota for a valid binding, e.g. if we update while an interface is bound to a channel context but not yet acting as an AP. Avoid this by reordering the checks. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: let iwl_mvm_update_quotas disregard a disabled vifLuciano Coelho2014-07-074-20/+61
| | | | | | | | | | | In some cases (e.g. when we're doing a channel switch), we may need to disable the quota of a vif temporarily. In order to do so, add an argument to the iwl_mvm_update_quotas() function to tell if the passed vif is a new one or if it should be disregarded. Signed-off-by: Luciano Coelho <luciano.coelho@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: 8000: drop a print when the address is invalidEran Harary2014-07-071-0/+3
| | | | | | | | when driver takes the MAC address from the HW section and it isn't valid - print an error. Signed-off-by: Eran Harary <eran.harary@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: fix endianity in scan commandDavid Spinadel2014-07-072-5/+5
| | | | | | Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: init lmac scan commandDavid Spinadel2014-07-071-7/+13
| | | | | | | | | Initialize LMAC scan command. Fix EBS flag to be dependant on TLV flg and fix other bugs. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: add unified LMAC scan APIDavid Spinadel2014-07-077-70/+653
| | | | | | | | | Add new scan API that uses the same command 0x51 for both regular and sched scan. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: rs: don't save debugfs filesEliad Peller2014-07-072-26/+10
| | | | | | | | These file are removed recursively anyway, so there's no point saving them just to redundantly remove them later. Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: rs: don't clear persistent fieldsEliad Peller2014-07-072-52/+59
| | | | | | | | | | | | | | | | | iwl_mvm_rs_rate_init() is called multiple times to re-init the rate scaling statistics (e.g. after some idle time). It clears all the lq_sta sta, including some fields that shouldn't be cleared (e.g. debugfs pointers). Fix it by adding a new 'persistent' sub-struct, and avoid clearing it on (re-)init. Move the initialization of the persistent fields to rs_alloc_sta instead. 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>
* iwlwifi: mvm: warn about empty OTPEran Harary2014-07-071-0/+2
| | | | | Signed-off-by: Eran Harary <eran.harary@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: BT Coex - relax constraints when TTC / RRC is activeEmmanuel Grumbach2014-07-072-9/+18
| | | | | | | | | When TxTxCo-Running is active, we can relax the constraints on the rate control. When RxRxCo-Running is active, we can relax the constrains on SMPS. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: BT Coex - fix debugfs with old APIEmmanuel Grumbach2014-07-071-35/+148
| | | | | | | Fix the debugfs hook to make it able to display the data with the old firmware API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: BT Coex - add High Band retentionEmmanuel Grumbach2014-07-072-0/+3
| | | | | | | Tell the firmware if TTC should be enabled when switching to High Band. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: BT Coex - convert reduced Tx power to new APIEmmanuel Grumbach2014-07-071-22/+7
| | | | | | | | No need to send the big BT_COEX_CMD command, we have now a much thiner command that updates only what is needed. Adapt the code to that. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: BT Coex - convert the co-running update to new APIEmmanuel Grumbach2014-07-071-29/+7
| | | | | | | | No need to send the big BT_COEX_CMD command, we have now a much thiner command that updates only what is needed. Adapt the code to that. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: BT Coex - convert the sw boost update to new APIEmmanuel Grumbach2014-07-071-42/+16
| | | | | | | | No need to send the big BT_COEX_CMD command, we have now a much thiner command that updates only what is needed. Adapt the code to that, and open the patch to the updates. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: BT Coex - new APIEmmanuel Grumbach2014-07-076-175/+233
| | | | | | | | | | | | Start the new BT Coex implementation. Don't react to notifications for now - only the initial configuration is implemented. The rest will happen in next patches. Since coex.c now uses the new the new structures in all functions, we need to adapt the code to compile, even if it doesn't run yet. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: BT Coex - prepare towards new APIEmmanuel Grumbach2014-07-077-38/+1448
| | | | | | | | | | | | A new API is coming. This new API is not backward compatible. So we need to keep the old commands to be able to work with the former API. Move all the current code into a new file: coex_legacy. If a firmware with the new API is detected, we currently just bail out since the implementation of the new API will come in future patches. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: remove unused flags from TX commandEmmanuel Grumbach2014-07-062-15/+2
| | | | | | These flags are not used by the firmware anyway. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: rename iwl_fw_error_fw_mon to iwl_fw_error_dump_fw_monEmmanuel Grumbach2014-07-062-4/+4
| | | | | | This is matches the convention of the other structures. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: read the mac address in family 8000Eran Harary2014-07-061-12/+48
| | | | | | | | | | | | | | In family 8000 products the MAC address in the OTP could be in either: - WFPM address - PCIE address In sdio product we should read it from the WFPM, in pcie product we should read it from the PCIe location. This is relevant only from otp version 0xE08 and above. While at it, fix the bytes order in version 0xE08. Signed-off-by: Eran Harary <eran.harary@intel.com> Reviewed-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: wait for d0i3 exit in add interface flowGregory Greenman2014-07-062-9/+32
| | | | | | | | This patch makes sure there're no target accesses in the add interface flow before d0i3 exit completes. Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: update layout of firmware error dumpEmmanuel Grumbach2014-07-061-1/+1
| | | | | | | The memory was not zeroed - fix that. Also update the iwl_fw_error_dump_info structure. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: kill iwl_mvm_fw_error_rxf_dumpEmmanuel Grumbach2014-07-064-132/+100
| | | | | | | Its content can move to the caller. While at it, move iwl_mvm_fw_error_rxf_dump to caller. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: don't collect logs in the interrupt threadEmmanuel Grumbach2014-07-063-44/+12
| | | | | | | | | | | Instead of reading all the data in the context of the interrupt thread, collect the data in the restart flow before the actual restart takes place so that the device still has all the information. Remove iwl_mvm_fw_error_sram_dump and move its content to iwl_mvm_fw_error_dump. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: remove wrong comment about alignment in iwl-fw-error-dump.hEmmanuel Grumbach2014-07-061-2/+2
| | | | | | | The chunks of data do not need to be multipliers of 4 nor 4-bytes aligned. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: fix naming mistake for the fw_monitor module parameterEmmanuel Grumbach2014-07-061-1/+1
| | | | Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* Merge remote-tracking branch 'wireless-next/master' into iwlwifi-nextEmmanuel Grumbach2014-07-064-13/+24
|\
| * Merge branch 'master' of ↵John W. Linville2014-06-2531-177/+609
| |\ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
| * | mac80211: split sched scan IEsDavid Spinadel2014-06-253-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split sched scan IEs to band specific and not band specific blocks. Common IEs blocks may be sent to the FW once per command, instead of per band. This allows optimization of size of the command, which may be required by some drivers (eg. iwlmvm with newer firmware version). As this changes the mac80211 API, update all drivers to use the new version correctly, even if they don't (yet) make use of the split data. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * | mac80211: support more than one band in scan requestDavid Spinadel2014-06-252-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some drivers (such as iwlmvm) can handle multiple bands in a single HW scan request. Add a HW flag to indicate that the driver support this. To hold the required data, create a separate structure for HW scan request that holds cfg scan request and data about different parts of the scan IEs. As this changes the mac80211 API, update all drivers using it to use the correct new function type/argument. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* | | Merge remote-tracking branch 'iwlwifi-fixes/master' into iwlwifi-nextEmmanuel Grumbach2014-07-065-22/+18
|\ \ \ | |_|/ |/| |
| * | iwlwifi: mvm: disable CTS to SelfEmmanuel Grumbach2014-07-031-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware folks seem say that this flag can make trouble. Drop it. The advantage of CTS to self is that it slightly reduces the cost of the protection, but make the protection less reliable. Cc: <stable@vger.kernel.org> [3.13+] Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
| * | iwlwifi: dvm: don't enable CTS to selfEmmanuel Grumbach2014-07-031-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should always prefer to use full RTS protection. Using CTS to self gives a meaningless improvement, but this flow is much harder for the firmware which is likely to have issues with it. CC: <stable@vger.kernel.org> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
| * | iwlwifi: mvm: Fix broadcast filteringIlan Peer2014-06-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current code did not allow sending the broadcast filtering command for P2P Client interfaces. However, this was not enough, since once broadcast filtering command was issued over the station interface after the P2P Client connected, the command also attached the filters to the P2P Client MAC which is not allowed (FW ASSERT 1063). Fix this skipping P2P Client interfaces when constructing the broadcast filtering command Signed-off-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: ArikX Nemtsov <arik@wizery.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
| * | Revert "iwlwifi: remove IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT flag"Arik Nemtsov2014-06-242-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit dc9a19296a872644f19a06d8eeb5db222d327b41. 3610 cards don't support UAPSD. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
| * | iwlwifi: update the 7265 series HW IDsOren Givon2014-06-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add one more 7265 series HW ID. Edit one existing 7265 series HW ID. CC: <stable@vger.kernel.org> [3.13+] Signed-off-by: Oren Givon <oren.givon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: handle device start failures during restartJohannes Berg2014-06-241-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the device fails during a restart, mac80211 now handles the situation better but we still have a little bit of cleanup to do in the driver - add the required code. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: ArikX Nemtsov <arik@wizery.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwivi: mvm: BT Coex - properly set the priority of beaconsEmmanuel Grumbach2014-06-241-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since the new API allows multiple priorities, we need to properly set the beacon's prorities in the TX cmd associated to it. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: support extended beacon notificationDavid Spinadel2014-06-245-10/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use extended beacon notification when supported by FW. Set last beacon system time to AP or GO interface. System time of last beacon can be used to avoid TBTT overlapping between two interfaces, CSA and other uses. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: Introduce an API to set STA_FLG_DISABLE_TX flagAndrei Otcheretianski2014-06-244-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce new station flag STA_FLG_DISABLE_TX, which is modified with ADD_STA command. This flag, when set, disables tx to the STA. Provide an API (iwl_mvm_sta_modify_disable_tx) to modify this flag, which should be used in channel switch and immediate quiet flows. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: disable beacon filtering escape timer in d0i3Eliad Peller2014-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The beacon filtering configuration in d0i3 currently uses the max value defined as 1024. However, with beacon interval of 100ms we end up with too-frequent wakeups. Instead, configure the escape timer to 0, asking the fw to disable it altogether. Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: BT Coex - avoid the shared antenna for management framesEmmanuel Grumbach2014-06-243-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If BT is active, we need to refrain from using the shared antenna. This logic is done in the firmware when we use the link quality tables. But for management frames, the rate is written in the Tx command by the driver. Hence the driver needs to make sure not use the shared antenna when BT is active for any frames that don't use the rate scale table such as management frames or multicast. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: BT Coex - add reduced Tx power thresholds to constantsEmmanuel Grumbach2014-06-242-6/+6
| | | | | | | | | | | | | | | | | | | | | This really belongs to the constants file. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: BT Coex - don't limit rate control if TTC is onEmmanuel Grumbach2014-06-242-1/+9
| | | | | | | | | | | | | | | | | | | | | When the firmware enables TxTxCorunning, we can lift the constaints on the rate control. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: BT Coex - allow MIMO in more casesEmmanuel Grumbach2014-06-241-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | We can Tx in MIMO rates when we are in TxTx Disallow mode just like we can when we are in Tight mode. Same if we are in 5Ghz regardless of the mode we are. Change the code to allow MIMO in these cases. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: BT Coex - allow to force the antenna allocationEmmanuel Grumbach2014-06-244-0/+94
| | | | | | | | | | | | | | | | | | This can be used for testing. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: mvm: assure no overflows occur while reading otpLiad Kaufman2014-06-241-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Just in case sizes change in the OTP without proper SW updating, an additional check is inserted when reading OTP sections to assure no overflows occur. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: nvm: update maximal parsed values in external nvmLiad Kaufman2014-06-241-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the maximum values of the parsed external NVM file in the B-step of the 8000 HW family were updated, so this updates these values. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | | iwlwifi: update trans->hw_rev 8000 hw family formatLiad Kaufman2014-06-241-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The format of the CSR_HW_REV register has changed in 8000 HW family. To keep backwards compatibility, we store the value of this register as usual in trans->hw_rev, only we store it in the old format in this variable. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
OpenPOWER on IntegriCloud