summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k
Commit message (Collapse)AuthorAgeFilesLines
...
| * ath9k: Delete an unnecessary check before the function call "relay_close"Markus Elfring2015-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | The relay_close() 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@codeaurora.org>
| * ath9k: Choose correct rate for 2GHz channelSujith Manoharan2015-02-061-1/+5
| | | | | | | | | | | | | | | | | | Set the transmit rate for the keep-alive frames as 1M/CCK when the current channel is in the 2GHz band. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Clear TSF2 properlySujith Manoharan2015-02-062-0/+11
| | | | | | | | | | | | | | | | | | Chips in the AR9003 family have a second TSF, which needs to be cleared when putting the card to sleep. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Program AR_WA correctlySujith Manoharan2015-02-061-17/+22
| | | | | | | | | | | | | | | | | | Setting the required configuration in the PCIE WorkAround register needs to be done after all the WoW parameters have been set. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Fix issues with WoW enableSujith Manoharan2015-02-063-95/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses several issues with the ath9k_hw_wow_enable() routine: * The usage of set/clr variables is removed. Writing the required values to registers is cleaner. * The shift value of 28 for the contention window field in AR_WOW_PATTERN is incorrect, change it to 27. * Disabling Keep Alive needs to be done based on the LINK_CHANGE option. This is done unconditionally now, fix this. * The workaround for the D1/D3 issue is required only for AR9462. * The bitfield for enabling pattern matching for packets less than 256 bytes has expanded for new chips, handle this accordingly. * General cleanup. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Register correct WOW details with mac80211Sujith Manoharan2015-02-061-2/+14
| | | | | | | | | | | | | | | | | | Since the number of user patterns is higher for newer chips, make sure that this is registered during initialization. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Add support for more WOW patternsSujith Manoharan2015-02-063-27/+56
| | | | | | | | | | | | | | | | | | | | Newer chips like WB222, WB335 support more than 8 user-configurable patterns. This patch adds support for it by setting up the correct HW registers. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Fix max pattern checkSujith Manoharan2015-02-033-31/+51
| | | | | | | | | | | | | | | | | | | | Since the maximum number of configurable patterns is chip-specific, use the HW capability instead of a fixed value for checking if a free pattern slot is available. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Cleanup reg_wow.hSujith Manoharan2015-02-031-53/+15
| | | | | | | | | | | | | | | | | | * Remove unnecessary comments. * Remove unused macros. * Indent the macros. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Remove incorrect register macrosSujith Manoharan2015-02-031-5/+0
| | | | | | | | | | | | | | | | | | These macros are applicable to pre-AR9003 chips and the addresses are different for the AR9003 family. Since they are unused anyway, remove them. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Move WOW registers to reg_wow.hSujith Manoharan2015-02-033-120/+137
| | | | | | | | | | Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Register max WOW patternsSujith Manoharan2015-02-032-1/+10
| | | | | | | | | | | | | | | | | | Since the number of patterns that can be configured in the HW is higher for newer chips, store the chip-specific value in ath9k_hw_wow. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Add a HW structure for WOWSujith Manoharan2015-02-032-6/+10
| | | | | | | | | | | | | | | | This can be used to hold the WOW state in ath9k_hw. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Simplify user pattern configurationSujith Manoharan2015-02-032-43/+12
| | | | | | | | | | | | | | | | | | There is no need to allocate a new structure and free it for every user pattern, instead use local variables. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Add a debugfs file for WOWSujith Manoharan2015-02-033-2/+71
| | | | | | | | | | | | | | | | This can be used to force WOW for cards that are not present in the supported PCI ID list. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Remove ath9k_hw_wow_event_to_stringSujith Manoharan2015-02-033-27/+3
| | | | | | | | | | | | | | Printing the value of the wakeup status is sufficient. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Remove unused BMISS processingSujith Manoharan2015-02-033-29/+0
| | | | | | | | | | | | | | | | | | | | The various variables tracking bmiss interrupts are not really used anywhere except in a debug message. Remove them since they have no functional purpose. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Check WOW triggers properlySujith Manoharan2015-02-032-30/+28
| | | | | | | | | | | | | | | | | | | | This patch makes sure that valid WOW triggers are present before trying to suspend the device. Also, introduce and use ATH_OP_WOW_ENABLED to bypass PCI suspend and clear it in resume(). Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Fix wow init/deinitSujith Manoharan2015-02-033-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | Registering the card as a wakeup source needs to be done once, during initialization. When the WOW configuration changes, the card's status as wakeup source needs to be changed too and this is done via the set_wakeup() callback. Also, make sure the device is removed properly using ath9k_deinit_wow(). Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Check multi-channel context for WOWSujith Manoharan2015-02-031-0/+9
| | | | | | | | | | | | | | | | | | If CONFIG_ATH9K_CHANNEL_CONTEXT is enabled, check whether multiple contexts are active and if so, return 1 without enabling WOW since we don't support it in this case. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Check early for multi-vif/STA conditionsSujith Manoharan2015-02-031-15/+7
| | | | | | | | | | | | | | | | | | | | If multiple interfaces are active or there is no associated station interface, bail out early and return 1 so that mac80211 can proceed with the normal suspend routine. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Remove redundant device_can_wakeup() checkSujith Manoharan2015-02-031-6/+0
| | | | | | | | | | | | | | | | | | WOW capability is registered with mac80211 only when the device has the ability to wakeup, so there is no need to check in the suspend() routine. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Return early for error conditionsSujith Manoharan2015-02-031-6/+6
| | | | | | | | | | | | | | | | | | | | Do not try to cancel work instances and ANI when the device is not present or WOW triggers are not configured. Bail out early and use ath_err() for such error conditions. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Remove ATH9K_HW_WOW_DEVICE_CAPABLESujith Manoharan2015-02-033-8/+1
| | | | | | | | | | | | | | | | | | Enabling WOW based on the chip is incorrect since it needs to be done for specific sub-devices which have proper platform support. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Enable manual peak detect calibrationSujith Manoharan2015-01-291-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | On some AR955x/QCA953x boards, noise floor calibration gets stuck and the cause is a hardware/BB issue. To fix this, peak detect calibration in the HW is disabled and is done in the driver instead. There a few differences with the calibration routine for older chips like AR9331. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Set correct peak detect thresholdSujith Manoharan2015-01-291-4/+11
| | | | | | | | | | | | | | The value is different for PCOEM cards and AR955x/AR953x. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Fix manual peak calibration initializationSujith Manoharan2015-01-291-8/+30
| | | | | | | | | | | | | | | | The LNA gain setting override needs to be done only for AR9330 and PCOEM chips. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Add a macro to identify PCOEM chipsSujith Manoharan2015-01-291-0/+3
| | | | | | | | | | | | | | | | This can be used if we need to apply register settings for all PCOEM solutions (in the AR9003 family). Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Update AR955x initvalsSujith Manoharan2015-01-291-2/+2
| | | | | | | | | | | | | | | | | | | | This patch disables HW peak detect calibration for AR955x, since it is problematic on a few boards. Instead, manual calibration will be done in the driver. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k: Update QCA953x initvalsSujith Manoharan2015-01-291-2/+2
| | | | | | | | | | | | | | | | | | | | This patch disables HW peak detect calibration for QCA953x, since it is problematic on a few boards. Instead, manual calibration will be done in the driver. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| * ath9k and ath9k_htc: rename variable "led_blink"Hong Xu2015-01-276-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ath9k and ath9k_htc use the variable name "led_blink" to indicate whether the module parameter "blink" is on. This name is easy to conflict with other variables, and has caused a compiler error found by kbuild test bot. The compiler error is as following: drivers/net/wireless/ath/ath9k/ath9k_htc.o:(.data+0x47c): multiple definition of `led_blink' drivers/net/wireless/ath/ath9k/ath9k.o:(.bss+0x20): first defined here Fixes: 3a939a671225 ("ath9k_htc: Add a module parameter to disable blink") Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Hong Xu <hong@topbug.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller2015-01-271-4/+3
|\ \ | |/ |/| | | | | | | | | | | | | | | Conflicts: arch/arm/boot/dts/imx6sx-sdb.dts net/sched/cls_bpf.c Two simple sets of overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
| * ath9k: fix race condition in irq processing during hardware resetFelix Fietkau2015-01-191-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | To fix invalid hardware accesses, the commit 872b5d814f99 ("ath9k: do not access hardware on IRQs during reset") made the irq handler ignore interrupts emitted after queueing a hardware reset (which disables the IRQ). This left a small time window for the IRQ to get re-enabled by the tasklet, which caused IRQ storms. Instead of returning IRQ_NONE when ATH_OP_HW_RESET is set, disable the IRQ entirely for the duration of the reset. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k_htc: remove dead code in error path of ath9k_htc_txcompletion_cbJohn Linville2015-01-231-5/+1
| | | | | | | | | | | | | | | | | | | | This clause is conditioned on htc_hdr != NULL, but it will only be NULL when that check is reached. Coverity: CID 114318 Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k_htc: Add a module parameter to disable blinkHong Xu2015-01-233-0/+11
| | | | | | | | | | | | | | | | | | Add an option "blink" to enable or disable the LED blink. The default value is set to 1 so that existing users would not experience any unexpected changes. Signed-off-by: Hong Xu <hong@topbug.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | ath9k: Fix no-ack frame statusSujith Manoharan2015-01-231-3/+6
| | | | | | | | | | | | | | | | | | Check if the frame has been completed without any error and use IEEE80211_TX_STAT_NOACK_TRANSMITTED to indicate successful transmission of no-ack frames. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | Merge commit 'c1e140bf79d817d4a7aa9932eb98b0359c87af33' from mac80211-nextKalle Valo2015-01-222-10/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch "ath9k: Fix no-ack frame status" needs these mac80211 patches: commit 5cf16616e152dd5c274a65954c77f64892d025a8 Author: Sujith Manoharan <c_manoha@qca.qualcomm.com> Date: Wed Dec 10 21:26:11 2014 +0530 mac80211: Fix accounting of multicast frames commit 6b127c71fbdd3daacfd8b9f80b8e6ebfb70a889e Author: Sujith Manoharan <c_manoha@qca.qualcomm.com> Date: Wed Dec 10 21:26:10 2014 +0530 mac80211: Move IEEE80211_TX_CTL_PS_RESPONSE Conflicts: drivers/net/wireless/ath/wil6210/cfg80211.c drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
| * | cfg80211: remove "channel" from survey namesJohannes Berg2015-01-081-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | All of the survey data is (currently) per channel anyway, so having the word "channel" in the name does nothing. In the next patch I'll introduce global data to the survey, where the word "channel" is actually confusing. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * | mac80211: Move IEEE80211_TX_CTL_PS_RESPONSESujith Manoharan2014-12-121-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move IEEE80211_TX_CTL_PS_RESPONSE to info->control.flags since this is used only in the TX path (by ath9k). This frees up a bit which can be used for other purposes. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* | | ath9k: Update PCI IDs for AR9565Sujith Manoharan2015-01-151-0/+85
| | | | | | | | | | | | | | | | | | | | | This patch adds several new PCI IDs for AR9565. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: enable per-packet TPC on AR9002 based chipsLorenzo Bianconi2015-01-152-7/+1
| | | | | | | | | | | | | | | | | | | | | Enable per-packet TPC on AR9002 based chips by default Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: add TPC to TX path for AR9002 based chipsLorenzo Bianconi2015-01-151-12/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add TPC capability to TX descriptor path for AR9002 based chips. Scale per-packet TX power according to eeprom power bias, power adjustments for HT40 mode and open loop CCK rates. Cap per-packet TX power according to TX power per-rate tables Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: add power per-rate tables for AR9002 chipsLorenzo Bianconi2015-01-155-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add TX power per-rate tables for MIMO/legacy modes for AR9002 based chips in order to cap the maximum TX power value per-rate in the TX descriptor path. Add TX power adjustments for HT40 mode, open loop CCK rates and eeprom power bias for AR9280 and later chips Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entriesArend van Spriel2015-01-151-100/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the helper to get rid of the file operations per debugfs file. The device driver data contains struct ieee80211_hw pointer and the struct ath9k_softc pointer is assigned to ieee80211_hw::priv so it can be accessed in the seq_file read operation. Cc: ath9k-devel@lists.ath9k.org Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: Add QCA956x HW supportMiaoqing Pan2015-01-156-32/+76
| | | | | | | | | | | | | | | | | | Signed-off-by: Miaoqing Pan <miaoqing@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: Fix register definitions for QCA956xMiaoqing Pan2015-01-151-8/+11
| | | | | | | | | | | | | | | | | | Signed-off-by: Miaoqing Pan <miaoqing@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: Add initvals for QCA956xMiaoqing Pan2015-01-152-1/+1106
| | | | | | | | | | | | | | | | | | Signed-off-by: Miaoqing Pan <miaoqing@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: Add HW IDs for QCA956xMiaoqing Pan2015-01-154-0/+13
| | | | | | | | | | | | | | | | | | Signed-off-by: Miaoqing Pan <miaoqing@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: fix typoLorenzo Bianconi2014-12-241-1/+1
| | | | | | | | | | | | | | | | | | | | | Fix typo Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
* | | ath9k: add debugfs support for hw TPCLorenzo Bianconi2014-12-241-0/+71
| | | | | | | | | | | | | | | | | | | | | Add tpc entry to ath9k debugfs in order to enable/disable hw TPC Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
OpenPOWER on IntegriCloud