summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k
Commit message (Collapse)AuthorAgeFilesLines
...
* | ath9k_htc: add new WMI_REG_RMW_CMDID commandOleksij Rempel2015-03-305-6/+172
| | | | | | | | | | | | | | | | | | | | | | | | Since usb bus add extra delay on each request, a command with read + write requests is too expensive. We can dramtically reduce usb load by moving this command to firmware. In my tests, this patch will reduce channel scan time for about 5-10 seconds. Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Fix AIC compilation errorSujith Manoharan2015-03-211-2/+4
| | | | | | | | | | | | | | | | | | | | AIC needs to be registered only when BTCOEX is enabled. This fixes the error reported by kbuild: >> ERROR: "ar9003_hw_attach_aic_ops" [drivers/net/wireless/ath/ath9k/ath9k_hw.ko] undefined! Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Start AIC calibration during MCI resetSujith Manoharan2015-03-201-0/+3
| | | | | | | | | | | | | | | | When a MCI reset is done, make sure that AIC is started. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Handle MCI_STATE_AIC_CALSujith Manoharan2015-03-203-2/+31
| | | | | | | | | | | | | | | | Add the main AIC calibration function to handle MCI_STATE_AIC_CAL. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Handle MCI_STATE_AIC_STARTSujith Manoharan2015-03-203-0/+38
| | | | | | | | | | | | | | | | This patch adds a function to handle the MCI message MCI_STATE_AIC_START. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Handle MCI_STATE_AIC_CAL_RESETSujith Manoharan2015-03-203-0/+13
| | | | | | | | | | | | | | | | Add a routine to handle the MCI_STATE_AIC_CAL_RESET message. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Disable AIC by defaultSujith Manoharan2015-03-202-1/+8
| | | | | | | | | | | | | | | | | | Since various MCI messages need to be handled, along with driver-level support in upper layers, disable AIC for now. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Process the AIC calibration resultsSujith Manoharan2015-03-201-0/+245
| | | | | | | | | | | | | | | | This patch adds support for post-processing the AIC calibration results. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Finish AIC calibrationSujith Manoharan2015-03-201-1/+77
| | | | | | | | | | | | | | | | Set the appropriate bits in the HW after AIC calibration is done. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Handle MCI_STATE_AIC_CAL_SINGLESujith Manoharan2015-03-204-0/+183
| | | | | | | | | | | | | | | | | | This patch adds routines to handle the MCI message AIC_CAL_SINGLE, starting the required HW calibration. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Add register definitions for AICSujith Manoharan2015-03-203-25/+169
| | | | | | | | | | | | | | | | Various registers to control and check AIC status. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Register private AIC opsSujith Manoharan2015-03-205-1/+54
| | | | | | | | | | | | | | | | | | AIC can be disabled or enabled on a per-card basis using MCI configuration, so register a function to check its status. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Add initial structures for AICSujith Manoharan2015-03-202-0/+60
| | | | | | | | | | | | | | | | These are necessary for implementing AIC, supported by chips like WB222. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: allow 40MHz radar detection widthZefir Kurtisi2015-03-161-1/+2
| | | | | | | | | | Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: add DFS support for extension channelZefir Kurtisi2015-03-161-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In HT40 modes, pulse events on primary and extension channel are processed individually. If valid, a pulse event will be fed into the detector * for primary frequency, or * for extension frequency (+/-20MHz based on HT40-mode) * or both With that, a 40MHz radar will result in two individual radar events. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: make ath_frame_info fit into reduced-size rate_driver_dataFlorian Westphal2015-03-131-1/+1
| | | | | | | | | | | | | | | | pre-requisite to shrink size of ieee80211_tx_info which in turn is needed to shrink skb->cb to 40 bytes again. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Fix RTT chainmask usageSujith Manoharan2015-03-131-3/+3
| | | | | | | | | | | | | | | | | | Since the RTT registers need to be configured for all valid chains irrespective of the runtime chainmask, use the actual chainmask of the chip. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Check allowed PCIE powersave configurationSujith Manoharan2015-03-131-16/+57
| | | | | | | | | | | | | | | | | | | | When assigning the initvals for PCIE sleep/awake registers, check the configuration that has been assigned to pll_pwrsave during initialization. Also, display a warning if we don't have valid arrays. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Initialize pll_pwrsave for AR9462/AR9565Sujith Manoharan2015-03-133-1/+5
| | | | | | | | | | | | | | | | Cards based on AR9462/AR9565 support more PCIE power save mechanisms, so register them correctly. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Fix PLL powersave for AR9485Sujith Manoharan2015-03-133-7/+13
| | | | | | | | | | | | | | | | | | Use the value in ah->config.pll_pwrsave to determine which array needs to be loaded. Also, initialize pll_pwrsave to 1 by default. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Add PCIE powersave macrosSujith Manoharan2015-03-131-0/+6
| | | | | | | | | | | | | | | | These will be used to handle chip-specific power save configuration. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | Merge tag 'wireless-drivers-next-for-davem-2015-03-06' of ↵David S. Miller2015-03-0616-421/+700
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | 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>
| * | 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>
| * | ath9k: Fix descriptors for keep-alive frameSujith Manoharan2015-02-261-6/+5
| |/ | | | | | | | | | | | | | | | | | | Along with AR9462, AR9565 also has an extra field in the TX descriptor which needs to be zeroed out for the keep alive frame. This makes the earlier REG_WRITE redundant, so it can be removed. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* / wireless: Use eth_<foo>_addr instead of memsetJoe Perches2015-03-032-3/+3
|/ | | | | | | | | | | | Use the built-in function instead of memset. Miscellanea: Add #include <linux/etherdevice.h> where appropriate Use ETH_ALEN instead of 6 Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* wireless: use %*pb[l] to print bitmaps including cpumasks and nodemasksTejun Heo2015-02-131-17/+6
| | | | | | | | | | | | printk and friends can now format bitmaps using '%*pb[l]'. cpumask and nodemask also provide cpumask_pr_args() and nodemask_pr_args() respectively which can be used to generate the two printf arguments necessary to format the specified cpu/nodemask. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: "John W. Linville" <linville@tuxdriver.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge tag 'wireless-drivers-next-for-davem-2015-02-07' of ↵David S. Miller2015-02-0919-466/+560
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Major changes: iwlwifi: * more work for new devices (4165 / 8260) * cleanups / improvemnts in rate control * fixes for TDLS * major statistics work from Johannes - more to come * improvements for the fw error dump infrastructure * usual amount of small fixes here and there (scan, D0i3 etc...) * add support for beamforming * enable stuck queue detection for iwlmvm * a few fixes for EBS scan * fixes for various failure paths * improvements for TDLS Offchannel wil6210: * performance tuning * some AP features brcm80211: * rework some code in SDIO part of the brcmfmac driver related to suspend/resume that were found doing stress testing * in PCIe part scheduling of worker thread needed to be relaxed * minor fixes and exposing firmware revision information to user-space, ie. ethtool. mwifiex: * enhancements for change virtual interface handling * remove coupling between netdev and FW supported interface combination, now conversion from any type of supported interface types to any other type is possible * DFS support in AP mode ath9k: * fix calibration issues on some boards * Wake-on-WLAN improvements ath10k: * add support for qca6174 hardware * enable RX batching to reduce CPU load Conflicts: drivers/net/wireless/rtlwifi/pci.c Conflict resolution is to get rid of the 'end' label and keep the rest. Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud