History log of /drivers/net/wireless/ath/ath9k/common.h
Revision Date Author Comments
f2c3c952a5966e734f600e772ed65b5d34033891 11-May-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k-common: create common-debug and move modal_eeprom to cmn

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
cbbdf2ae2d67b333d7a4db5ce8b7391b3de1256d 01-Mar-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k: move ath9k_beacon_config_sta to common-beacon

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
a2030b9dbce8db1261a0a7985217361a992a8949 01-Mar-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k-common: add nexttbtt and intval to ath_beacon_config

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
c7303263a0ab2af8f7b6344db7e861c67bd7d29c 01-Mar-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k|ath9k_htc: move IEEE80211_MS_TO_TU to common

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
fd0ab793353862257dee56e07aed79dc195bc1c8 01-Mar-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k: move struct ath_beacon_config to common

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
13f71050c10df77c1b9f2808c410d68dfcdb26b4 25-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k: move ath9k_init_channels_rates to common-init

and rename it to ath9k_cmn_init_channels_rates.
sbands are move to ath_common as well.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
5a078fcbdedf88cc3a76ed1b3b4a55a5c61a2e7f 04-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k: move ath9k_rx_skb_postprocess to common.c

and rename it to ath9k_cmn_rx_skb_postprocess. We will use it
on ath9k_htc.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6438696efa8163faa74f16005df7e603d6835933 04-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k: move ath9k_rx_accept to common.c

we can reuse it on ath9k_htc

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
1274603646a82c62776680db85446f767beb9694 04-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k: move ath9k_process_rate to common.c

we can reuse this function in ath9k_htc

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
32efb0cc5b614d1ca6c1804107270154c318709a 04-Feb-2014 Oleksij Rempel <linux@rempel-privat.de> ath9k: move ath9k_process_rssi to common.c

we can reuse this fucntion on ath9k_htc.
Now we will need to use common version last_rssi, so switch
it too.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2297f1c7beec785e437da3da0157666bca525c99 11-Oct-2013 Felix Fietkau <nbd@openwrt.org> ath9k: make ath9k_cmn_update_ichannel static

Rework its wrapper function to make it more generic, using it as a
replacement for previous calls to ath9k_cmn_update_ichannel.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
0671894f977b6f03b63fddc33743474f495db4eb 16-Aug-2013 Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de> ath9k: use chandef instead of channel_type

To enable support for 5/10 MHz, some internal functions must be
converted from using the (old) channel_type to chandef. This is a good
chance to change all remaining occurences.

Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
c60c99298c50b698b0bbbe0e0146c965c322b8c1 08-Apr-2013 Felix Fietkau <nbd@openwrt.org> ath9k_common: remove ath9k_cmn_padpos

It is equivalent to ieee80211_hdrlen

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
4ba910db199779470685dd962d626e1ffc657f7e 26-Feb-2013 Bob Copeland <me@bobcopeland.com> ath9k: simplify ATH_EP_RND

Remove the embedded branch to make the ATH_EP_RND macro a little
clearer. The new version also generates better code, saving 24
bytes of text:

text data bss dec hex filename
87858 1641 24 89523 15db3 ath9k_orig.ko
87834 1641 24 89499 15d9b ath9k_new.ko

Although neither version handles negative values particularly well,
the lone caller clamps all negative values to zero anyway. I have
verified that the results are the same for the range of possible
positive rssi values.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
a3d63cadbad97671d740a9698acc2c95d1ca6e79 22-Feb-2013 Felix Fietkau <nbd@openwrt.org> ath9k: fix RSSI dummy marker value

