summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'wireless-drivers-next-for-davem-2015-03-06' of ↵David S. Miller2015-03-0639-742/+1411
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Major changes: brcmfmac: * sdio improvements * add a debugfs file so users can provide us all the revinfo we could ask for iwlwifi: * add triggers for firmware dump collection * remove support for -9.ucode * new statitics API * rate control improvements ath9k: * add per-vif TX power capability * BT coexistance fixes ath10k: * qca6174: enable STA transmit beamforming (TxBF) support * disable multi-vif power save by default bcma: * enable support for PCIe Gen 2 host devices Signed-off-by: David S. Miller <davem@davemloft.net>
| * Merge ath-next from ath.gitKalle Valo2015-03-0512-45/+462
| |\ | | | | | | | | | | | | | | | | | | Major changes in ath10k: * qca6174: enable STA transmit beamforming (TxBF) support * disable multi-vif power save by default
| | * ath10k: disable multi-vif ps by defaultMichal Kazior2015-03-042-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | Not all firmware revisions have a proper multi-interface client powersaving implementation, e.g. qca6174 WLAN.RM.2.0-00073. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: workaround qca6174 sta powersave issueMichal Kazior2015-03-042-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qca6184 WLAN.RM.2.0-00073 has a bug in sta powersave state machine and requires peer param to be poked to enable the powersave. Calling this unconditionally should be safe for other chips/firmwares. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix wmm params per vdevMarek Puzyniak2015-03-042-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During wmm tests changing wmm parameters did not change anything. This was because of mismatch in WMM params per vdev command. WMM params per vdev uses different command structure than wmm params per pdev command. Patch concerns qca6174. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: workaround corrupted htt rx eventsMichal Kazior2015-03-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qca6174 WLAN.RM.2.0-00073 firmware uses full rx reordering offload and delivers Rx via a new HTT event. The event however is incorrectly generated in firmware and becomes overly long (with trailing garbage). This was hitting defined CE buffer limit that was programmed to the device and caused device to crash upon busier Rx traffic. Increasing the CE buffer limit for HTT Rx pipe to 2KBytes seems to be enough to workaround this problem. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: delete unnecessary checks before the function call "release_firmware"Markus Elfring2015-03-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The release_firmware() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: add TxBF supportMichal Kazior2015-02-152-0/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If firmware advertises support for TxBF then the driver has to instruct the firmware accordingly during runtime. Without this patch connecting to an AP with beamformer support would yield abysmal Rx performance. This has been tested with wmi-tlv and qca6174 while acting as a STA beamformee only. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: implement fw stats for wmi-tlvMichal Kazior2015-02-153-4/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This processes and pushes fw stats to the debug module (if enabled). Changing the generic ath10k_wmi_requests_stats() call to use more stat bits has no effect on older firmware binaries. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: add more wmi fw stat definesMichal Kazior2015-02-152-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | New qca6174 wmi-tlv firmware revisions support more stat event bits. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: change request stats command prototypeMichal Kazior2015-02-153-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | The expected parameter is not a single value but a mask of values. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: add vdev stats processingMichal Kazior2015-02-152-0/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | New qca6174 wmi-tlv firmware supports vdev stats. This patch adds support for it in the debug frontend. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: defer AP self-peer removal waitMichal Kazior2015-02-151-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some firmware revisions don't notify host about self-bss-peer removal until after associated vdev is deleted. This has been observed with qca6174 WLAN.RM.2.0-00073 firmware. This patch fixes AP teardown slowdowns and prevents delays and warnings: ath10k_pci 0000:00:05.0: failed to remove peer for AP vdev 0: -110 ath10k_pci 0000:00:05.0: removing stale peer xx:xx:xx:xx:xx:xx from vdev_id 0 ath10k_pci 0000:00:05.0: peer-unmap-event: unknown peer id 24 ath10k_pci 0000:00:05.0: peer-unmap-event: unknown peer id 8 Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix CE_DESC_FLAGS_META_DATA_LSB definitionBen Greear2015-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The value was off by one. The error probably has no negative affect on any upstream firmware, but should be fixed anyway in case it comes into use in the future. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix spelling in htt code commentBen Greear2015-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | Fix spelling error. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: fix spelling mistakes and add details to mac loggingBen Greear2015-02-151-5/+6
| | | | | | | | | | | | | | | | | | | | | A bit of general cleanup to make debug messages more useful. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * ath10k: scan should handle scan-start-failed event properlyBen Greear2015-02-152-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | In case firmware fails to start the scan, then complete the start condition and clean up so that driver does not block on timeout. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | wil6210: increase cmd buffer size to avoid sscanf buffer overflowColin Ian King2015-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cppcheck detected a buffer overflow: [drivers/net/wireless/ath/wil6210/debugfs.c:634]: (error) Width 8 given in format string (no. 1) is larger than destination buffer 'cmd[8]', use %7s to prevent overflowing it. For the current %8s sscanf we require cmd to be 9 chars long so increase it by 1 byte to prevent the sscan overflow (rather than reduce the %8s specifier to %7s as cppcheck recommends). Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Fix issues in the main btcoex timerSujith Manoharan2015-03-031-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ath9k_mci_update_rssi() is required only for cards that use MCI scheme. Make sure that it is not called for 3-wire cards. * Call ath9k_ps_wakeup() early since register accesses are made in ath9k_mci_update_rssi(). * Fix usage of btcoex_lock to handle no_stomp_timer. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Handle timers for MCISujith Manoharan2015-03-031-21/+31
| | | | | | | | | | | | | | | | | | | | | | | | Make sure that the btcoex timers are started/stopped properly for both 3-wire and MCI schemes. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Fix wlan-active gpio for the AR9003 familySujith Manoharan2015-03-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | When disabling BTCOEX, clearing the wlanactive gpio line is required only for pre-AR9003 cards. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Fix MCI scheme initializationSujith Manoharan2015-03-033-24/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit "ath9k_hw: remove ATH_BTCOEX_CFG_MCI" removed MCI as a separate coex scheme, but we need it to avoid fiddling with GPIO registers during ath9k_init_btcoex() that are meant only for 3-wire cards. Cc: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Initialize MCI state correctlySujith Manoharan2015-03-031-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MCI configuration values are assigned in ath9k_hw_btcoex_init_mci() which are used by the MCI reset routine. When initializing BTCOEX/MCI, ath_mci_setup() ends up using uninitialized data. Fix this by setting up the configuration parameters before issuing a MCI reset. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Remove useless return value checkSujith Manoharan2015-03-031-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | ath_init_btcoex_timer() always returns 0, so checking for error conditions is not required. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: add per-vif TX power capability to TX pathLorenzo Bianconi2015-03-031-14/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to add per-vif TX power capability cap per-packet TX power to vif configured power if the latter is lower than per-rate TX power and mac80211 per-frame power. Use vif TX power if TPC has been disabled for current the interface Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: add per-vif TX power capabilityLorenzo Bianconi2015-03-033-9/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | Configure the HW with highest TX power among all vif when HW TPC has been enabled in order to add support to per-vif TX power capability. Use lowest configured power among all interfaces when TPC is disabled Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Mute BT properlySujith Manoharan2015-03-032-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set The BT/WLAN priority weights correctly and make sure that MCI_LNA_TAKE is sent only for cards that share PA/LNA. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Fix GPM initializationSujith Manoharan2015-03-033-18/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Handle MCI_STATE_INIT_GPM_OFFSET separately and do not overload ar9003_mci_get_next_gpm_offset() with a special case. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Prepare MCI interface correctlySujith Manoharan2015-03-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The LNA_TRANS message needs to be sent only for chips which have shared PA/LNA. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Setup MCI statistics properlySujith Manoharan2015-03-032-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | Use a subroutine to enable MCI debug statistics if it is present in the global configuration. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Fix MCI TX controlSujith Manoharan2015-03-032-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | This patch makes sure that the antenna configuration is used properly when setting AR_MCI_TX_CTRL. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Handle 2-ANT AR9565 in MCI resetSujith Manoharan2015-03-032-16/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | The value programmed in the BTCOEX control register is different for each chip. This patch adds support for 2-ANT, 1-ANT solutions based on AR9565. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Add new MCI configuration parametersSujith Manoharan2015-03-031-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | Several new MCI parameters need to be handled for new chips, add them. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Remove useless check in MCI resetSujith Manoharan2015-03-031-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | If we fail to allocate the sched/gpm buffers when initializing MCI, we bail out properly. Checking them in ar9003_mci_reset() is unnecessary, so remove it. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Move MCI registers to reg_mci.hSujith Manoharan2015-03-033-275/+301
| | | | | | | | | | | | | | | Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | wil6210: track privacy connection attributeVladimir Kondratiev2015-02-271-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the STA interface, track 'privacy'. Refactor safety checks to: - always print connection params - always check IE size validity - require RSN IE for secure connection Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | wil6210: rename 'secure_pcp' to 'privacy'Vladimir Kondratiev2015-02-274-4/+4
| | | | | | | | | | | | | | | | | | | | | Make this field to track privacy attribute for all interface types Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | wil6210: Fix division by zero in wil_vring_debugfs_showBoris Sorochkin2015-02-271-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | On some platforms get_cycles() implemented to allways return 0. On such platforms "Division by zero" bug was triggered. Signed-off-by: Boris Sorochkin <boriss@codeaurora.org> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | wil6210: Change of threshold for tx vring idleness measurementVladimir Shulman2015-02-273-17/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change threshold to be variable debugfs entry from hard-coded 0. Default threshold value is 16 descriptors because HW is capable of fetching up to 16 descriptors at once. Signed-off-by: Vladimir Shulman <qca_shulmanv@qca.qualcomm.com> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | wil6210: branch prediction hintsVladimir Kondratiev2015-02-272-32/+33
| | | | | | | | | | | | | | | | | | | | | | | | Mark expected branches using likely()/unlikely(). Do it on high performance route - data path and interrupts Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | wil6210: enable fix for HW bug in 802.11->803.3 transformVladimir Kondratiev2015-02-273-31/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the old hardware, bug existed that caused DA and SA for every Rx packet to be swapped in the AP mode. New hardware has fix for this bug. Enable this fix in the hardware. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | wil6210: remove support for old hardwareVladimir Kondratiev2015-02-275-123/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware older than Sparrow B0 obsolete. There is no WiFi product that uses this hardware. Recent firmware does not support it either. Remove driver support. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | wil6210: boot loaderVladimir Kondratiev2015-02-277-50/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce boot loader. Instead of the operational firmware, very small boot loader is burned to the on-board flash. Boot loader initializes hardware upon reset, and prepares for low power mode. Boot loader reports MAC address and detects radio chip connected. Driver loads firmware only when bringing up interface. All information required to set up network interface, most important is MAC address, reported by the boot loader The firmware composed of 2 files: - wil6210.fw - firmware itself (compiled code + data) - wil6210.board - board file (various board and radio dependent calibrations and parameters) Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k_htc: Add new USB IDLeon Nardella2015-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This device is a dongle made by Philips to enhance their TVs with wireless capabilities, but works flawlessly on any upstream kernel, provided that the ath9k_htc module is attached to it. It's correctly recognized by lsusb as "0471:209e Philips (or NXP) PTA01 Wireless Adapter" and the patch has been tested on real hardware. Signed-off-by: Leon Nardella <leon.nardella@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Restart TSF2 timers on wakeupSujith Manoharan2015-02-261-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | When coming out of WoW sleep, check and restart timers based on TSF2. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Clear additional WoW eventsSujith Manoharan2015-02-262-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | The events for patterns 8..15 need to be cleared on wakeup. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Handle additional patterns on wakeupSujith Manoharan2015-02-262-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | Handle the user-configured patterns in the range 8..15 when waking up and update wow_status correctly. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Check MCI PowerSave stateSujith Manoharan2015-02-262-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The power save state of MCI has to be disabled when enabling WoW sleep, check this properly. ar9003_mci_state() doesn't handle MCI_STATE_GET_WLAN_PS_STATE right now, but this will be done later when proper support for MCI/PS is added. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Add new MCI statesSujith Manoharan2015-02-261-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | Several new MCI states have to handled, add them to the list. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * | ath9k: Set keep awake timerSujith Manoharan2015-02-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When MCI is enabled and WoW sleep is enabled, make sure that the RTC keep awake timer is set with the required value. This is also required when the AR_WA is programmed. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
OpenPOWER on IntegriCloud