summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/iwlwifi
AgeCommit message (Collapse)AuthorFilesLines
2014-07-06iwlwifi: mvm: read the mac address in family 8000Eran Harary1-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>
2014-07-06iwlwifi: mvm: wait for d0i3 exit in add interface flowGregory Greenman2-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>
2014-07-06iwlwifi: mvm: update layout of firmware error dumpEmmanuel Grumbach1-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>
2014-07-06iwlwifi: mvm: kill iwl_mvm_fw_error_rxf_dumpEmmanuel Grumbach4-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>
2014-07-06iwlwifi: mvm: don't collect logs in the interrupt threadEmmanuel Grumbach3-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>
2014-07-06iwlwifi: remove wrong comment about alignment in iwl-fw-error-dump.hEmmanuel Grumbach1-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>
2014-07-06iwlwifi: fix naming mistake for the fw_monitor module parameterEmmanuel Grumbach1-1/+1
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-07-06Merge remote-tracking branch 'wireless-next/master' into iwlwifi-nextEmmanuel Grumbach4-13/+24
2014-07-06Merge remote-tracking branch 'iwlwifi-fixes/master' into iwlwifi-nextEmmanuel Grumbach5-22/+18
2014-07-03iwlwifi: mvm: disable CTS to SelfEmmanuel Grumbach1-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>
2014-07-03iwlwifi: dvm: don't enable CTS to selfEmmanuel Grumbach1-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>
2014-06-25Merge branch 'master' of ↵John W. Linville31-177/+609
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
2014-06-25mac80211: split sched scan IEsDavid Spinadel3-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>
2014-06-25mac80211: support more than one band in scan requestDavid Spinadel2-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>
2014-06-24iwlwifi: mvm: Fix broadcast filteringIlan Peer1-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>
2014-06-24Revert "iwlwifi: remove IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT flag"Arik Nemtsov2-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>
2014-06-24iwlwifi: mvm: handle device start failures during restartJohannes Berg1-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>
2014-06-24iwlwivi: mvm: BT Coex - properly set the priority of beaconsEmmanuel Grumbach1-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>
2014-06-24iwlwifi: mvm: support extended beacon notificationDavid Spinadel5-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>
2014-06-24iwlwifi: mvm: Introduce an API to set STA_FLG_DISABLE_TX flagAndrei Otcheretianski4-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>
2014-06-24iwlwifi: mvm: disable beacon filtering escape timer in d0i3Eliad Peller1-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>
2014-06-24iwlwifi: mvm: BT Coex - avoid the shared antenna for management framesEmmanuel Grumbach3-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>
2014-06-24iwlwifi: mvm: BT Coex - add reduced Tx power thresholds to constantsEmmanuel Grumbach2-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>
2014-06-24iwlwifi: mvm: BT Coex - don't limit rate control if TTC is onEmmanuel Grumbach2-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>
2014-06-24iwlwifi: mvm: BT Coex - allow MIMO in more casesEmmanuel Grumbach1-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>
2014-06-24iwlwifi: mvm: BT Coex - allow to force the antenna allocationEmmanuel Grumbach4-0/+94
This can be used for testing. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: mvm: assure no overflows occur while reading otpLiad Kaufman1-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>
2014-06-24iwlwifi: nvm: update maximal parsed values in external nvmLiad Kaufman1-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>
2014-06-24iwlwifi: update trans->hw_rev 8000 hw family formatLiad Kaufman1-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>
2014-06-24iwlwifi: mvm: fix bug in set_hw_address functionEran Harary1-12/+22
Don't use nvm_hw pointer if it is NULL. Print an error message if the MAC address isn't valid. Signed-off-by: Eran Harary <eran.harary@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: dvm: add a force_cam module parameter to fully disable power savingAndy Lutomirski1-0/+9
iwldvm stalls are often blamed on power management. Add an option to force it all the way off. Signed-off-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: pcie: improve debugfs queue infoAndy Lutomirski1-2/+8
This adds need_update and write_actual to rx_queue and need_update and an HCMD indicator to tx_queue. On my card, rx_queue now looks like: read: 181 write: 180 write_actual: 176 need_update: 0 free_count: 40 closed_rb_num: 181 tx_queue now looks like: hwq 00: read=29 write=30 use=1 stop=0 need_update=0 hwq 01: read=0 write=0 use=1 stop=0 need_update=0 hwq 02: read=128 write=128 use=1 stop=0 need_update=0 hwq 03: read=0 write=0 use=1 stop=0 need_update=0 hwq 04: read=94 write=94 use=1 stop=0 need_update=0 HCMD hwq 05: read=0 write=0 use=0 stop=0 need_update=0 hwq 06: read=0 write=0 use=0 stop=0 need_update=0 hwq 07: read=0 write=0 use=0 stop=0 need_update=0 hwq 08: read=0 write=0 use=0 stop=0 need_update=0 hwq 09: read=0 write=0 use=0 stop=0 need_update=0 hwq 10: read=0 write=0 use=0 stop=0 need_update=0 hwq 11: read=0 write=0 use=0 stop=0 need_update=0 hwq 12: read=0 write=0 use=0 stop=0 need_update=0 hwq 13: read=0 write=0 use=0 stop=0 need_update=0 hwq 14: read=0 write=0 use=0 stop=0 need_update=0 hwq 15: read=0 write=0 use=0 stop=0 need_update=0 hwq 16: read=0 write=0 use=0 stop=0 need_update=0 hwq 17: read=0 write=0 use=0 stop=0 need_update=0 hwq 18: read=0 write=0 use=0 stop=0 need_update=0 hwq 19: read=0 write=0 use=0 stop=0 need_update=0 This may help with debugging queue stalls. Signed-off-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: pcie: log when waking the NIC for hcmd submission failsAndy Lutomirski1-0/+1
I've never seen this happen, but it's useful to rule it out. Signed-off-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: fix NVM channel attribute map.David Spinadel1-4/+18
Fix NVM channel attributes. Add indoor-only and GO Concurrent bits. Remove DFS channel bit which is overlapped with radar. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: mvm: fixes for 8000 NVM flowEran Harary2-3/+2
The nvm_file should be loaded by default for SDIO procucts only. Change the configuration accordingly. While at it, fix a typo in the device name. Signed-off-by: Eran Harary <eran.harary@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: pcie: add firmware monitor capabilitiesEmmanuel Grumbach6-4/+158
This allows to use the firmware monitor. This capability uses a lot of contiguous memory (up to 64MB), so make its usage module parameter dependent. The driver will try to allocate as much contiguous memory as possible downgrading its requirements until the allocation succeeds. Dump this data into the fw-error dump file when an error happens. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: rename iwl_mvm_fw_error_next_dataEmmanuel Grumbach2-5/+5
This is not related to mvm. Rename to iwl_fw_error_next_data. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: add device / firmware to fw-error-dump fileEmmanuel Grumbach5-5/+53
This can be useful later for parsing since the parsing may differ based on the device's family / bus. Also add the human readable version of the firmware. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: remove MCS32 support declarationEliad Peller1-1/+0
MCS32 is currently not supported, so don't declare support for it. Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: mvm: don't use hardcoded num of scan channelsDavid Spinadel7-51/+56
Use num of scan channels as advertised by fw TLV. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: update the 7265 series HW IDsOren Givon1-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>
2014-06-24Merge remote-tracking branch 'iwlwifi-fixes/master' into iwlwifi-nextEmmanuel Grumbach1-46/+19
2014-06-24iwlwifi: mvm: add back support for low-priority scanJohannes Berg2-3/+7
The low-priority scan feature can be useful, e.g. for OBSS scans (if those are required by the AP); add back support for it, restoring the maximum out time to the value it was for low-priority scan before that was removed. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: mvm: use ksize to memset scan_commandDavid Spinadel1-3/+1
Use ksize to get scan command size instead of calculating it, to avoid nasty bugs. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: bump API version for 8000 devicesEmmanuel Grumbach1-1/+1
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-06-24iwlwifi: mvm: rework sched scan channel configurationEliad Peller1-46/+19
The current sched scan channel configuration code configures all the supported channels for scanning. However, this can result in SYSASSERT in some cases, when the configured channel is disabled. Instead, configure only the channels given in the req struct, and set the channel_count field appropriately. While on it, change the code to use channel->hw_value instead of recalculating the channel number. Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-05-22iwlwifi: mvm: remove vif argument from power_update_macArik Nemtsov6-17/+17
The power update function looks at all current vifs to determine the power policy. It doesn't use the current vif. Instead the value was overwritten and used internally. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-05-22iwlwifi: mvm: make iwl_mvm_update_beacon_abort staticEmmanuel Grumbach2-53/+52
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-05-22iwlwifi: mvm: remove debugfs hook for reduced tx powerEmmanuel Grumbach4-47/+5
This was not used is unlikely to be used, just kill it. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-05-22iwlwifi: mvm: disable reduced Tx power when not applicableEmmanuel Grumbach1-1/+5
I forgot to disable the reduced Tx power in a few paths. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>