RSSI is being stored internally as s8 in several places. The indication
of an unset RSSI value, ATH_RSSI_DUMMY_MARKER, was supposed to have been
set to 127, but ended up being set to 0x127 because of a code cleanup
mistake. This could lead to invalid signal strength values in a few
places.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
de7b7604eae91f00cd587f8541eec11a7fc505aa 28-Nov-2012 Sujith Manoharan <c_manoha@qca.qualcomm.com> ath9k: Replace WME_NUM_TID with IEEE80211_NUM_TIDS

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
bea843c73854becf998047a83af22a90de3fd19b 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>
f82b4bde17aeb6c2f8bf0540ee44811de4651cf6 13-Aug-2011 Rajkumar Manoharan <rmanohar@qca.qualcomm.com> ath9k: Move ath9k_init_crypto to common

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
5b68138e5659cbfd5df2879d17f9ba0b66477fec 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>
978f78bf71372a48785ac9407ebc10170f14f56c 26-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>
5048e8c378d095a548fe8a6ecd2f07d277ac5be2 31-Jan-2011 Rajkumar Manoharan <rmanoharan@atheros.com> ath9k: move update tx power to common

move ath_update_txpow to common to remove code duplication
in both ath9k & ath9k_htc.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
b453175d932c8ff42146992a1dac243104783902 25-Jan-2011 Bruno Randolf <br1@einfach.org> ath9k: Remove unused IEEE80211_WEP_NKID

IEEE80211_WEP_NKID is not used in ath9k any more since the key handling code
has been moved to ath/.

Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
226afe68fdbd1aa3680158aca0a3631cbd019626 03-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>
066dae93bdfcc7af5e38a33617773fd5c6457607 07-Nov-2010 Felix Fietkau <nbd@openwrt.org> ath9k: rework tx queue selection and fix queue stopping/waking

The current ath9k tx queue handling code showed a few issues that could
lead to locking issues, tx stalls due to stopped queues, and maybe even
DMA issues.

The main source of these issues is that in some places the queue is
selected via skb queue mapping in places where this mapping may no
longer be valid. One such place is when data frames are transmitted via
the CAB queue (for powersave buffered frames). This is made even worse
by a lookup WMM AC values from the assigned tx queue (which is
undefined for the CAB queue).

This messed up the pending frame counting, which in turn caused issues
with queues getting stopped, but not woken again.

To fix these issues, this patch removes an unnecessary abstraction
separating a driver internal queue number from the skb queue number
(not to be confused with the hardware queue number).

It seems that this abstraction may have been necessary because of tx
queue preinitialization from the initvals. This patch avoids breakage
here by pushing the software <-> hardware queue mapping to the function
that assigns the tx queues and redefining the WMM AC definitions to
match the numbers used by mac80211 (also affects ath9k_htc).

To ensure consistency wrt. pending frame count tracking, these counters
are moved to the ath_txq struct, updated with the txq lock held, but
only where the tx queue selected by the skb queue map actually matches
the tx queue used by the driver for the frame.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Reported-by: Björn Smedman <bjorn.smedman@venatech.se>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
babcbc295fee766ca710235e431686fef744d9a6 20-Oct-2010 Felix Fietkau <nbd@openwrt.org> ath9k: initialize per-channel tx power limits instead of hardcoding them

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
040e539e8e8d5585e1c3d7d15fa7215d3a691258 08-Sep-2010 Bruno Randolf <br1@einfach.org> ath9k: Use common ath key management functions

Use key management functions which have been moved to ath/key.c and remove
ath9k copies of these functions and other now unused definitions.

Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d99eeb87420a6da1f87064c7fa70bdf299699d90 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>
61389f3ed49968746327aef0454b2f27e88e0f8d 02-Jun-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_common: Move count_streams to common module

This can be used by ath9k_htc.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
93ef24b29bb6d6d50763c44c0debec4a9547fc58 20-May-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k: Move driver specific structures

A bunch of data structures are present in the
common module, which are internal to ath9k.
Move them to ath9k.h

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d435700fcdf03646ff070b35ea19dd5501c4b946 20-May-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k: Move ath9k specific RX code to driver

