#
7ac76764 |
|
24-Oct-2017 |
Kees Cook <keescook@chromium.org> |
ath: Convert timers to use timer_setup() In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Kalle Valo <kvalo@qca.qualcomm.com> Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
c39265f7 |
|
29-Aug-2016 |
Baoyou Xie <baoyou.xie@linaro.org> |
ath9k: mark ath_fill_led_pin() static We get 1 warning about global functions without a declaration in the ath9k gpio driver when building with W=1: drivers/net/wireless/ath/ath9k/gpio.c:25:6: warning: no previous prototype for 'ath_fill_led_pin' [-Wmissing-prototypes] In fact, this function is only used in the file in which it is declared and don't need a declaration, but can be made static. so this patch marks it 'static'. Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
79d4db12 |
|
06-Mar-2016 |
Miaoqing Pan <miaoqing@codeaurora.org> |
ath9k: cleanup led_pin initial Make ath_init_leds() and ath_deinit_leds() pairs as the only API to set leds, also removed direction configuration from ath9k_start() and ath9k_stop(). So the initial is more clear now. Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
db222190 |
|
06-Mar-2016 |
Miaoqing Pan <miaoqing@codeaurora.org> |
ath9k: free GPIO resource for SOC GPIOs For SOC GPIOs, should call ath9k_hw_gpio_free() to release the GPIO resource. Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
b2d70d49 |
|
06-Mar-2016 |
Miaoqing Pan <miaoqing@codeaurora.org> |
ath9k: make GPIO API to support both of WMAC and SOC commit 61b559dea40e ("ath9k: add extra GPIO led support") added ath9k to support access SOC's GPIOs, but implemented in a separated API: ath9k_hw_request_gpio(). So this patch make the APIs more common, to support both of WMAC and SOC GPIOs. The new APIs as below, void ath9k_hw_gpio_request_in(); void ath9k_hw_gpio_request_out(); void ath9k_hw_gpio_free(); NOTE, the BSP of the SOC chips(AR9340, AR9531, AR9550, AR9561) should set the corresponding MUX registers correctly. Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
61b559de |
|
31-Mar-2015 |
Miaoqing Pan <miaoqing@qca.qualcomm.com> |
ath9k: add extra GPIO led support ar9550 or later chips, the AR_GPIO_IN_OUT register only can control GPIO[0:3]. For the extra GPIO, use standard GPIO calls instead of WMAC internal registers. Signed-off-by: Miaoqing Pan <miaoqing@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
#
6e6dd08d |
|
28-Feb-2015 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix issues in the main btcoex timer * 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>
|
#
c7266e99 |
|
28-Feb-2015 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Handle timers for MCI 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>
|
#
e1ff147d |
|
28-Feb-2015 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix MCI scheme initialization 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>
|
#
510baea1 |
|
28-Feb-2015 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Initialize MCI state correctly 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>
|
#
44b9b56e |
|
28-Feb-2015 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Remove useless return value check 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>
|
#
0c8a1e43 |
|
24-Jan-2015 |
Hong Xu <hong@topbug.net> |
ath9k and ath9k_htc: rename variable "led_blink" 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>
|
#
aeeb2065 |
|
15-Nov-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix LED configuration On some x86 platforms, the LED gpio is active high instead of active low. Identify such cards and modify the GPIO usage to make sure LED works properly. Cc: Russell Hu <rhu@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
c67ce339 |
|
14-Dec-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: clean up generic timer code - Use generic bitops instead of custom hackery - Move interrupt enable/disable logic from ath9k to ath9k_hw - Decouple ISR call from btcoex - Make the overflow callback optional (to prevent IRQ storms) Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
168c6f89 |
|
14-Dec-2013 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: use a software timer for btcoex no_stomp_timer TSF accuracy is not needed here, and there is only one usable generic timer that is supported by all chips and uses the primary TSF counter. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5e88ba62 |
|
05-Sep-2013 |
Zefir Kurtisi <zefir.kurtisi@neratec.com> |
ath9k: replace snprintf() with scnprintf() Whenever the return value of snprintf() is used to calculate remaining buffer-space, we wanted to use sncprintf() instead. Indentation is adapted where possible. Some lines exceed the line width limit, either they did it already before, or since they can not be broken reasonably well. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
bea843c7 |
|
21-Nov-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k/ath9k_htc: Remove WME macros Use the macros provided by mac80211 and remove redundant declarations inside the drivers. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2884561a |
|
20-Nov-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: stomp audio profiles on weak signal strength On lower WLAN signal strength, WLAN downlink traffic might suffer from retransmissions. At the mean time, playing SCO/A2DP profiles is affecting WLAN stability. In such scenario, by stomping SCO/A2DP BT traffic completely for a BTCOEX period, gives WLAN traffic an oppertunity to recover PHY rate. It also improves WLAN stability at lower RSSI without sacificing BT traffic. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ac46ba43 |
|
19-Nov-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix BTCOEX debugfs file usage The debugfs file for dumping btcoex parameters unconditionally assumes a MCI-based device. This will not work for older btcoex chips. Fix this by branching out the routine into separate functions. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4df50ca8 |
|
25-Oct-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: Dump BTCOEX tuning parameters Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
e82cb03f |
|
12-Oct-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: adjust WLAN and BT concurrent transmission The simulataneous transmission of both WLAN and BT might cause increase in power levels. To avoid regulatory violation, WLAN tx power will be adjusted according to BT power index based on avaliability of BT scheduling messages. WLAN tx power reduction might affect its performance. So WLAN tx power is only be lowered when the signal strength is good enough. Otherwise concurrent tx will be disabled and WLAN uses it default power levels. Also concurrent tx is disabled whenever WLAN is moving to off-channel which might be used by BT. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
be41b052 |
|
08-Oct-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: Ensure we set FTP_STOMP_LOW weight when WLAN is idle When WLAN is idle ensure we downgrade to FTP_STOMP_LOW weight (from STOMP_LOW) to provide more bandwidth for BT FTP profile. WLAN's idleness can be estimated by taking into account of the rx data packets and just ignore beacons, qos nullfunc etc. Also update bt_wait_time even if the chip is in NETWORK SLEEP mode. This should help BT throughput when WLAN is idle. Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
750f32cf |
|
29-Sep-2012 |
Sujith Manoharan <c_manoha@qti.qualcomm.com> |
ath9k: Fix BT_OP_SCAN usage BT_OP_SCAN is applicable only for pre-MCI WLAN/BT combo chips and using it for MCI-based cards is incorrect. Fix this by cleaning up its usage. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
78b1775b |
|
29-Sep-2012 |
Sujith Manoharan <c_manoha@qti.qualcomm.com> |
ath9k: Use a helper routine for MCI/FTP tuning Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5160b46f |
|
27-Sep-2012 |
Sujith Manoharan <c_manoha@qualcomm.com> |
ath9k: Fix BTCOEX weight initialization The WLAN/BT weights have to set correctly before BTCOEX is initialized. Currently, this is not done for all chips in the AR9003 family. This patch fixes this issue by setting the weights in the init path. While at it, rename ar9462_wlan_weights to mci_wlan_weights since it is common to both AR9462 and AR9565. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
6a73f507 |
|
26-Sep-2012 |
Bala Shanmugam <bkamatch@qca.qualcomm.com> |
ath9k: Enable MCI for AR9565 Signed-off-by: Bala Shanmugam <bkamatch@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5418b0f0 |
|
14-Sep-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: update hw_timer_enabled to false when we stop generic timers Update the 'hw_timer_enabled' to 'false' wherever we are stopping hardware generic timers, excecpt the case where we start them again immediately. Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
8f176a3a |
|
12-Sep-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: fill led_pin before drv_start Ensure that led pin is filled and set to OFF before starting the driver. With recent changes, drv_start is being called even before led_init is being completed. This is causing led is always OFF on driver load when the interface is UP. This patch splits the led init and fills the led pin before register hw. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
46025f55 |
|
10-Sep-2012 |
Sujith Manoharan <c_manoha@qualcomm.com> |
ath9k: Choose correct LED pin for AR9565 Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
94ae77ea |
|
04-Sep-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: Fix BTCOEX timer triggering comparision Its more correct to convert btcoex_period to 'us' while comparing with btcoex_no_stomp which is in 'us'. Did not find any functionality issues being fixed, as the generic hardware timer triggers are usually refreshed with the newer duty cycle. Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5d9b6f26 |
|
27-Aug-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: Fix a crash in 2 WIRE btcoex chipsets Generic timers for BTCOEX functionality is applicable only for 3 WIRE BTCOEX (and MCI) chipsets. Hence btcoex->no_stomp_timer is allocated only 3 WIRE btcoex chipsets and in all the other cases its NULL. Make sure we stop the generic timer only if 'btcoex->hw_timer_enabled' is true(only if its up and running) Fixes the following crash [68757.020454] BUG: unable to handle kernel NULL pointer dereference at 0000000c [68757.020916] IP: [<f9b055c3>] ath9k_hw_gen_timer_stop+0x13/0x80 [ath9k_hw] [68757.021251] *pde = 00000000 [68757.024384] EIP: 0060:[<f9b055c3>] EFLAGS: 00010082 CPU: 0 [68757.024384] EIP is at ath9k_hw_gen_timer_stop+0x13/0x80 [ath9k_hw] [68757.024384] EAX: d32d0000 EBX: d32d0000 ECX: 00000000 EDX: 00000000 [68757.024384] ESI: e67c24c0 EDI: 00000296 EBP: e137be2c ESP: e137be20 [68757.024384] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 [68757.024384] CR0: 8005003b CR2: 0000000c CR3: 00b99000 CR4: 000407d0 [68757.024384] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [68757.024384] DR6: ffff0ff0 DR7: 00000400 [68757.024384] Process kworker/u:2 (pid: 8917, ti=e137a000 task=ea7a6860 task.ti=e137a000) [68757.024384] Stack: [68757.024384] c06c4676 d32d0000 e67c24c0 e137be38 f81c9590 e67c1ca0 e137be40 f81c95d9 [68757.024384] e137be64 f81cd1c5 00000246 00000002 d32d0000 e67c05e0 e67c1ca0 e67c05e0 [68757.024384] 00000000 e137beac f81cdfa0 e137be84 00000246 00000246 e67c1ca0 e67c1ca0 [68757.024384] Call Trace: [68757.024384] [<c06c4676>] ? _raw_spin_lock_irqsave+0x86/0xa0 [68757.024384] [<f81c9590>] ath9k_gen_timer_stop+0x10/0x40 [ath9k] [68757.024384] [<f81c95d9>] ath9k_btcoex_stop_gen_timer+0x19/0x20 [ath9k] [68757.024384] [<f81cd1c5>] ath9k_ps_restore+0x85/0x110 [ath9k] [68757.024384] [<f81cdfa0>] ath9k_config+0x220/0x520 [ath9k] [68757.024384] [<f81cd47d>] ? ath9k_flush+0x15d/0x1b0 [ath9k] [68757.024384] [<f85c7ca5>] ieee80211_hw_config+0x135/0x2c0 [mac80211] [68757.024384] [<f860e3c8>] ieee80211_dynamic_ps_enable_work+0x198/0x5f0 [mac80211] Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Cc: Bala Shanmugam <bkamatch@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
c32cdbd8 |
|
06-Jul-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: Stop the BTCOEX timers before disabling BTCOEX Its safe to stop the BTCOEX timers 'period_timer' and 'no_stomp_timer' before disabling BTCOEX. These timers can call ath9k_hw_btcoex_enable (or) change the BT stomp type if they seem to be running after we had called ath9k_hw_btcoex_disable, which is obviously not correct. Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Cc: Bala Shanmugam <bkamatch@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
dd89f05a |
|
06-Jul-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: Fix MCI cleanup We are doing MCI cleanup eventhough BTCOEX is not enabled via module parameter. This means we do ath_mci_cleanup though we skipped calling ath_mci_setup. Yet it does not causes any issues now as we free the DMA buffer allocated only when it is allocated during ath_mci_setup. Reviewed-by: Bala Shanmugam <bkamatch@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
08d4df41 |
|
01-Jul-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: fix power consumption on network sleep when BTCOEX is enabled The chip is waken up for every 45ms in btcoex timer cycle to for sharing the radio between BT and WLAN. Whenever the wlan interface is in network sleep mode, do not schedule hw timers. This could reduce power consumption on idle associated state. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
c11216d1 |
|
28-Jun-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: Fix clearing of BTCOEX flags BTCOEX flags are set/cleared by atomic operations. We got to do the same in ath9k_btcoex_timer_resume, while clearing those BTCOEX flags. Acked-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
81294489 |
|
27-Jun-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k_hw: make use of the wrapper to check for MCI init ath9k_hw_mci_is_enabled wrapper also takes care of ATH9K_HW_CAP_MCI being set for the AR9462 under test. Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
b98ccec0 |
|
12-Jun-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: remove p_data argument from ar9003_mci_state As p_data is unuse, lets remove it from ar9003_mci_state. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
dfd0587a |
|
10-Jun-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: keep btcoex period in milliseconds btcoex periord is converted into micro seconds during initialization and converted back to milli seconds while starting timer. As MCI code handles btcoex period in msec, lets keep the btcoex timer in msec and convert them into other form whenever needed. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
6995fb80 |
|
04-Jun-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: improve BT FTP/PAN performance When BT FTP/PAN transmits while WLAN is idle, the one of 9462 chain often picks up BT's tx signal and starts receiving. If the current weight is set to be higher than BT tx, BT tx will be aborted and this also degrades BT performance. Hence lower WLAN rx priority in this case only when there are no WLAN traffic. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
e6930c4b |
|
04-Jun-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Use separate operational flags for BTCOEX Also, use atomic operations to check the flags. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
0466e254 |
|
19-Apr-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: remove ATH_BTCOEX_CFG_MCI AR9462 uses modified version of 3-Wire hw scheme for btcoex. MCI itself is not a separate hw scheme but it aids to manage multiple bt profiles. In ar9462, bt priority traffic is identified by the number of bt profile types instead of gpio. So that this patch removes MCI hw scheme. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
7b27ba4e |
|
12-Apr-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: do not register LEDs on AR913x LED support is typically handled via system GPIO on these platforms. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
bff2ec2b |
|
11-Mar-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix BTCOEX shutdown Flush MCI profiles only if MCI is being actually used. This fixes a panic on driver unload when non-MCI devices are being used and btcoex_enable is set. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffffa06296d2>] ath_mci_flush_profile+0x12/0x100 [ath9k] Call Trace: [<ffffffffa061befe>] ath9k_stop_btcoex+0x5e/0x80 [ath9k] [<ffffffffa061ed57>] ath9k_stop+0xb7/0x230 [ath9k] [<ffffffffa0533f30>] ieee80211_stop_device+0x50/0x180 [mac80211] [<ffffffffa051f0cf>] ieee80211_do_stop+0x2af/0x6a0 [mac80211] [<ffffffffa051f4da>] ieee80211_stop+0x1a/0x20 [mac80211] [<ffffffff81365d96>] __dev_close_many+0x86/0xe0 [<ffffffff81365ee0>] dev_close_many+0xa0/0x110 [<ffffffff81366038>] rollback_registered_many+0xe8/0x260 [<ffffffff813661cb>] unregister_netdevice_many+0x1b/0x80 [<ffffffffa051e950>] ieee80211_remove_interfaces+0xd0/0x110 [mac80211] [<ffffffffa050c133>] ieee80211_unregister_hw+0x53/0x120 [mac80211] [<ffffffffa061d5a4>] ath9k_deinit_device+0x44/0x70 [ath9k] [<ffffffffa062c1d4>] ath_pci_remove+0x54/0xa0 [ath9k] [<ffffffff81267c46>] pci_device_remove+0x46/0x110 [<ffffffff8131021c>] __device_release_driver+0x7c/0xe0 [<ffffffff81310960>] driver_detach+0xd0/0xe0 [<ffffffff81310078>] bus_remove_driver+0x88/0xe0 [<ffffffff81311122>] driver_unregister+0x62/0xa0 [<ffffffff81268004>] pci_unregister_driver+0x44/0xc0 [<ffffffffa062c8b5>] ath_pci_exit+0x15/0x20 [ath9k] [<ffffffffa063205d>] ath9k_exit+0x15/0x31 [ath9k] [<ffffffff810b92cc>] sys_delete_module+0x18c/0x270 [<ffffffff814373dd>] ? retint_swapgs+0x13/0x1b [<ffffffff8124828e>] ? trace_hardirqs_on_thunk+0x3a/0x3f [<ffffffff81437de9>] system_call_fastpath+0x16/0x1b Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
9a15858f |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Remove ATH9K_HW_CAP_MCI checks With the ability to remove BTCOEX support at compile time, these checks are no longer needed. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
64ab38df |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Remove ATH_BTCOEX_CFG_NONE checks Since BTCOEX code can be compiled out cleanly now, remove these checks. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
d68475de |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Initialize BTCOEX scheme using a helper Setting up the required scheme can be done as part of the BTCOEX initialization path and it doesn't belong in ath9k_hw_fill_cap_info() anyway. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4daa7760 |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Use CONFIG_ATH9K_BTCOEX_SUPPORT This patch uses CONFIG_ATH9K_BTCOEX_SUPPORT to conditionally compile btcoex-related code in the driver core. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
c0ac53fa |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Calculate ampdu limit using a helper Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
56ca0dba |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Process BTCOEX interrupts using a helper Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
df198b17 |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Use proper start/stop routines for BTCOEX Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5908120f |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Move BTCOEX init/deinit functions to gpio.c Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
8a309305 |
|
17-Dec-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: make bluetooth coexistence support optional at compile time Many systems (e.g. embedded systems) do not have wifi modules connected to bluetooth modules, so bluetooth coexistence is irrelevant there. With the addition of MCI support, ath9k picked up quite a bit of extra code that can be compiled out this way. This patch redefines ATH9K_HW_CAP_MCI and adds an inline wrapper for querying the bluetooth coexistence scheme, allowing the compiler to eliminate code that uses it, with only very little use of #ifdef. On MIPS this reduces the total size for the modules by about 20k. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
d2182b69 |
|
15-Dec-2011 |
Joe Perches <joe@perches.com> |
ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO Add ATH_DBG_ to macros to shorten the uses and reduce the line count. Coalesce ath_dbg formats. Add missing spaces to coalesced formats. Add missing newline terminations to ath_dbg formats. Align ath_dbg arguments where appropriate. Standardize ath_dbg formats without periods. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
bc6d5c29 |
|
12-Nov-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: Remove enabling btcoex from stomp type change This patch removes btcoex_enable from stomp type change and let it be called from callee functions that makes the code can be reusable for MCI changes. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
7dc181c2 |
|
24-Oct-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: Add btcoex profile management support for AR9462 AR9462 chips have the capabilities to provoide bluetooth profile information. For non-AR9462 btcoex chips, the BT priority traffic was identified by periodically polling the respective registers and updated dutycycle, stomptype, etc. As AR9462 chip offers the BT profile informations, let us make use of that to update aggregation limit, dutycycle, stomptype and wieghtages. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
423e38e8 |
|
12-Oct-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: Rename AR9480 into AR9462 Renamed to be in sync with Marketing term and to avoid confusion with other chip names. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
72d874c6 |
|
08-Oct-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: make ath9k_hw_set_interrupts use ah->imask by default Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
90826313 |
|
28-Sep-2011 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k/ath9k_htc: Fix PS wrappers for RF kill ath9k_hw_gpio_get reads the GPIO in/out registers to get the status of GPIO pins, so use PS wrappers Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
79ac9b30 |
|
14-Sep-2011 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: enable LED pin for AR946/8x chipsets now the LED starts working for AR946/8x chipsets Cc: "Balasubramanian, senthilkumar" <senthilb@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
b037b693 |
|
05-Aug-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: do not enable interrupt on set interrupt mask At preset set_interrupt also enables interrupt after changing mask. This is not necessary in all cases and also sometime it breaks the assumption that interrupt was disabled. So let us enable the interrupt explicity if it was disabled earlier. This could also avoid unnecessary register ops and also helps the follow up patch to have global ref count for interrupts ops. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5b68138e |
|
17-May-2011 |
Sujith Manoharan <Sujith.Manoharan@atheros.com> |
ath9k: Drag the driver to the year 2011 The Times They Are a-Changin'. Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
a039a993 |
|
25-Apr-2011 |
Vivek Natarajan <vnatarajan@atheros.com> |
ath9k: Use ps wrappers for btcoex logic. Use ps wrappers before accessing hw registers in btcoex. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
978f78bf |
|
25-Apr-2011 |
Vivek Natarajan <vnatarajan@atheros.com> |
ath9k_hw: Move bt_stomp to hw from common. Move bt_stomp to ath9k_hw and add its support for latest chipsets. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
353e5019 |
|
22-Apr-2011 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k: Fix LED gpio for AR93xx chipsets. The LED gpio is incorrectly programmed for AR9300 and so the led is not working propelry. AR93xx uses gpio 10 for LED and not the default. Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
788f6875 |
|
21-Apr-2011 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k: Fix bug in configuring hw timer Hw next tigger time is configured as current_tsf + (timer_period * 10) which is wrong, it should be current_tsf + timer_period. The wrong hw timer configuration would cause btcoex related issues. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
6de66dd9 |
|
19-Mar-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: add support for overriding LED pin and GPIO settings from platform data Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
15178535 |
|
28-Feb-2011 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k: Fix incorrect GPIO LED pin for AR9485 AR9485 doesn't use the default GPIO pin for LED and GPIO 6 is actually used for this. Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
0cf55c21 |
|
27-Feb-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: use generic mac80211 LED blinking code Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
9ac58615 |
|
24-Jan-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: fold struct ath_wiphy into struct ath_softc Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
226afe68 |
|
02-Dec-2010 |
Joe Perches <joe@perches.com> |
ath: Convert ath_print to ath_dbg Remove ath/debug.h and the includes of these files. Coalesce long formats. Correct a few misspellings and missing "\n"s from these logging messages. Remove unnecessary trailing space before a newline. Remove ARRAY_SIZE casts, use printf type %zu Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
3800276a |
|
02-Dec-2010 |
Joe Perches <joe@perches.com> |
ath: Convert ath_print(.., ATH_DBG_FATAL to ath_err So these errors are always emitted at KERN_ERR level. Remove ARRAY_SIZE casts, use printf type %zu Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
8eb1dabb |
|
15-Oct-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: remove a redundant call to ath9k_hw_gettsf32 When the timer_next argument to ath9k_gen_timer_start is behind the tsf value, tsf + timer_period is used, which is what ath_btcoex_period_timer was setting it to. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4df3071e |
|
08-Nov-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: optimize interrupt mask changes OProfile showed that ath9k was spending way too much time in ath9k_hw_set_interrupts. Since most of the interrupt mask changes only need to globally enable/disable interrupts, it makes sense to split this part into separate functions, replacing all calls to ath9k_hw_set_interrupts(ah, 0) with ath9k_hw_disable_interrupts(ah). ath9k_hw_set_interrupts(ah, ah->imask) only gets changed to ath9k_hw_enable_interrupts(ah), whenever ah->imask was not changed since the point where interrupts were disabled. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
d99eeb87 |
|
18-Aug-2010 |
Vivek Natarajan <vnatarajan@atheros.com> |
ath9k_common: Move bt_stomp to common for sharing with ath9k_htc. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
9a75c2ff |
|
22-Jun-2010 |
Vivek Natarajan <vnatarajan@atheros.com> |
ath9k: Add a module parameter to disable led blinking. Some vendors require the LED to be ON always irrespective of any radio activity. Introducing a module parameter to disable blinking, so that one can choose between always on or led blink during activity. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
60ece404 |
|
24-Mar-2010 |
Frans Pop <elendil@planet.nl> |
wireless/ath: remove trailing space in messages Signed-off-by: Frans Pop <elendil@planet.nl> Cc: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
3069168c |
|
31-Mar-2010 |
Pavel Roskin <proski@gnu.org> |
ath9k: move imask from sc to ah Add ah variable in the functions that didn't have it and used sc->imask. Replace sc->sc_ah with ah in those functions. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
58da1318 |
|
20-Jan-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k: Fix wifi disconnection when collocated bt scan is active As all bt packets are priority traffic during bt scan, wifi will get disconnected when bt scan lasts for few seconds. Fix this by allocating 10% of bt period time (4.5ms) to wifi fully. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
0fca65c1 |
|
07-Jan-2010 |
Sujith <Sujith.Manoharan@atheros.com> |
ath9k: Add a new file for GPIO Move all LED/RFKILL/BTCOEX related code to gpio.c Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|