aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless
AgeCommit message (Collapse)AuthorFilesLines
2016-03-03ath10k: fix pointless update of peer stats listMohammed Shafi Shajakhan1-2/+4
We periodically receive f/w stats event for updating the rx duration and there is no reason to keep on appending the f/w stats peer list, as this gets completely cleaned up when the user polls for f/w stats {pdev, vdev, peer stats}. Only don't print the warning message in the case PEER_STATS service is enabled Fixes: 856e7c3 ("ath10k: add debugfs support for Per STA total rx duration") Signed-off-by: Mohammed Shafi Shajakhan <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2016-03-02Merge branch 'fixes' into nextEmmanuel Grumbach4-1/+17
Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-03-02iwlwifi: mvm: support sw queue start/stop from mvmLiad Kaufman2-14/+28
Add a wrapper function to allow stopping SW queues from MVM as well. Signed-off-by: Liad Kaufman <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-03-02iwlwifi: mvm: take the transport ref back when leavingLuca Coelho1-0/+7
If d0i3 is supported, we have released the initial transport reference in iwl_op_mode_mvm_start(), so we should take it back in iwl_op_mode_mvm_stop() to keep it balanced. Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-03-02iwlwifi: add disable_11ac module paramAndrei Otcheretianski3-1/+7
Add module parameter that disables VHT capabilities. Signed-off-by: Andrei Otcheretianski <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-03-02iwlwifi: mvm: only release the trans ref if d0i3 is supported in fwLuca Coelho1-2/+4
If d0i3 is not supported by the firmware (or if it's disabled via module parameters) we shouldn't release the initial transport reference, so that we won't enter runtime suspend. Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-03-02iwlwifi: mvm: disable DQA supportLiad Kaufman1-2/+3
Do not allow entrance into DQA flows until feature is completely ready and merged. Signed-off-by: Liad Kaufman <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-03-02iwlwifi: pcie: detect and workaround invalid write ptr behaviorSara Sharon1-4/+13
In 9000 series A0 step the closed_rb_num is not wrapping around properly. The queue is wrapping around as it should, so we can W/A it by wrapping the closed_rb_num in the driver. While at it, extend RX logging and add error handling of other cases HW values may cause us to access invalid memory locations. Add also a proper masking of vid value read from HW - this should not have actual affect, but better to be on the safe side. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-03-02iwlwifi: mvm: update ucode status before stopping deviceChaya Rachel Ivgi5-9/+12
Leaving ucode_loaded to true after stop_device() has been called is a recipe for problems. Flows that are not sync'ed with the driver life cycle (like debugfs hooks and thermal hooks) must check that the firmware is loaded before they interact with it. Therefore we need to keep this variable updated with the real status of the firmware. Signed-off-by: Chaya Rachel Ivgi <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-03-01Merge tag 'mac80211-next-for-davem-2016-02-26' of ↵David S. Miller25-94/+121
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Here's another round of updates for -next: * big A-MSDU RX performance improvement (avoid linearize of paged RX) * rfkill changes: cleanups, documentation, platform properties * basic PBSS support in cfg80211 * MU-MIMO action frame processing support * BlockAck reordering & duplicate detection offload support * various cleanups & little fixes ==================== Signed-off-by: David S. Miller <[email protected]>
2016-02-28iwlwifi: support ucode with d0 unified image - regular and usnifferGolan Ben-Ami3-2/+8
Till today, the ucode consisted of two d0 images - regular, in which the usniffer wasn't enabled, and usniffer, in which the usniffer logs were enabled. Lately, the two images were unified, so there is only one d0 image, in which the usniffer logs are enabled. Add new TLV capability for supporting the consolidated images (set 2, bit 13). Signed-off-by: Golan Ben-Ami <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-28iwlwifi: mvm: Disable beacon storing in D3 when WOWLAN configuredMatti Gottlieb1-2/+1
Currently when entering D3 with WOWLAN configured, we enable in the configuration flags beacon storing, and do not disable beacon filtering, and do not wake up from a magic packet. Having both enabled is wrong (should not have both enabled), and causes problems in the RX queues in the FW, causing the FW not to recognize the magic packet when it comes. Disable beacon storing in wowlan configuration. Signed-off-by: Matti Gottlieb <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: kill iwl_mvm_enable_agg_txqEmmanuel Grumbach2-21/+11
iwl_mvm_enable_agg_txq has only one user. Kill it and adapt the call site. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: take care of padded packetsSara Sharon1-7/+23
To ensure that the SNAP/TCP/IP headers are DW aligned, the firmware may add 2-byte pad at the end of the mac header - after the IV, before the SNAP. In that case the mpdu descriptor pad bit will be turned on. Driver should take it into consideration, and remove the padding before passing the packet to mac80211. Do that. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: Send power command on BSS_CHANGED_BEACON_INFO if neededAvri Altman1-1/+6
Beacon abort (ba) is set while sending power command, but only after at least one beacon_filter command was successfully sent. If we heard a beacon before starting association, this order is maintained and ba is properly set. However, if the first beacon is received after association, we send the power command upon association, configure the beacon filtering when the first beacon arrives, and in that case, beacon abort is not set. So identify this, and send a power command post the beacon_filter command if needed. Signed-off-by: Avri Altman <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: forbid U-APSD for P2P Client if the firmware doesn't support itAvri Altman1-0/+5
Older versions of the firmware don't support U-APSD for P2P Client. Forbid U-APSD for P2P Client when an old firmware is being used. Signed-off-by: Avri Altman <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: Set global RRM capabilityBeni Lev1-0/+2
Allow to publish RRM capabilities without the need to support a minimal capability set. Since some RRM features(e.g. neighbor report) are fw independent, set this capability unconditionally. Signed-off-by: Beni Lev <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: various trivial cleanupsEmmanuel Grumbach1-3/+0
* Remove uneeded includes: iwl-csr.h and devcoredump aren't used in mac80211.c. * Remove uneeded empty line Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: support VHT MU-MIMO notificationSara Sharon4-2/+49
When the device is in d0i3/d3 we will not receive the VHT MU-MIMO group id management frame. Instead, firmware will notify us upon exit on the current status and we can in turn update mac80211. Support this notification. While at it, also check as a precaution that the vif is indeed the VHT MU-MIMO owner before updating the firmware. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: remove unused field in iwl_mvm_tid_dataEmmanuel Grumbach1-3/+0
Commit 69c7fda40921c125eeeef6a827f6270ac6aa1baa removed the users of iwl_mvm_tid_data.reduced_tpc. Due to a conflict, I forgot to commit the hunk that removed the field itself. Do this know. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: add RSS queues notification infrastructureSara Sharon5-0/+114
In multi rx queue HW, without execessive locking, there is no sync between the ctrl path (default queue) and the rest of the rx queues. This might cause issues on certain situations. For example, in case a delBA was processed on a default queue but out of order packets still wait for processing on the other queue. The solution is to introduce internal messaging between the CTRL path and the other rx queues. The driver will send a message to the firmware, which will echo it to all the requested queues. The message will be in order inside the queue. This way we can avoid CTRL path and RSS queues races. Add support for this messaging mechanism. As the firmware is agnostic to the data sent, add internal representation of the data as well. Although currently only delBA flow will use it, the internal representation will enable generic use of this infrastructure for future uses. Next patch will utilize this messaging mechanism for the reorder buffer delBA flow. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: add duplicate packet detection per rx queueSara Sharon3-1/+92
Next hardware will direct TCP/UDP streams to different cores. Packets belonging to the same stream will be directed to the same core. The result is that duplicates will be always directed to the same rx queue were the first packet was received. This enabled parallelizing the duplicate packet detection across the different cores, without sharing data between the rx queues. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: pcie: prevent skbs shadowing in iwl_trans_pcie_reclaimEmmanuel Grumbach1-5/+5
The patch below introduced a variable shadowing. Fix that. Fixes: 3955525d5d17 ("iwlwifi: pcie: buffer packets to avoid overflowing Tx queues") Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: pcie: add pm_prepare and pm_complete opsLuca Coelho2-0/+42
With these ops, we can know when we are about to enter system suspend. This allows us to exit D0i3 state before entering suspend. Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: pcie: configure more RFH settingsSara Sharon2-11/+25
Fine tune RFH registers further: * Set default queue explicitly * Set RFH to drop frames exceeding RB size * Set the maximum rx transfer size to DRAM to 128 instead of 64 Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: support filtered frames notificationSara Sharon4-0/+77
During d0i3 frames might be filtered by the FW and this may cause reordering buffer a delay - as the frames will not be received and reorder will time out. Introduce an API function to receive notification of filtered frames and pass the information to the mac80211. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: update rx_status with mactime flagSara Sharon3-5/+7
When forming IBSS, mac80211 scans in order to find an already existing cell to join. In case the scan does not find any existing cell a new IBSS cell is formed. When receiving the beacons of another IBSS cell we should merge if the other IBSS cell's TSF is higher than ours. However, currently iwlmvm does not set any timestamp flag in rx_status so there is no valid rx timestamp to compare the beacon's TSF to. The reason for that is that TSF as indicated by the firmware is at INA time, but up till now mac80211 expected the TSF at the beginning or end of the MPDU. Set the flag to the newly added RX_FLAG_MACTIME_PLCP_START flag. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: support tracing wide commandsSara Sharon2-2/+10
Current iwlwifi_trace_dev_rx prints only the cmd without the group, which might be misleading. Change it to print the wide id. While at it add the DATA_PATH group and sub commands to the trace of the command names, sine it is missing due to patches submitted in parallel. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: don't send an A-MSDU that is larger than the TXFEmmanuel Grumbach1-1/+14
The A-MSDU must be smaller than the Transmit FIFO in the device. Since the size of the TXF can change depending on the device / firmware compilation mode, take the size of the FIFO dynamically from the what the firmware tells us. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: don't enable A-MSDU when the rates are too lowEmmanuel Grumbach3-3/+26
Allow A-MSDU only when we are not downscaling and the initial MCS is at least 5. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: allow to limit the A-MSDU from debugfsEmmanuel Grumbach3-0/+25
in order to be able to tune the size of the desired A-MSDU based on link condition, add a knob to modify the length of the A-MSDU. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: add Tx A-MSDU inside A-MPDUEmmanuel Grumbach4-12/+38
If the peer allows, we can have A-MSDU inside A-MDPU. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: send large SKBs to the transportEmmanuel Grumbach1-8/+140
Now that PCIe knows how to create A-MSDUs, use this capability and prepare SKBs that are large enough to build an A-MSDU. Advertise TSO support towards the network stack and segment the packet with gso_size set to be the maximal A-MSDU length (after having taken the headers to be added into account) to make sure that the skb that is passed down to the transport are not longer than the maximal A-MSDU allowed. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: update firmware of VHT MU-MIMO groups status on restartSara Sharon2-0/+46
The firmware handles the VHT MU-MIMO group data on its own. However, on HW restart (and future sniffer mode) the driver shall update the firmware on the VHT MU-MIMO group membership status. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: enable VHT MU-MIMO for supported hardwareSara Sharon4-1/+8
Incoming hardware will support VHT MU-MIMO. Declare this capability for relevant hardware. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: pcie: fix identation in trans.cEmmanuel Grumbach1-1/+1
A curly brace was misplaced, fix this. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: pcie: Add new configuration to enable MSIXHaim Dreyfuss5-50/+507
Working with MSIX requires prior configuration. This includes requesting interrupt vectors from the OS, registering the vectors and mapping the optional causes to the relevant interrupt. In addition add new interrupt handler to handle MSIX interrupt. Signed-off-by: Haim Dreyfuss <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: pcie: aggregate Flow Handler configuration writesEmmanuel Grumbach1-28/+28
Instead of waking up the device each time we write a register, wake it up once, and writes the registers at once. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: bump firmware API to 21Emmanuel Grumbach3-5/+5
The driver is now ready to handle this firmware. Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: rs: fix a theoretical access to uninitialized array elementsEyal Shapira1-0/+1
Klocwork is unhappy as ht_vht_rates might be accessed with rate->index being set to values between 0 and 3 which will lead to accessing uninitialized array elements. Effectively this doesn't happen as in HT/VHT we're not using these rate indices. Still fix this. Signed-off-by: Eyal Shapira <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: handle pass all scan reportingLuca Coelho3-5/+44
The firmware doesn't send match found notifications when no matchsets are passed. This makes sense because if there are no matchsets, nothing can be matched. But the nl80211 API should report when there are results available, even if no matchsets were passed. To handle this, we can use the firmware's ITERATION_COMPLETE reporting, which will send us notifications every time it completed a scheduled scan iteration. Then we can set a flag when we received beacons and use that to report that results are available. Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27Merge tag 'iwlwifi-for-kalle-2016-02-15' into HEADEmmanuel Grumbach12-127/+243
These are a few fixes for the current cycle. 3 out of the 5 patches fix a bugzilla. * fix a race that users reported when we try to load the firmware and the hardware rfkill interrupt triggers at the same time. * Luca fixes a very visible bug in scheduled scan: our firmware doesn't support scheduled scan with no profile configured and the supplicant sometimes requests such scheduled scans. * build system fix * firmware name update for 8265 * typo fix in return value
2016-02-27iwlwifi: mvm: fix RSS key sizingSara Sharon3-4/+5
The initialization and copying of the RSS secret key should not use ARRAY_SIZE as we need to initialize a dword array, and not a byte array. Fix also the hook maximum write size to allow writing a longer table - up to full indirection table size. Fixes: 43413a975d06("iwlwifi: mvm: support rss queues configuration command") Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: set the correct descriptor size for tracingSara Sharon1-1/+3
The 9000 series uses a diffrent sized descriptor. Update the relevant tracing field. Signed-off-by: Sara Sharon <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: add registration to cooling deviceChaya Rachel Ivgi6-0/+200
Register cooling device in order to have the Thermal Manager handle the device's power budget according to the sent notifications. The interface adds a new thermal cooling device to /sys/class/thermal/ folder. Signed-off-by: Chaya Rachel Ivgi <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: add registration to thermal zoneChaya Rachel Ivgi5-17/+353
Register to thermal_zone interface and implement the thermal ops. The thermal handles the device throttling, and sets the the temperature thresholds the Thermal Manager would be notified of crossing. The thermal interface adds a new thermal zone device sensor under /sys/class/thermal/ folder. Signed-off-by: Chaya Rachel Ivgi <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27iwlwifi: mvm: add CT-KILL notificationChaya Rachel Ivgi5-1/+61
Up to today the driver was notified of the temperature from the FW and decided whether to enter CT-kill or not. From now on, the FW will decide when to enter CT-kill and will notify the driver. Add support for this notification. Signed-off-by: Chaya Rachel Ivgi <[email protected]> Signed-off-by: Luca Coelho <[email protected]> Signed-off-by: Emmanuel Grumbach <[email protected]>
2016-02-27Merge tag 'mac80211-next-for-davem-2016-02-26' into next2Emmanuel Grumbach25-94/+121
Here's another round of updates for -next: * big A-MSDU RX performance improvement (avoid linearize of paged RX) * rfkill changes: cleanups, documentation, platform properties * basic PBSS support in cfg80211 * MU-MIMO action frame processing support * BlockAck reordering & duplicate detection offload support * various cleanups & little fixes
2016-02-26Merge tag 'iwlwifi-for-kalle-2016-02-25' of ↵Kalle Valo4-1/+17
https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes Two fixes for 4.5: * We forgot to free the paging memory (Matti) * Fix the frames in flight accounting (Liad)
2016-02-25ath10k: fix updating peer stats rx durationMohammed Shafi Shajakhan1-3/+3
We are not updating peer stats rx_duration periodically unless the user one polls for fw_stats, this is because we discard the update event since pdev list is empty. Fix this by updating rx duration periodically irrepective of checks for pdev list (irrespective of ping-pong response) Fixes: 856e7c3 ("ath10k: add debugfs support for Per STA total rx duration") Signed-off-by: Mohammed Shafi Shajakhan <[email protected]> Signed-off-by: Kalle Valo <[email protected]>