This patch relocates RX processing code from the
common module to ath9k. This reduces the size
of the common module which is also used by ath9k_htc.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
c38d4d2eb988717f7a8be24faeada648b5dac52a 15-Apr-2010 Vasanthakumar Thiagarajan <vasanth@atheros.com> ath9k: Make bf_desc of ath_buf opaque

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
6d913f7db3ff5cc5c9b673d8db8e4a8b9f86d85b 15-Apr-2010 Vasanthakumar Thiagarajan <vasanth@atheros.com> ath9k: Remove ATH9K_TX_SW_ABORTED and introduce a bool for this purpose

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
d70357d56942fa587e39505547cb69e10a8d59a0 15-Apr-2010 Luis R. Rodriguez <lrodriguez@atheros.com> ath9k_hw: start building an abstraction layer for hardware routines

ath9k supports the AR5008, AR9001 and AR9002 family of Atheros
chipsets, all 802.11n. The new breed of 802.11n chips, the
AR9003 family will be supported as well soon. To help with its
support we're going to add a few callbacks for hardware routines
which differ considerably instead of adding branch checks for
the revision at runtime.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
0995d110118b35c0dc5195e3ddddcc0dec263830 29-Mar-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_common: Move RX filter code to ath9k_htc

The calculation of RX filter is fairly different
between ath9k and ath9k_htc, trying to make this
common between the two drivers would result in code churn.

While at it, remove the handling of PSPOLL filter,
it can be added when(if) AP support is added to ath9k_htc.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
fb9987d0f748c983bb795a86f47522313f701a08 17-Mar-2010 Sujith <Sujith.Manoharan@atheros.com> ath9k_htc: Support for AR9271 chipset.

Features:

* Station mode
* IBSS mode
* Monitor mode
* Legacy support
* HT support
* TX/RX 11n Aggregation
* HW encryption
* LED
* Suspend/Resume

For more information: http://wireless.kernel.org/en/users/Drivers/ath9k_htc

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
1bc1488067ee2c295b933ef6decd6035230f1a1c 24-Nov-2009 Benoit Papillault <benoit.papillault@free.fr> ath9k: Proper padding/unpadding for the TX/RX path.

Software padding is done on the TX path and software unpadding is done on the
RX path. This patch corrects the position where the padding occurs. A specific
function computes the pad position and this function is used in the TX and RX
path. This patch has been tested by generating every possible 802.11 frames
with every possible frame_control field and a varying length. This patch is
useful for analyzing non standard 802.11 frames going over the air

Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
e7824a50662f7f79b1a739f705b4d906c31cf221 24-Nov-2009 Luis R. Rodriguez <lrodriguez@atheros.com> ath9k: fix processing of TX PS null data frames

When mac80211 was telling us to go into Powersave we listened
and immediately turned RX off. This meant hardware would not
see the ACKs from the AP we're associated with and hardware
we'd end up retransmiting the null data frame in a loop
helplessly.

Fix this by keeping track of the transmitted nullfunc frames
and only when we are sure the AP has sent back an ACK do we
go ahead and shut RX off.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Vivek Natarajan <Vivek.Natarajan@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
827e69bf6734193d7a6f47f0435db7ebef1b636e 15-Nov-2009 Felix Fietkau <nbd@openwrt.org> ath9k: get rid of tx_info_priv

This patch removes the need for separately allocated private tx info
data in ath9k and brings the driver one small step closer to using the
mac80211 rate control API properly.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
db86f07ec6cdea9670a0928bd1289109d2a989dc 05-Nov-2009 Luis R. Rodriguez <lrodriguez@atheros.com> ath9k_common: add new module to share 802.11n driver helpers

ath9k and ath9k_htc share a lot of common hardware characteristics.
They only differ in that ath9k_htc works with a target CPU and ath9k
works directly with the hardware. ath9k_htc will do *some* things in
the firmware, but a lot of others on the host.

The common 802.11n hardware code is already shared through the ath9k_hw
module. Common helpers amongst all Atheros drivers can use the ath module,
this includes ath5k and ar9170 as users. But there is some common driver
specific helpers which are not exactly hardware code which ath9k and
ath9k_htc can share. We'll be using ath9k_common for this to avoid
bloating the ath module and the common 802.11n hardware module ath9k_hw.

We start by sharing skb pre and post processing in preparation for a hand
off to mac80211.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>