#
b3a663f0 |
|
06-Dec-2022 |
Wenli Looi <wlooi@ucalgary.ca> |
wifi: ath9k: remove most hidden macro dependencies on ah Adds an explicit _ah parameter to most macros that previously had a hidden dependency on ah. This makes the code more compliant with the style guide. This change does not appear to affect the final binary. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/c8369317-cf84-f0e3-fe8-9b6e22e43a6a@ucalgary.ca
|
#
7c458230 |
|
25-Mar-2022 |
Wenli Looi <wlooi@ucalgary.ca> |
ath9k: make is2ghz consistent in ar9003_eeprom Replace a "mode" variable indicating "is 5ghz" with an "is2ghz" variable to make it consistent with other functions in the file. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20220326054754.27812-1-wlooi@ucalgary.ca
|
#
673424ce |
|
20-Mar-2022 |
Wenli Looi <wlooi@ucalgary.ca> |
ath9k: add functions to get paprd rate mask This removes some code duplication with le32_to_cpu. This may also be required for QCN550x support, to provide an abstraction over the underlying EEPROM format. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20220320233010.123106-7-wlooi@ucalgary.ca
|
#
9aaff386 |
|
20-Mar-2022 |
Wenli Looi <wlooi@ucalgary.ca> |
ath9k: fix ar9003_get_eepmisc The current implementation is reading the wrong eeprom type. Fixes: d8ec2e2a63e8 ("ath9k: Add an eeprom_ops callback for retrieving the eepmisc value") Signed-off-by: Wenli Looi <wlooi@ucalgary.ca> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20220320233010.123106-5-wlooi@ucalgary.ca
|
#
3096a4d9 |
|
20-Mar-2022 |
Wenli Looi <wlooi@ucalgary.ca> |
ath9k: use AR9300_MAX_CHAINS when appropriate Replace other constants with AR9300_MAX_CHAINS when appropriate. This change does not appear to affect the final binary. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20220320233010.123106-4-wlooi@ucalgary.ca
|
#
23151b9a |
|
19-Jun-2021 |
Zekun Shen <bruceshenzk@gmail.com> |
ath9k: fix OOB read ar9300_eeprom_restore_internal Bad header can have large length field which can cause OOB. cptr is the last bytes for read, and the eeprom is parsed from high to low address. The OOB, triggered by the condition length > cptr could cause memory error with a read on negative index. There are some sanity check around length, but it is not compared with cptr (the remaining bytes). Here, the corrupted/bad EEPROM can cause panic. I was able to reproduce the crash, but I cannot find the log and the reproducer now. After I applied the patch, the bug is no longer reproducible. Signed-off-by: Zekun Shen <bruceshenzk@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/YM3xKsQJ0Hw2hjrc@Zekuns-MBP-16.fios-router.home
|
#
80e84f36 |
|
26-Sep-2019 |
Denis Efremov <efremov@linux.com> |
ath9k_hw: fix uninitialized variable data Currently, data variable in ar9003_hw_thermo_cal_apply() could be uninitialized if ar9300_otp_read_word() will fail to read the value. Initialize data variable with 0 to prevent an undefined behavior. This will be enough to handle error case when ar9300_otp_read_word() fails. Fixes: 80fe43f2bbd5 ("ath9k_hw: Read and configure thermocal for AR9462") Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Cc: John W. Linville <linville@tuxdriver.com> Cc: Kalle Valo <kvalo@codeaurora.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: stable@vger.kernel.org Signed-off-by: Denis Efremov <efremov@linux.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
#
4b6e9f3f |
|
15-Jan-2019 |
Kees Cook <keescook@chromium.org> |
ath9k: eeprom: Use scnprintf instead of snprintf Change snprintf to scnprintf. There are generally two cases where using snprintf causes problems. 1) Uses of size += snprintf(buf, SIZE - size, fmt, ...) In this case, if snprintf would have written more characters than what the buffer size (SIZE) is, then size will end up larger than SIZE. In later uses of snprintf, SIZE - size will result in a negative number, leading to problems. Note that size might already be too large by using size = snprintf before the code reaches a case of size += snprintf. 2) If size is ultimately used as a length parameter for a copy back to user space, then it will potentially allow for a buffer overflow and information disclosure when size is greater than SIZE. When the size is used to index the buffer directly, we can have memory corruption. This also means when size = snprintf... is used, it may also cause problems since size may become large. Copying to userspace is mitigated by the HARDENED_USERCOPY kernel configuration. The solution to these issues is to use scnprintf which returns the number of characters actually written to the buffer, so the size variable will never exceed SIZE. Cc: Willy Tarreau <w@1wt.eu> Cc: Silvio Cesare <silvio.cesare@gmail.com> Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
#
3717957c |
|
24-Jan-2018 |
Wojciech Dubowik <Wojciech.Dubowik@neratec.com> |
ath9k: Display calibration data piers in debugfs Display per frequency calibration data in dump_modal debugfs entry including reference power, voltage, tx temperature and noise floor. Example of chain 0 of OEM card (dump from modal_eeprom): Chain 0 Freq ref volt temp nf_Cal nf_Pow rx_temp 5180 -30 0 137 0 0 0 5320 -24 0 137 0 0 0 5500 -15 0 137 0 0 0 5620 -10 0 137 0 0 0 5700 -15 0 137 0 0 0 5745 -16 0 135 0 0 0 5785 -19 0 136 0 0 0 5825 -22 0 136 0 0 0 Example of a card with calibrated noise floor. Chain 0 Freq ref volt temp nf_Cal nf_Pow rx_temp 4890 -49 0 128 -107 -97 124 5100 -23 0 128 -101 -96 124 5180 -18 0 128 -101 -96 124 5300 -12 0 128 -102 -97 124 5500 -9 0 128 -101 -97 125 5640 -17 0 128 -101 -98 124 5785 -25 0 128 -101 -98 124 5940 -33 0 128 -106 -99 124 Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
#
34d4fcd8 |
|
24-Jan-2018 |
Wojciech Dubowik <Wojciech.Dubowik@neratec.com> |
ath9k: Read noise floor calibration data from eeprom AR9003 devices can have calibrated noise floor values which can be used instead of hard coded one. Read them from eeprom and save interpolated value in nf limits for the current channel. Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
#
528782ec |
|
24-Jan-2018 |
Wojciech Dubowik <Wojciech.Dubowik@neratec.com> |
ath9k: Alternative EEPROM size for AR9003 AR9003 factory calibration allows to use bigger EEPROM than standard 1k without changing the default layout. Allow probing of EEPROM at alternative address if initial check for default fails. The original ar9003 eeprom ops are still be used. Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
#
896cbefa |
|
03-Sep-2017 |
Thomas Meyer <thomas@m3y3r.de> |
ath9k: Use ARRAY_SIZE macro Use ARRAY_SIZE macro, rather than explicitly coding some variant of it yourself. Found with: find -type f -name "*.c" -o -name "*.h" | xargs perl -p -i -e 's/\bsizeof\s*\(\s*(\w+)\s*\)\s*\ /\s*sizeof\s*\(\s*\1\s*\[\s*0\s*\]\s*\) /ARRAY_SIZE(\1)/g' and manual check/verification. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
d8ec2e2a |
|
05-Dec-2016 |
Martin Blumenstingl <martin.blumenstingl@googlemail.com> |
ath9k: Add an eeprom_ops callback for retrieving the eepmisc value This allows deciding if we have to swap the EEPROM data (so it matches the system's native endianness) even if no byte-swapping (swab16, based on the first two bytes in the EEPROM) is needed. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
291478b7 |
|
05-Dec-2016 |
Martin Blumenstingl <martin.blumenstingl@googlemail.com> |
ath9k: indicate that the AR9003 EEPROM template values are little endian The eepMisc field was not set explicitly. The default value of 0 means that the values in the EEPROM (template) should be interpreted as little endian. However, this is not clear until comparing the AR9003 code with the other EEPROM formats. To make the code easier to understand we explicitly state that the values are little endian - there are no functional changes with this patch. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
81a834e3 |
|
05-Dec-2016 |
Martin Blumenstingl <martin.blumenstingl@googlemail.com> |
ath9k: Add a #define for the EEPROM "eepmisc" endianness bit This replaces a magic number with a named #define. Additionally it removes two "eeprom format" specific #defines for the "big endianness" bit which are the same on all eeprom formats. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
a5d26827 |
|
18-Aug-2016 |
Eduardo Abinader <eduardo.abinader@riverbed.com> |
ath9k: consider return code on just to comply with current ath9k_hw_nvram_read to return value, hence behaving reacting accordingly. Signed-off-by: Eduardo Abinader <eduardo.abinader@riverbed.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
aaab50fc |
|
29-Jun-2016 |
Sven Eckelmann <sven@narfation.org> |
ath9k: Fix programming of minCCA power threshold The function ar9003_hw_apply_minccapwr_thresh takes as second parameter not a pointer to the channel but a boolean value describing whether the channel is 2.4GHz or not. This broke (according to the origin commit) the ETSI regulatory compliance on 5GHz channels. Fixes: 3533bf6b15a0 ("ath9k: Fix regulatory compliance") Signed-off-by: Sven Eckelmann <sven@narfation.org> Cc: Simon Wunderlich <sw@simonwunderlich.de> Cc: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
ceda5153 |
|
02-May-2016 |
Eduardo Abinader <eabinader@ocedo.com> |
ath9k: Remove empty test condition Just some code cleanup to remove an empty if clause. Signed-off-by: Eduardo Abinader <eduardo.abinader@riverbed.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
8569f591 |
|
28-Apr-2016 |
Helmut Schaa <helmut.schaa@googlemail.com> |
ath9k: reuse ar9003_hw_tx_power_regwrite for tx99 setup The same functionality as ar9003_hw_tx_power_regwrite is hardcoded in ar9003_hw_tx99_set_txpower. Just reuse the existing ar9003_hw_tx_power_regwrite for TX99 setup too. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
0fef3c76 |
|
17-Mar-2016 |
Ivan Safonov <insafonov@gmail.com> |
ath9k: Remove unnecessary ?: operator "(thermometer < 0) ? 0 : (thermometer == X)" is equivalent to "thermometer == X" for X >= 0. Signed-off-by: Ivan Safonov <insafonov@gmail.com> [Updated commit message] Signed-off-by: Julian Calaby <julian.calaby@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
#
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>
|
#
1542bc37 |
|
17-Jan-2016 |
Miaoqing Pan <miaoqing@codeaurora.org> |
ath9k: fix inconsistent use of tab and space in indentation Minor changes for indenting. Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
ede6a5e7 |
|
18-Dec-2014 |
Miaoqing Pan <miaoqing@qca.qualcomm.com> |
ath9k: Add QCA956x HW support 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>
|
#
23f53dd3 |
|
24-Nov-2014 |
Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> |
ath9k: add TX power per-rate tables Add TX power per-rate tables for different MIMO modes (e.g STBC) in order to cap the maximum TX power value per-rate in the TX descriptor path. Cap TX power for self generated frames (ACK, RTS/CTS). Currently TPC is supported just by AR9003 based chips Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
89b6e35c |
|
15-Nov-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix thermometer programming The registers that control the on-chip thermometer need to be programmed based on the chainmask that the solution supports, not the chainmask that is present in the eeprom. Cc: Miaoqing Pan <miaoqing@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ddbbd9e8 |
|
24-Jun-2014 |
Rajkumar Manoharan <rmanohar@qti.qualcomm.com> |
ath9k_hw: fix XPABIASLEVEL settings for AR9531 Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
d65b1278 |
|
17-Mar-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix temperature compensation The registers for temperature compensation need to be programmed only for active chains. Use the TX chainmask to make sure that this is done properly for QCA953x. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
1b5c8d60 |
|
12-Mar-2014 |
Joe Perches <joe@perches.com> |
ath9k: Convert uses of __constant_<foo> to <foo> The use of __constant_<foo> has been unnecessary for quite awhile now. Make these uses consistent with the rest of the kernel. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4cfe9a8d |
|
03-Feb-2014 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix TX power calculation The commit, "ath9k_hw: Fix incorrect Tx control power in AR9003 template" fixed the incorrect values in the eeprom templates, but if boards have already been calibrated with incorrect values, they would still be using the wrong TX power. Fix this by assigning a default value in such cases. Cc: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2c323058 |
|
30-Dec-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Add hardware support for QCA9531 Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
3533bf6b |
|
17-Dec-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix regulatory compliance To comply with ETSI regulations, make sure that the CCA registers are programmed with the threshold values from the EEPROM/Caldata. A new field is used to indicate if the card has been calibrated with the required threshold information. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ee65b388 |
|
17-Dec-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Update BaseExtension_1 eeprom structure * Add a new field "misc_enable" * Use int_8 for tempslopextension. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
66a80a3a |
|
17-Dec-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Initialize "switchcomspdt" eeprom field explicitly Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
d6b5075d |
|
06-Dec-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Apply tuning caps for AR9330 and AR9485 Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
e6d53bdc |
|
06-Dec-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix internal regulator for AR955x The internal regulator needs to be programmed correctly for AR955x. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
a1783a7b |
|
25-Nov-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix XLNA bias strength The EEPROM parameter to determine whether the bias strength values for XLNA have to be applied is part of the miscConfiguration field and not featureEnable. Cc: stable@vger.kernel.org Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
93c1cfbe |
|
25-Nov-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix QuickDrop usage Bit 5 in the miscConfiguration field of the base EEPROM header denotes whether QuickDrop is enabled or not. Fix the incorrect usage of BIT(1) and also make sure that this is done only for the required chips. Cc: stable@vger.kernel.org Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> 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>
|
#
c9468682 |
|
02-Sep-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix antenna diversity init for AR9565 Program the HW registers (AR_PHY_CCK_DETECT, AR_PHY_MC_GAIN_CTRL) with the correct values for AR9565 to allow LNA combining. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
7e12d6a4 |
|
02-Sep-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Bypass EEPROM for diversity cap for AR9565 Use a default antenna diversity value for AR9565 instead of relying on the EEPROM/OTP programmed value. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
53b2f828 |
|
28-Aug-2013 |
John W. Linville <linville@tuxdriver.com> |
ath9k: ar9003_eeprom.c:3618 fix variable name typo drivers/net/wireless/ath/ath9k/ar9003_eeprom.c: In function 'ar9003_hw_ant_ctrl_apply': >> drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3618: warning: 'regval' is used uninitialized in this function It seems obvious that 'regval' should have been 'value'... Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
e083a42e |
|
18-Aug-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Add antenna diversity tweak for CUS198 This improves RX diversity and performance for AR9485. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
b21e3e14 |
|
05-Aug-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix antenna control init for AR9485 Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
84893817 |
|
04-Aug-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Support ANT diversity for WB225 WB225 based cards like CUS198 and CUS230 support both fast antenna diversity and LNA combining. Add support for this and also program the SWCOM register with the correct "ant_ctrl_comm2g_switch_enable" value. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
7bdea96a |
|
04-Aug-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Remove "shared_chain_lnadiv" This variable is redundant since we can use common->bt_ant_diversity to determine if diversity has to be enabled/disabled. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
c2b8359d |
|
23-Jul-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix diversity combining for AR9285 When antenna diversity combining is enabled in the EEPROM, the initial values for the MAIN/ALT config have to be programmed correctly. This patch adds it for AR9285. Since the diversity combining macros are common to all chip families, remove the redundant AR9285 macros and move the definitions to phy.h. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2b5e54e2 |
|
24-Jun-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Add support for AR9462 2.1 Various parts of the HW code are applicable for both v2.0 and v2.1. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
df401907 |
|
17-Jun-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Convert a couple of debug messages Use the REGULATORY debug level to print the target power details. EEPROM can be used for other purposes and this spams the log. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
bac76a3d |
|
16-Jun-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Fix LNA gpio for AR9485 The commit "ath9k: Add custom parameters for CUS198" didn't pass the correct gpio value to ath9k_hw_cfg_output(). Fix it. Reported-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
9b60b64b |
|
13-Jun-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Add custom parameters for CUS198 CUS198 is a card based on AR9485. There are differences between the base reference design HB125 and CUS198. Identify such cards based on the PCI subsystem IDs and set HW parameters appropriately. Addresses this bug - https://bugzilla.kernel.org/show_bug.cgi?id=49201 Cc: jkp@iki.fi Cc: gfmichaud@gmail.com Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
30d5b709 |
|
10-Jun-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k_hw: Assign default xlna config for AR9485 For AR9485 boards with XLNA, the default gpio config is not set correctly, fix this. Cc: stable@vger.kernel.org Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ef95e58d |
|
03-Mar-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k_hw: Fix fixed antenna for AR9462 When the RX chainmask is set to 0x2 for AR9462, certain values from chain1 have to be programmed for chain0 also. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2d7caefb |
|
08-Jan-2013 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k_hw: Add TempCompensation feature for AR9550 Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
0e4b9f2f |
|
10-Dec-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' The 'ath9k_hw_nvram_read' function takes a 'struct ath_common *' as its first argument. Almost each of its caller has a 'struct ath_hw *' parameter in their argument list, and that is dereferenced in order to get the 'struct ath_common' pointer. Change the first argument of 'ath9k_hw_nvram_read' to be a 'struct ath_hw *', and remove the dereference calls from the callers. Also change the type of the first argument of the ar9300_eeprom_read_{byte,word} functions. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
1562580e |
|
09-Dec-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k_hw: Calculate the correct training power for PAPRD Assign the training power for PAPRD based on the chip. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
0f21ee8d |
|
09-Dec-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k_hw: Add HW cap for PAPRD Add a HW capability to indicate whether PAPRD is enabled for the card, since PAPRD could be enabled in the EEPROM, but disabled in the driver. This makes things clearer. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
506ed95c |
|
15-Oct-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Configure new switch table for AR9565 BTCOEX 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>
|
#
f255b9cc |
|
10-Oct-2012 |
Peter Senna Tschudin <peter.senna@gmail.com> |
ath/ath9k/ar9003_eeprom.c: Remove semicolon after if This patch remove a semicolon after if(...) that is preventing the error check to work correctly. Removing this semicolon will change the code behavior, but this is intended. The semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r1@ position p; @@ if (...);@p @script:python@ p0 << r1.p; @@ // Emacs org-mode output cocci.print_main("", p0) cocci.print_secs("", p0) // </smpl> Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
362cd03f |
|
15-Sep-2012 |
Sujith Manoharan <c_manoha@qualcomm.com> |
ath9k_hw: Add a HW callback to set diversity This patch adds a new callback to handle WLAN RX diversity for AR9565. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
915154b6 |
|
15-Sep-2012 |
Sujith Manoharan <c_manoha@qualcomm.com> |
ath9k_hw: Use HW cap ATH9K_HW_CAP_ANT_DIV_COMB Instead of trying to determine whether antenna diversity is enabled by parsing eeprom data, use ATH9K_HW_CAP_ANT_DIV_COMB which is already filled at init time. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
9aa49ea3 |
|
10-Sep-2012 |
Sujith Manoharan <c_manoha@qualcomm.com> |
ath9k_hw: Rename antenna diversity macros The register macros for antenna diversity are common for AR9462 and AR9565, rename them. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
420e2b1b |
|
10-Sep-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: add 8 points for 5G temp slop Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
a4a2954f |
|
09-Sep-2012 |
Sujith Manoharan <c_manoha@qualcomm.com> |
ath9k_hw: Add AR9565 HW support Various parts of the code require AR9565 checks, this patch adds them. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
80fe43f2 |
|
06-Sep-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Read and configure thermocal for AR9462 Read and configure thermometer calibration results read from OTP card. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
02eba421 |
|
06-Sep-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Read and apply thermometer settings from EEPROM Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
74673db9 |
|
08-Sep-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k: make PA linearization optional, disabled by default and fix checks Some checks for PA linearization support checked ATH9K_HW_CAP_PAPRD and some used the EEPROM ops, leading to issues in tx power handling, since those two can be out of sync. Disable the feature by default, since it has been reported that it can cause damage to the rx path under some circumstances. It can now be enabled for testing via debugfs. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2a0b50c7 |
|
02-Aug-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: fix indentation in ar9003_hw_set_power_per_rate_table The current indentation is off by one tab. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5fc51243 |
|
02-Aug-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: optimize power level initialization for CTL_[25]GHT20 The first part of the power array is initialized in a loop and the last two values are initialized separately. Extend the loop to cover the last two items, and remove the separate initialization. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
08a4a1ab |
|
15-Jul-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: fix SREV checks for applying tuning caps from EEPROM AR9485, AR9330 and AR9340 are the chips that this is *NOT* supposed to be applied on. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
3e2ea543 |
|
15-Jul-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: apply XLNA bias settings from EEPROM Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
0aefc591 |
|
15-Jul-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: clean up AR9003 EEPROM code - add an inline function for getting the correct modal EEPROM struct - remove unnecessary indirection through ath9k_hw_ar9300_get_eeprom access the relevant fields directly Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
89be49e1 |
|
15-Jul-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: apply XPA timing control values from EEPROM Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
01967360 |
|
15-Jul-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: fall back to OTP ROM when platform data has no valid eeprom data Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2e2c9cc3 |
|
03-Jul-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: skip internal regulator configuration for AR9550 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2d00de48 |
|
03-Jul-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: fix antenna control configuration for AR9550 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4b091727 |
|
03-Jul-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: fix XPABIASLEVEL settings for AR9550 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
9dc08ece |
|
04-Jun-2012 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: program BT to control SPDT program BT to control SPDT everytime while loading switch table from eeprom. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2c208890 |
|
03-Jun-2012 |
Joe Perches <joe@perches.com> |
wireless: Remove casts to same type Adding casts of objects to the same type is unnecessary and confusing for a human reader. For example, this cast: int y; int *p = (int *)&y; I used the coccinelle script below to find and remove these unnecessary casts. I manually removed the conversions this script produces of casts with __force, __iomem and __user. @@ type T; T *p; @@ - (T *)p + p Neatened the mwifiex_deauthenticate_infra function which was doing odd things with array pointers and not using is_zero_ether_addr. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
d25360b1 |
|
15-May-2012 |
Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> |
ath9k: Fix modal EEPROM dump we provide excess buffer size for 'simple_read_from_buffer' for modal EEPROM dump. This results in trailing NULL bytes at the end of EEPROM dump, fix this. Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Reported-by: Holger Schurig <holgerschurig@googlemail.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Tested-by: Holger Schurig <holgerschurig@gogglemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
bfc441a4 |
|
24-May-2012 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: apply internal regulator settings on AR933x On AR933x, the internal regulator settings need to be applied before the PLL init to avoid stability issues. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
75acd5a8 |
|
18-Apr-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: fix TX power reporting on AR9003 chips The current code unconditionally reads the target power values for all modes from the EEPROM. However In 'ar9003_hw_set_power_per_rate_table' the regulatory caps are applied only on a mode specific subset of the power values. The reported TX power level is calculated from the maximum of the power values. Because some of these values are uncapped in certain cases, the reported TX power will be wrong. On the older chipset, we don't have such problems because only the mode specific subset of the power levels are retrieved from the EEPROM on those. Do the same for the AR9003 chips to fix the issue. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Acked-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
8edb254c |
|
16-Apr-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: use ath9k_hw_fbin2freq instead of FBIN2FREQ The FBIN2FREQ macro and the ath9k_hw_fbin2freq function does the same thing. Remove the macro, and use the inline function instead. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
23bd7ced |
|
16-Apr-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: move ath9k_hw_fbin2freq function to eeprom.h Both eeprom.c and ar9003_eeprom.c has an indentical 'ath9k_hw_fbin2freq' function. Move the function to a common place and remove the duplicates. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
86ae26d7 |
|
16-Apr-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: remove unused PWRINC_*_TO_*_CHAIN defines Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ea6f792b |
|
14-Apr-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: introduce ath9k_hw_get_scaled_power helper The computation of the scaled power value in various eeprom files uses identical code. Move that code into a helper function and use that instead of code duplication. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
21bd6ea3 |
|
14-Apr-2012 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: use consistent value for REDUCE_SCALED_POWER_BY_THREE_CHAIN The REDUCE_SCALED_POWER_BY_THREE_CHAIN symbol is defined in different eeprom files, and the value varies between the different files. In eeprom_def.c and in ar9003_eeprom.c the value of the symbol is 9, however the comments in these files indicates the value should be 10*log10(3)*2 which is 9.54242509439325. Replace the the value to 10 in these files. Also add comments to eeprom_9287.c. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
99700278 |
|
10-Apr-2012 |
Zefir Kurtisi <zefir.kurtisi@neratec.com> |
ath9k: remove dead code Clean up some orphaned code lines containing * unused variables (not referenced / write-only) * non-implemented function prototypes Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
c91ec465 |
|
21-Feb-2012 |
Sujith Manoharan <c_manoha@qca.qualcomm.com> |
ath9k: Remove AR9462 v1.0 support v1.0 chips are not available in the market. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
a98aa7ae |
|
20-Dec-2011 |
Luis R. Rodriguez <mcgrof@qca.qualcomm.com> |
ath9k_hw: fix sparse complaint on ar9003_switch_com_spdt_get() This fixes this sparse complaint: make C=2 CF="-D__CHECK_ENDIAN__" M=drivers/net/wireless/ath/ CHECK drivers/net/wireless/ath/ath9k/ar9003_eeprom.c drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3544:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3544:21: expected restricted __le32 [usertype] val drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3544:21: got restricted __le16 [usertype] switchcomspdt drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3546:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3546:21: expected restricted __le32 [usertype] val drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3546:21: got restricted __le16 [usertype] switchcomspdt The eep->modalHeader5G.switchcomspdt is a le16 and we return u16, so just return le16_to_cpu(). Cc: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com> 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>
|
#
a261f0e9 |
|
22-Nov-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Fix minimum CTL power for each runtime mode The conformance test limits (CTL) for each regulatory domains (FCC/ETSI/MKK) are programmed for each runtime modes (11B,11G, HT20 and HT40) in EEPROM. The lowest ctledge power value of a particular running mode should not be used while computing ctledge power for a different running mode.(i.e 11G's min ctledge power should not be used while computing ctledge power for HT20). Currently, the code does not handle this properly which would result in incorrect txpowers in certain cases. So reset the twiceMaxEdgePower to the default while computing min ctlegepower for every mode. Cc: David Quan <dquan@qca.qualcomm.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
8915f980 |
|
10-Nov-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Fix tx power settings for AR9003 Retriving tx power for 2x2 and 3x3 chainmask is not handled properly. While calculating tx power for 2x2, 3 dBm was reduced and for 3x3, 5 dBm was reduced which should be added back when retriving. Cc: Paul Stewart <pstew@google.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
94e2ad9e |
|
08-Nov-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Fix channel list of CalFreqPeir for AR938x This patch sync up CalFreqPeir channel list and paprd rate mask of AR938x templates to the latest received from Systems team. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
202bff08 |
|
08-Nov-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Read and configure xpa timing field Configure xpa timing field while loading boad defaults to fix 11b CCK spur issue that was observed in EMI testing. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
df222edc |
|
08-Nov-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Read and configure quick drop for AR9003 Read and configure quick drop feild from AR9003 eeprom inorder to help with strong signal. This patch also removes obsolate parameters ob, db_stage2, db_stage_3, db_stage4 from the eeprom templates. 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>
|
#
1b428a26 |
|
08-Oct-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: remove EEP_REG_1 It was previously used for current_rd_ext Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ca2c68cc |
|
08-Oct-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: clean up tx power handling The code for handling various restrictions concerning regulatory limits, antenna gain, etc. is very convoluted and duplicated across various EEPROM parsing implementations, making it hard to review. This patch partially cleans up the mess by unifying regulatory limit handling in one function and simplifying handling of antenna gain. It also removes unused transmit power scaling arrays from the EEPROM code, which belonged to an unimplemented API that isn't supposed to be in the driver anyway. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
b54af8af |
|
13-Sep-2011 |
Senthil Balasubramanian <senthilb@qca.qualcomm.com> |
ath9k_hw: move register definitions to header files Move the register macros to appropriate header files to be in sync with other register definitions and also a single place to refer everything. Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2577c6e8 |
|
13-Sep-2011 |
Senthil Balasubramanian <senthilb@qca.qualcomm.com> |
ath9k_hw: Add support for AR946/8x chipsets. This patch adds support for AR946/8x chipets. Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
1ba45b9e |
|
27-Aug-2011 |
Larry Finger <Larry.Finger@lwfinger.net> |
ath9k: Fix a smatch warnings Smatch shows the following warnings: CHECK drivers/net/wireless/ath/ath9k/htc_drv_main.c drivers/net/wireless/ath/ath9k/htc_drv_main.c +1315 ath9k_htc_configure_filter(27) warn: inconsistent returns mutex:&priv->mutex: locked (1303) unlocked (1315) CHECK drivers/net/wireless/ath/ath9k/ar9003_eeprom.c drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +3321 ar9300_eeprom_restore_internal(20) warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
b503c7a2 |
|
19-Aug-2011 |
Senthil Balasubramanian <senthilb@qca.qualcomm.com> |
ath9k_hw: Fix STA (AR9485) bringup issue due to incorrect MAC address Due to some recent optimization done in the way the mac address bytes are written into the OTP memory, some AR9485 chipsets were forced to use the first byte from the eeprom template and the remaining bytes are read from OTP. AR9485 happens to use generic eeprom template which has 0x1 as the first byte causes issues in bringing up the card. So fixed the eeprom template accordingly to address the issue. Cc: stable@kernel.org Cc: Paul Stewart <pstew@google.com> Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
1fa707aa |
|
29-Jul-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: update PMU to improve ripple issue for AR9485 The commit ebefce3d13f8b5a871337ff7c3821ee140c1ea8a failed to set proper PMU value to address ripple issue for AR9485. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
15052f81 |
|
29-Jul-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Fix incorrect Tx control power in AR9003 template CTL power data incorrect in ctlPowerData_2G field of ar9300_eeprom. Setting incorrect CTL power in calibration is causing lower tx power. Tx power was reported as 3dBm while operating in channel 6 HT40+/ in channel 11 HT40- due to CTL powers in the calibration is set to zero. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
8d7763b4 |
|
03-Aug-2011 |
Alex Hacker <hacker@epn.ru> |
ath9k_hw: use register name in place of magic value Signed-off-by: Alex Hacker <hacker@epn.ru> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
26526202 |
|
29-Jul-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k_hw: Add dump_eeprom support for AR9003 Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
071bfefd |
|
27-Jul-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: fix calculated runtime tx power limit Use the previously calculated maximum of all rates instead of just the one from the lowest rate of the selected PHY mode. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5479de6e |
|
17-Jul-2011 |
Rajkumar Manoharan <rmanohar@qca.qualcomm.com> |
ath9k: Fix sparse warnings drivers/net/wireless/ath/ath9k/init.c:199:21: warning: context imbalance in 'ath9k_reg_rmw' - different lock contexts for basic block drivers/net/wireless/ath/ath9k/xmit.c:1175:31: warning: context imbalance in 'ath_drain_txq_list' - unexpected unlock drivers/net/wireless/ath/ath9k/xmit.c:2047:23: warning: context imbalance in 'ath_tx_process_buffer' - unexpected unlock drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:3041:24: warning: cast to restricted __le32 Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
78fa99ab |
|
15-Jul-2011 |
Pavel Roskin <proski@gnu.org> |
ath9k: use get_unaligned_{b16, le16, le32} where possible Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4187afa2 |
|
21-Jun-2011 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: configure internal regulator for AR9330 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
7b09e49e |
|
21-Jun-2011 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: configure diversity based on eeprom contents for AR9330 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
dc9aa5fc |
|
21-Jun-2011 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: configure xpa bias level for AR9330 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5b5c033b |
|
21-Jun-2011 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: use correct EEPROM base for AR9330 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
7d790a21 |
|
21-Jun-2011 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: enable tuning capacitance configuration for AR9330 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
7dc5966d |
|
21-Jun-2011 |
Gabor Juhos <juhosg@openwrt.org> |
ath9k: skip internal regulator configuration for AR9330 Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
81dc6760 |
|
16-Jun-2011 |
Mohammed Shafi Shajakhan <mshajakhan@atheros.com> |
ath9k: Fix a corner case failure in sending PAPRD frames in HT40 when the AP is configured with HT40/2.4GHz and when PAPRD is enabled in station we have PAPRD training frames never sent out because of the following failure "PAPRD target power delta out of range". This consistently happens in channel 10,11 in Over The Air testing and rarely in channel 6 under wired setup. the reason behind this issue is all the HT40 rates target power are 0 when we operate in channel 10/11 at 2.4GHz Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
21fdc872 |
|
31-May-2011 |
Daniel Halperin <dhalperi@cs.washington.edu> |
ath9k: fix two more bugs in tx power This is the same fix as commit 841051602e3fa18ea468fe5a177aa92b6eb44b56 Author: Matteo Croce <technoboy85@gmail.com> Date: Fri Dec 3 02:25:08 2010 +0100 The ath9k driver subtracts 3 dBm to the txpower as with two radios the signal power is doubled. The resulting value is assigned in an u16 which overflows and makes the card work at full power. in two more places. I grepped the ath tree and didn't find any others. Cc: stable@kernel.org Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu> 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>
|
#
842ca780 |
|
13-May-2011 |
Mohammed Shafi Shajakhan <mshajakhan@atheros.com> |
ath9k_hw: config diversity based on eeprom contents * enable LNA-diversity, fast-diversity for AR9485 based on the value read from EEPROM content * if antenna diversity/combining is supported, set LNA1 for the main antenna and LNA2 for the alternate antenna based on the new diversity algorithm Cc: Gabriel Tseng <Gabriel.Tseng@Atheros.com> Cc: Senthilkumar Balasubramanian <Senthilkumar.Balasubramanian@Atheros.com> Cc: Luis Rodriguez <Luis.Rodriguez@Atheros.com> Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
be0e6aa5 |
|
12-May-2011 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k_hw: Fix STA connection issues with AR9380 (XB113). XB113 (AR9380) 3x3 SB 5G only cards were failing to connect to APs due to incorrect xpabiaslevel configuration. fix it. Cc: stable@kernel.org Cc: Ray Li <ray.li@greenwavereality.com> Cc: Kathy Giori <kathy.giori@atheros.com> Cc: Aeolus Yang <aeolus.yang@atheros.com> Cc: compat@orbit-lab.org Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
9ba7f4f5 |
|
11-May-2011 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k_hw: fix dual band assumption for XB113 The XB113 cards are single band, 5 GHz-only, but the default settings were configured to assume it was dual band. Users of these cards then would see 2.4 GHz channels but you would never get any scan results from these channels given that the radio is not present. Cc: stable@kernel.org Cc: Fiona Cain <Fiona.Cain@atheros.com> Cc: Ray Li <ray.li@greenwavereality.com> Cc: Kathy Giori <kathy.giori@atheros.com> Cc: Aeolus Yang <aeolus.yang@atheros.com> Cc: Dan Friedman <dan.friedman@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
165af96d |
|
09-May-2011 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k_hw: Corrected xpabiaslevel register settings for AR9340 Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
70f23fd6 |
|
10-May-2011 |
Justin P. Mattock <justinmattock@gmail.com> |
treewide: fix a few typos in comments - kenrel -> kernel - whetehr -> whether - ttt -> tt - sss -> ss Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
#
cf3a03b9 |
|
04-May-2011 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k_hw: fix power for the HT40 duplicate frames With AR9003 at about ~ 10 feet from an AP that uses RTS / CTS you will be able to associate but not not get data through given that the power for the rates used was set too low. This increases the power and permits data connectivity at longer distances from access points when connected with HT40. Without this you will not get any data through when associated to APs configured in HT40 at about more than 10 feet away. Cc: stable@kernel.org Cc: Fiona Cain <fcain@atheros.com> Cc: Zhen Xie <Zhen.Xie@Atheros.com> Cc: Kathy Giori <kathy.giori@atheros.com> Cc: Neha Choksi <neha.choksi@atheros.com> Cc: Wayne Daniel <wayne.daniel@atheros.com> Cc: Gaurav Jauhar <gaurav.jauhar@atheros.com> Cc: Samira Naraghi <samira.naraghi@atheros.com> CC: Ashok Chennupati <ashok.chennupati@atheros.com> Cc: Lance Zimmerman <lance.zimmerman@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
0ff2b5c0 |
|
19-Apr-2011 |
Sujith Manoharan <Sujith.Manoharan@atheros.com> |
ath9k: Fix warnings from -Wunused-but-set-variable Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
2976bc5e |
|
19-Apr-2011 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Configure chain switch table and attenuation control only for active chains Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
a969c091 |
|
19-Apr-2011 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Configure tuning capacitance value for AR9340 as well Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
3594beae |
|
19-Apr-2011 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Skip internal regulator configuration for AR9340 Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
160b7fb4 |
|
19-Apr-2011 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Don't configure AR_CH0_THERM for AR9340 Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
25985edc |
|
30-Mar-2011 |
Lucas De Marchi <lucas.demarchi@profusion.mobi> |
Fix common misspellings Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
|
#
ebefce3d |
|
27-Jan-2011 |
Vivek Natarajan <vnatarajan@atheros.com> |
ath9k_hw: Update PMU setting to improve ripple issue for AR9485. Change from the systems team to update PMU setting for AR9485 version of chipsets. Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4a4fdf2e |
|
21-Jan-2011 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: replace magic values in register writes with proper defines Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
d0ce2d17 |
|
21-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Fix bug in eeprom data length validation for AR9485 The size of the eeprom data is 1088 bytes for AR9485. But a sanity check is done against 4K which would result in a 'potential read past the end of the buffer' smatch complaint. Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
f1a8abb0 |
|
18-Dec-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: fix PA predistortion HT40 mask The commit 'ath9k_hw: Disable PAPRD for rates with low Tx power' changed the code that sets the PAPRD rate masks to use only either the HT20 mask or the HT40 mask. This is wrong, as the hardware can still use HT20 rates even when configured for HT40, and the operating channel mode does not affect PAPRD operation. The register for the HT40 rate mask is applied as a mask on top of the other registers to selectively disable PAPRD for specific rates on HT40 packets only. This patch changes the code back to the old behavior which matches the intended use of these registers. While with current cards this should not make any practical difference (according to Atheros, the HT20 and HT40 mask should always be equal), it is more correct that way, and maybe the HT40 mask will be used for some rare corner cases in the future. Cc: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
45ef6a0b |
|
15-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Configure appropriate Tx power when PAPRD fails Target Tx power available in eeprom is for PAPRD. If PAPRD fails, paprd scale factor needs to be detected from this target tx power. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
7072bf62 |
|
15-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Disable PAPRD for rates with low Tx power When the drop in Tx power for a particular mcs rate exceeds the paprd scale factor, paprd may not work properly. Disable paprd for any such rates. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
8698bca6 |
|
15-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Add a helper to get paprd scale factor Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
1bf38661 |
|
13-Dec-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: fix PA predistortion training power selection The EEPROM contains scale factors for the tx power, which define the range of allowable difference between target power and training power. If the difference is too big, PA predistortion cannot be used. For 2.4 GHz there is only one scale factor, for 5 GHz there are three, depending on the specific frequency range. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
df3c8b2b |
|
11-Dec-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: remove antenna configuration eeprom ops and variables AR9280 based hardware with 3 antennas and slow antenna diversity has not been seen in the wild and ath9k does not support that form of antenna diversity, so remove the EEPROM ops for it. These EEPROM ops are currently only used for setting the AR_PHY_SWITCH_COM register, which is being done in the EEPROM specific file already. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4ddfcd7d |
|
11-Dec-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: clean up duplicate and unnused eeprom related defines AR*_MAX_RATE_POWER => MAX_RATE_POWER AR*_EEPROM_MODAL_SPURS => AR_EEPROM_MODAL_SPURS AR*_OPFLAGS_* => AR5416_OPFLAGS_* ... Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
5f139eba |
|
06-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Configure power control only for the supported chains Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
dd040f76 |
|
06-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Read and configure turnning caps to regulate freq accuracy Right now it is done for only AR9485, will be done for ar9003 also after proper testing. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ab09b5b4 |
|
07-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Configure internal regulator for AR9485 Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
47e84dfb |
|
06-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Read and configure antenna diversity control for AR9485 Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
9936e65f |
|
06-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Configure xpa bias level for AR9485 Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
272ceba8 |
|
06-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Add a helper function to get spur channel pointer from cal data for AR9003 family This helper function would be used for AR9485. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
60e0c3a7 |
|
06-Dec-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Eeeprom changes for AR9485 Calibration data are stored at 4k address (0xfff). The cal data for AR9485 is not compressed so its lengh can exceed 1024 limit, take care of that. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
a1cbc7a8 |
|
02-Dec-2010 |
Joe Perches <joe@perches.com> |
ath: Fix ath_dbg access beyond array bound ar9300RateSize is not necessarily a power of 4. Change ar9003_hw_set_target_power_eeprom to print the targetPowerValT2 array one per line. ath9k_hw_ar9300_set_txpower repeated the output 4 times per line, change it to print the targetPowerValT2 value one per line. Signed-off-by: Joe Perches <joe@perches.com> 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>
|
#
e702ba18 |
|
01-Dec-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: fix endian issues with CTLs on AR9003 Parsing data using bitfields is messy, because it makes endian handling much harder. AR9002 and earlier got it right, AR9003 got it wrong. This might lead to either using too high or too low tx power values, depending on frequency and eeprom settings. Fix it by getting rid of the CTL related bitfields entirely and use masks instead. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ea066d5a |
|
23-Nov-2010 |
Mohammed Shafi Shajakhan <mshajakhan@atheros.com> |
ath9k: Add support for Adaptive Power Management This feature is to mitigate the problem of certain 3 stream chips that exceed the PCIe power requirements.An EEPROM flag controls which chips have APM enabled which is basically read from miscellaneous configuration element of the EEPROM header. This workaround will reduce power consumption by using 2 Tx chains for Single and Double stream rates (5 GHz only).All self generated frames (regardless of rate) are sent on 2 chains when this feature is enabled(Chip Limitation). Cc: Paul Shaw <paul.shaw@atheros.com> Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Tested-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
07b2fa5a |
|
20-Nov-2010 |
Joe Perches <joe@perches.com> |
ath9k: Use static const Using static const generally increases object text and decreases data size. It also generally decreases overall object size. text data bss dec hex filename 11161 56 2136 13353 3429 drivers/net/wireless/ath/ath9k/ar9003_paprd.o.new 11167 56 2136 13359 342f drivers/net/wireless/ath/ath9k/ar9003_paprd.o.old 15428 56 3056 18540 486c drivers/net/wireless/ath/ath9k/eeprom_4k.o.old 15451 56 3056 18563 4883 drivers/net/wireless/ath/ath9k/eeprom_4k.o.new 14087 56 2560 16703 413f drivers/net/wireless/ath/ath9k/eeprom_9287.o.old 14036 56 2560 16652 410c drivers/net/wireless/ath/ath9k/eeprom_9287.o.new 10041 56 2384 12481 30c1 drivers/net/wireless/ath/ath9k/ani.o.new 10088 56 2384 12528 30f0 drivers/net/wireless/ath/ath9k/ani.o.old 9316 1580 2304 13200 3390 drivers/net/wireless/ath/ath9k/htc_drv_init.o.new 9316 1580 2304 13200 3390 drivers/net/wireless/ath/ath9k/htc_drv_init.o.old 16483 56 3432 19971 4e03 drivers/net/wireless/ath/ath9k/ar9003_phy.o.new 16517 56 3432 20005 4e25 drivers/net/wireless/ath/ath9k/ar9003_phy.o.old 18221 104 2960 21285 5325 drivers/net/wireless/ath/ath9k/rc.o.old 18203 104 2960 21267 5313 drivers/net/wireless/ath/ath9k/rc.o.new 19985 56 4288 24329 5f09 drivers/net/wireless/ath/ath9k/eeprom_def.o.new 20040 56 4288 24384 5f40 drivers/net/wireless/ath/ath9k/eeprom_def.o.old 23997 56 4984 29037 716d drivers/net/wireless/ath/ath9k/ar5008_phy.o.old 23846 56 4984 28886 70d6 drivers/net/wireless/ath/ath9k/ar5008_phy.o.new 24285 56 3184 27525 6b85 drivers/net/wireless/ath/ath9k/ar9003_eeprom.o.old 24101 56 3184 27341 6acd drivers/net/wireless/ath/ath9k/ar9003_eeprom.o.new 6834 56 1032 7922 1ef2 drivers/net/wireless/ath/ath9k/ar9002_phy.o.old 6780 56 1032 7868 1ebc drivers/net/wireless/ath/ath9k/ar9002_phy.o.new 36211 64 8624 44899 af63 drivers/net/wireless/ath/ath9k/hw.o.new 36401 64 8624 45089 b021 drivers/net/wireless/ath/ath9k/hw.o.old 9281 56 1496 10833 2a51 drivers/net/wireless/ath/ath9k/ar9003_calib.o.old 9150 56 1496 10702 29ce drivers/net/wireless/ath/ath9k/ar9003_calib.o.new Use ARRAY_SIZE instead of a magic number. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
aaa13ca2 |
|
16-Nov-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: support reading calibration data from flash on AR9003 Embedded boards do not have compressed EEPROM data, they use the struct ar9003_eeprom layout, with little endian fields, so copying the raw data to the eeprom buffer is enough. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
488f6ba7 |
|
16-Nov-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: add support for reading EEPROM data from the internal OTP ROM Some of the new AR9003 cards do not come with an external EEPROM chip anymore. Calibration data on these cards is stored in the OTP ROM on the chip. This patch adds support for reading this data, and also adds support for different EEPROM chip sizes (512 bytes instead of 1K). Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
bc206802 |
|
10-Nov-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Add helper function for interpolation Also round off interpolated values this would improve power accuracy by 0.5dB in some cases. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
15cbbc44 |
|
10-Nov-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Improve power control accuracy for AR9003 It is done for 5Ghz by adding three temperature slopes. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
f4475a6e |
|
10-Nov-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Enable strong signal detection for AR9003 Attenuation from eeprom is configured into attenuator control register. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
52a0e247 |
|
10-Nov-2010 |
Vasanthakumar Thiagarajan <vasanth@atheros.com> |
ath9k_hw: Fix XPABIAS level configuration for AR9003 Improper configuration of 0x16288 and 0x16290 would affect transmission. Cc:stable@kernel.org Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
30923549 |
|
10-Nov-2010 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k_hw: add eeprom templates for ar9003 family chipsets We are currently using the default eeprom default and it doesn't work properly for all ar9003 family chipsets. So add eeprom templates for different versisons and select the eeprom table based on the template version programmed in the eeprom. Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
3ceb801b |
|
10-Nov-2010 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k_hw: Fix paprd training frame failure. paprd training frame fails in some rates. Fix the rate mask. Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ef5a6a75 |
|
10-Nov-2010 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k_hw: Initialize 2GHz CTL properly. The last 2GHz CTL was not being initialized, so power was being set to 0 instead of 30dbm. Initialize to 30 like other CTLs. Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
b3dd6bc1 |
|
10-Nov-2010 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k_hw: Add new member into the eeprom structure. Add eeprom base extension structures which are needed for AR938x caliberation changes and gain calculation. Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
de40f316 |
|
19-Oct-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: extend ath9k_hw_set_txpowerlimit to test channel txpower ath9k_hw_set_txpowerlimit gets an extra boolean parameter that - if set - causes the rate txpower table and the regulatory limit to be calculated and stored, without changing hardware registers. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
6b7b6cf5 |
|
19-Oct-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: initialize regulatory->max_power_level in set_txpower for AR9003 The same is done for the older chip families as well. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
f799a301 |
|
16-Sep-2010 |
Rajkumar Manoharan <rmanoharan@atheros.com> |
ath9k_hw: remove warning in ath9k_hw_def_get_num_ant_config This patch fixes following warning drivers/net/wireless/ath/ath9k/eeprom_def.c: In function 'ath9k_hw_def_get_num_ant_config' drivers/net/wireless/ath/ath9k/eeprom_def.c:1425:47: warning: comparison between 'enum ath9k_hal_freq_band' and 'enum ieee80211_band' Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
803288e6 |
|
30-Aug-2010 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k_hw: Fix EEPROM uncompress block reading on AR9003 The EEPROM is compressed on AR9003, upon decompression the wrong upper limit was being used for the block which prevented the 5 GHz CTL indexes from being used, which are stored towards the end of the EEPROM block. This fix allows the actual intended regulatory limits to be used on AR9003 hardware. Cc: stable@kernel.org [2.6.36+] Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
824b185a |
|
01-Aug-2010 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k_hw: Fix regulatory CTL index usage for AR9003 AR9003 was not relying on the CTL indexes from the EEPROM for capping the max output power. The CTL indexes from the EEPROM provide calibrated limits for output power for each tested and supported frequency. Without this the device operates at a power level which only conforms to the transmit spectrum mask as specified by IEEE Annex I.2.3. The regulatory limit by CRDA is always used but does not provide calibrated values for optimal performance, specially on band edges. Using the calibrated data from the EEPROM ensures the device operates at optimal output power while still ensuring proper regulatory compliance. The device uses the minimum of these tree values, the value from CRDA, the calibrated value from CTL indexex, and the value to conform to the IEEE transmit spectrum mask. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
601e0cb1 |
|
10-Jul-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: fix antenna diversity on AR9285 On AR9285, the antenna switch configuration register uses more than just 16 bits. Because of an arbitrary mask applied to the EEPROM value that stores this configuration, diversity was broken in some cases, leading to a significant degradation in signal strength. Fix this by changing the callback to return a 32 bit value and remove the arbitrary mask. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
4935250a |
|
11-Jun-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: add support for parsing PA predistortion related EEPROM fields Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
ffdc4cbe |
|
11-May-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: clean up EEPROM endian handling on AR9003 Remove the double swapping of the descriptor data structure, instead keep it little-endian (native format of the eeprom data), and byteswap on access. This allows sparse to verify endian access to the eeprom struct. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
0cf31079 |
|
26-Apr-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: Fix endian bug in an AR9003 EEPROM field Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
d10baf99 |
|
26-Apr-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: Fix typos in tx rate power level parsing for AR9003 Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
597a94b3 |
|
26-Apr-2010 |
Felix Fietkau <nbd@openwrt.org> |
ath9k_hw: use the configured power limit for AR9003 Since the new AR9003 EEPROM code does tune the card for the configured tx power level, we need to fill in the correct power limits in the TPC part of the DMA descriptor. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
c14a85da |
|
15-Apr-2010 |
Luis R. Rodriguez <lrodriguez@atheros.com> |
ath9k_hw: add TX/RX gain register initialization for AR9003 This is done depending on what the EEPROM settings indicates. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
15c9ee7a |
|
15-Apr-2010 |
Senthil Balasubramanian <senthilkumar@atheros.com> |
ath9k_hw: Implement AR9003 eeprom callbacks Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|