platform/kernel/linux-3.10.git
14 years agoMerge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git...
John W. Linville [Mon, 19 Apr 2010 20:37:59 +0000 (16:37 -0400)]
Merge branch 'wireless-next-2.6' of git://git./linux/kernel/git/iwlwifi/iwlwifi-2.6

14 years agoiwlwifi: make scan antenna forcing more generic
Johannes Berg [Tue, 13 Apr 2010 08:04:35 +0000 (01:04 -0700)]
iwlwifi: make scan antenna forcing more generic

Some future hardware will also require some antenna
overrides so make the current logic more generic;
right now it is semantically based on a workaround
for off-channel reception but the reasons for the
new antenna overrides will be different.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: remove monitor check
Johannes Berg [Tue, 13 Apr 2010 08:04:34 +0000 (01:04 -0700)]
iwlwifi: remove monitor check

Off-channel reception is acceptable in monitor
mode, and checking for monitor mode this way is
not really correct anyway since it could be the
case while operating.

Now iwl_is_monitor_mode() is no longer used so
remove it completely.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: don't check monitor for scanning
Johannes Berg [Tue, 13 Apr 2010 08:04:33 +0000 (01:04 -0700)]
iwlwifi: don't check monitor for scanning

Monitor mode operation need not (and probably should
not) affect scanning this way since real monitoring
can not properly happen while scanning anyway.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: rename TX_CMD_FLG_BT_DIS_MSK
Johannes Berg [Tue, 13 Apr 2010 08:04:32 +0000 (01:04 -0700)]
iwlwifi: rename TX_CMD_FLG_BT_DIS_MSK

The flag name is a little misleading, this
flag instructs the device to ignore bluetooth
messages for purposes of frame transmissions,
so rename the flag to TX_CMD_FLG_IGNORE_BT.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: make BT coex config a virtual method
Johannes Berg [Tue, 13 Apr 2010 08:04:31 +0000 (01:04 -0700)]
iwlwifi: make BT coex config a virtual method

Some future hardware will require a different command to
be sent for bluetooth coexist, so make this a virtual
method that can be changed on a per-device basis.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: more code clean up for agn devices
Wey-Yi Guy [Tue, 13 Apr 2010 01:32:11 +0000 (18:32 -0700)]
iwlwifi: more code clean up for agn devices

Since multiple new devices having similar uCode architecture and use same
registers address, remove more reference to 5000 series to eliminate the
confusion.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: sanity check for turn on aggregation tid
Wey-Yi Guy [Mon, 12 Apr 2010 21:02:36 +0000 (14:02 -0700)]
iwlwifi: sanity check for turn on aggregation tid

Perform sanity check for turn on aggregation tid. Also remove the
option for turn on all the aggregation tids at once since it is
deprecated function and not being used.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: PA type for 6000g2 series
Wey-Yi Guy [Fri, 9 Apr 2010 16:36:11 +0000 (09:36 -0700)]
iwlwifi: PA type for 6000g2 series

For 6000g2 series of NICs, PA type is determined by uCode, driver do not
have to set the register for internal/external PA. It is a workaround
just for 6000 series NICs.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: add hw revision for 6000g2 NIC
Wey-Yi Guy [Fri, 9 Apr 2010 16:12:56 +0000 (09:12 -0700)]
iwlwifi: add hw revision for 6000g2 NIC

Add hardware revision for 6000g2 series of NIC

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: remove redundant iwl_dump_lq_cmd()
Shanyu Zhao [Fri, 9 Apr 2010 02:03:55 +0000 (19:03 -0700)]
iwlwifi: remove redundant iwl_dump_lq_cmd()

This function is called twice in a row, remove the second one.

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: add debugfs ops to iwlwifi
Abhijeet Kolekar [Thu, 8 Apr 2010 22:29:07 +0000 (15:29 -0700)]
iwlwifi: add debugfs ops to iwlwifi

Seperate debugfs functions into iwlagn specific
debugfs file and Add debugfs ops to iwlwifi.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: remove duplicated debug functions
Wey-Yi Guy [Thu, 8 Apr 2010 03:12:23 +0000 (20:12 -0700)]
iwlwifi: remove duplicated debug functions

Use the show uCode statistics function for uCode debugging purposes only; it
is being duplicated in both debugfs and sysfs. remove the one from sysfs.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: bring up 6000 Series 2x2 AGN Gen2 adapters
Shanyu Zhao [Thu, 8 Apr 2010 01:06:36 +0000 (18:06 -0700)]
iwlwifi: bring up 6000 Series 2x2 AGN Gen2 adapters

This patch is to bring up 6000 Series 2x2 AGN Gen2 adapters.
Seperate various version numbers from 6000 Series definitions;
Add module firmware declaration for the new adapters;
Add additional device IDs and subsystem IDs;

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: more generic eeprom defines
Wey-Yi Guy [Wed, 7 Apr 2010 04:10:33 +0000 (21:10 -0700)]
iwlwifi: more generic eeprom defines

Some definition for eeprom apply to more than 5000 series device, change
the name to reflect it for easy reading.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: trigger scan synchronously
Johannes Berg [Tue, 6 Apr 2010 11:12:42 +0000 (04:12 -0700)]
iwlwifi: trigger scan synchronously

Scan requesting doesn't need to be asynchronous
since all code paths leading up to it can sleep.
Make the scan request a new util operation that
is hw-specific (to account for 3945 vs. agn)
and call it right in place.

This patch moves a lot of code into iwlagn as
it need not be in iwlcore.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: rename priv->scan to priv->scan_cmd
Johannes Berg [Tue, 6 Apr 2010 11:12:41 +0000 (04:12 -0700)]
iwlwifi: rename priv->scan to priv->scan_cmd

I keep checking what "priv->scan" is, so rename
it to "priv->scan_cmd" which more clearly tells
us what it is.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: remove scan_pass_start
Johannes Berg [Tue, 6 Apr 2010 11:12:40 +0000 (04:12 -0700)]
iwlwifi: remove scan_pass_start

Since we no longer do a multi-pass scan,
keeping track of how long each pass took
is pointless since there will only be one.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: remove next_scan_jiffies
Johannes Berg [Tue, 6 Apr 2010 11:12:39 +0000 (04:12 -0700)]
iwlwifi: remove next_scan_jiffies

This logic is just confusing, if anything it
belongs into mac80211. Also, even if we do
scan during the EAPOL handshake, that will
not cause any problems, just a short delay.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: correct atomic bitops usage
Johannes Berg [Tue, 6 Apr 2010 11:12:38 +0000 (04:12 -0700)]
iwlwifi: correct atomic bitops usage

With atomic bitops, test_and_{set,clear}_bit
should be used instead of separate test_bit
and set_bit/clear_bit.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: remove scan_bands logic
Johannes Berg [Tue, 6 Apr 2010 11:12:37 +0000 (04:12 -0700)]
iwlwifi: remove scan_bands logic

Since mac80211 will now never request scanning
multiple bands, we can remove all the associated
logic and scan a single band only in each scan.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: set correct single/dual stream mask
Wey-Yi Guy [Sat, 3 Apr 2010 23:44:39 +0000 (16:44 -0700)]
iwlwifi: set correct single/dual stream mask

Even the initial single/dual stream values will be overridden later when
issue link quality command; but still make sense not to use hard-code
value during initialization. Single/Dual stream mask are used to indicate the
best antenna for SISO/MIMO; different NIC has different tx antenna
configuration; so the parameter need to based on the valid tx antenna.

1x2 device: single tx antenna available, only SISO is valid
configuration, but still need to set up MIMO configuration, so set it up
with antenna A & B as default.
2x2 device: two tx antenna available, dual_stream will use both valid
antenna.

3x3 device: three tx antenna available, skip the first antenna and
choice the second and third antenna for dual_stream.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoMerge branch 'wireless-2.6' into wireless-next-2.6
Reinette Chatre [Fri, 16 Apr 2010 20:43:40 +0000 (13:43 -0700)]
Merge branch 'wireless-2.6' into wireless-next-2.6

Conflicts:
drivers/net/wireless/iwlwifi/iwl-6000.c

14 years agoiwlwifi: correct 6000 EEPROM regulatory address
Shanyu Zhao [Thu, 8 Apr 2010 01:37:52 +0000 (18:37 -0700)]
iwlwifi: correct 6000 EEPROM regulatory address

For 6000 series, the 2.4G HT40 band regulatory settings address in EEPROM
was off by 2.

Before the fix, you'll see this in dmesg:
[79535.788877] ieee80211 phy8: U iwl_mod_ht40_chan_info HT40 Ch. 7 [2.4GHz]
WIDE (0x61 0dBm): Ad-Hoc not supported
[79535.788880] ieee80211 phy8: U iwl_mod_ht40_chan_info HT40 Ch. 11 [2.4GHz]
WIDE (0x61 0dBm): Ad-Hoc not supported

And after the fix:
[91132.688706] ieee80211 phy14: U iwl_mod_ht40_chan_info HT40 Ch. 7 [2.4GHz]
IBSS ACTIVE WIDE (0x6f 0dBm): Ad-Hoc supported
[91132.688709] ieee80211 phy14: U iwl_mod_ht40_chan_info HT40 Ch. 11 [2.4GHz]
IBSS ACTIVE WIDE (0x6f 0dBm): Ad-Hoc supported

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: fix scan races
Johannes Berg [Wed, 7 Apr 2010 07:21:36 +0000 (00:21 -0700)]
iwlwifi: fix scan races

When an internal scan is started, nothing protects the
is_internal_short_scan variable which can cause crashes,
cf. https://bugzilla.kernel.org/show_bug.cgi?id=15667.
Fix this by making the short scan request use the mutex
for locking, which requires making the request go to a
work struct so that it can sleep.

Reported-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
14 years agoiwlwifi: initialize iwl_wimax_coex_cmd.flags
Stanislaw Gruszka [Fri, 16 Apr 2010 13:47:56 +0000 (15:47 +0200)]
iwlwifi: initialize iwl_wimax_coex_cmd.flags

iwl_wimax_coex_cmd.flags can be really uninitialized, so fix
that.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: check scan request ie_len
Stanislaw Gruszka [Fri, 16 Apr 2010 13:46:41 +0000 (15:46 +0200)]
iwlwifi: check scan request ie_len

In mac80211 we always check both scan_req->ie and scan_req->ie_len
against zero before usage, in iwlwifi we should do the same.

Remove not needed "left -= ie_len" while at it.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agowl1251: add support for dedicated IRQ line
Grazvydas Ignotas [Fri, 16 Apr 2010 10:22:12 +0000 (13:22 +0300)]
wl1251: add support for dedicated IRQ line

wl1251 has WLAN_IRQ pin for generating interrupts to host processor,
which is mandatory in SPI mode and optional in SDIO mode (which can
use SDIO interrupts instead). However TI recommends using deditated
IRQ line for SDIO too.

Add support for using dedicated interrupt line with SDIO, but also leave
ability to switch to SDIO interrupts in case it's needed.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_htc: Fix sparse endian warnings
Sujith [Fri, 16 Apr 2010 06:24:03 +0000 (11:54 +0530)]
ath9k_htc: Fix sparse endian warnings

This patch fixes a bunch of endian issues that
were exposed by sparse. It's a miracle that the driver
worked at all till now.

The Lord be praised.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_htc: Handle WMI timeouts properly
Sujith [Fri, 16 Apr 2010 06:24:01 +0000 (11:54 +0530)]
ath9k_htc: Handle WMI timeouts properly

If a WMI command has timed out for some reason,
a late WMI response would end up updating the
response region of a new WMI request that has been
issued in the meantime.

Fix this race condition by dropping a WMI response
if a new WMI command has been issued.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_htc: Add dropped SKB count to debugfs
Sujith [Fri, 16 Apr 2010 06:24:00 +0000 (11:54 +0530)]
ath9k_htc: Add dropped SKB count to debugfs

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_htc: Remove GPIO set on unload
Sujith [Fri, 16 Apr 2010 06:23:58 +0000 (11:53 +0530)]
ath9k_htc: Remove GPIO set on unload

There is no point in trying to set the LED pin
when the module is being unloaded. The target
would be reset anyway.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Use buffered register writes
Sujith [Fri, 16 Apr 2010 06:23:57 +0000 (11:53 +0530)]
ath9k_hw: Use buffered register writes

This patch adds macros at certain places
which could be optimized for multiple register writes.

The performance of ath9k_htc improves considerably,
especially reducing the latency involved in a scan run.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Relocate Opmode initialization
Sujith [Fri, 16 Apr 2010 06:23:56 +0000 (11:53 +0530)]
ath9k_hw: Relocate Opmode initialization

Programming the opmode in the HW can be done
before the assoc_id and STA_ID registers are
setup. This helps ath9k_htc when multiple register
writes are used.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Add macros for multiple register writes
Sujith [Fri, 16 Apr 2010 06:23:55 +0000 (11:53 +0530)]
ath9k_hw: Add macros for multiple register writes

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_htc: Implement multiple register write support
Sujith [Fri, 16 Apr 2010 06:23:53 +0000 (11:53 +0530)]
ath9k_htc: Implement multiple register write support

This patch adds support for writing multiple registers
in a single USB command.

Specific calls from the HW code that performs multiple
register writes would be modified to make use of this
in subsequent patches.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath: Add buffered register write operations
Sujith [Fri, 16 Apr 2010 06:23:50 +0000 (11:53 +0530)]
ath: Add buffered register write operations

This is required to implement delayed/buffered
register writes in ath9k_htc.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_htc: Cleanup beacon configuration
Sujith [Fri, 16 Apr 2010 06:23:48 +0000 (11:53 +0530)]
ath9k_htc: Cleanup beacon configuration

This patch cleans up beacon configuration,
removing a redundant interface type check
and updating beacon interval in the correct place.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: check sparse endianness annotations
Samuel Ortiz [Fri, 16 Apr 2010 01:28:44 +0000 (09:28 +0800)]
iwmc3200wifi: check sparse endianness annotations

Add -D__CHECK_ENDIAN__ to driver ccflags so that sparse will
always check endianness by default.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwmc3200wifi: Fix sparse warnings
Samuel Ortiz [Fri, 16 Apr 2010 01:28:43 +0000 (09:28 +0800)]
iwmc3200wifi: Fix sparse warnings

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath5k/ath9k: Fix 64 bits TSF reads
Benoit Papillault [Thu, 15 Apr 2010 22:07:26 +0000 (00:07 +0200)]
ath5k/ath9k: Fix 64 bits TSF reads

According to tests, both TSF lower and upper registers kept counting, so
the higher part could have been updated after the lower part has been
read, as shown in the following log where the upper part is read first
and the lower part next.

tsf = {00000003-fffffffd}
tsf = {00000003-00000001}
tsf = {00000004-0000000b}

This patch corrects this by checking that the upper part has not been
changed while the lower part was read. It has been tested in an IBSS
network where artifical IBSS merges have been done in order to trigger
hundreds of rollover for the TSF lower part.

It follows the logic mentionned by Derek, with only 2 register reads
needed at each additional steps instead of 3 (the minimum number of
register reads is still 3).

Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: add the PCI ID for the first AR9300 device
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:42 +0000 (17:39 -0400)]
ath9k_hw: add the PCI ID for the first AR9300 device

The first AR9003 hardware family device supported is the
AR9300, which has the vendor:device id 168c:0030

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Abort rx if hw is not coming out of full sleep in reset
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:41 +0000 (17:39 -0400)]
ath9k_hw: Abort rx if hw is not coming out of full sleep in reset

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Enable TXOK and TXERR interrupts for TX EDMA
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:40 +0000 (17:39 -0400)]
ath9k: Enable TXOK and TXERR interrupts for TX EDMA

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: add LDPC support
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:39 +0000 (17:39 -0400)]
ath9k: add LDPC support

LDPC is enabled by the rate control if the its determined
that the target peer supports LDPC. We would have already
intersected the HT capabilities so if our peer supports
LDPC so do we.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: add LDPC support for AR9003
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:38 +0000 (17:39 -0400)]
ath9k_hw: add LDPC support for AR9003

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: add LDPC control flag
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:37 +0000 (17:39 -0400)]
mac80211: add LDPC control flag

LDPC will be enabled through the rate control algorithm
for each buffer the the tx_info flags.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Add Tx EDMA support
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:36 +0000 (17:39 -0400)]
ath9k: Add Tx EDMA support

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Compute pointer checksum over the link descriptor
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:35 +0000 (17:39 -0400)]
ath9k_hw: Compute pointer checksum over the link descriptor

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>
14 years agoath9k: Initialize and configure tx status for EDMA
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:34 +0000 (17:39 -0400)]
ath9k: Initialize and configure tx status for EDMA

Also add a function to clean up tx status ring.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Setup appropriate tx desc for regular dma and edma
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:33 +0000 (17:39 -0400)]
ath9k: Setup appropriate tx desc for regular dma and edma

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: set cwmin and cwmax to 0 for for AR9003 upon txq reset
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:32 +0000 (17:39 -0400)]
ath9k_hw: set cwmin and cwmax to 0 for for AR9003 upon txq reset

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: enable CRC check of descriptors for AR9003
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:31 +0000 (17:39 -0400)]
ath9k_hw: enable CRC check of descriptors for AR9003

Enable CRC check on the descriptor fetched from host on AR9003
upon reseting the TX queue.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: add RXLP and RXHP to debugfs counters
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:30 +0000 (17:39 -0400)]
ath9k: add RXLP and RXHP to debugfs counters

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Fill descriptor abstrations for AR9003
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:29 +0000 (17:39 -0400)]
ath9k_hw: Fill descriptor abstrations for AR9003

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>
14 years agoath9k_hw: move AR9002 mac ops to its own file
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:28 +0000 (17:39 -0400)]
ath9k_hw: move AR9002 mac ops to its own file

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Add function to configure tx status ring buffer
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:27 +0000 (17:39 -0400)]
ath9k_hw: Add function to configure tx status ring buffer

Also reset tx status ring suring chip reset.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Define abstraction for tx desc access
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:26 +0000 (17:39 -0400)]
ath9k_hw: Define abstraction for tx desc access

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Load SW filtered NF values and start NF cal during full reset for AR9003
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:25 +0000 (17:39 -0400)]
ath9k: Load SW filtered NF values and start NF cal during full reset for AR9003

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: skip WEP aggregation enable code for AR9003
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:24 +0000 (17:39 -0400)]
ath9k_hw: skip WEP aggregation enable code for AR9003

The AR9002 hardware code enables aggregation for WEP but
mac80211 doesn't enable aggregation with WEP, and the AR9003
code family does not need this so skip it for now for AR9003
but leave the code and annotate we should eventually consider
how to remove this in consideration for the HAL unification
goals.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: skip asynch fifo enablement to AR9003
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:23 +0000 (17:39 -0400)]
ath9k_hw: skip asynch fifo enablement to AR9003

The asynch fifo code is specific to >= AR9287 so stuff it
into the AR9002 hardware family code and skip it for AR9003
cards.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Update ath9k_hw_set_dma for AR9300
Felix Fietkau [Thu, 15 Apr 2010 21:39:22 +0000 (17:39 -0400)]
ath9k_hw: Update ath9k_hw_set_dma for AR9300

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: add TX/RX gain register initialization for AR9003
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:21 +0000 (17:39 -0400)]
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>
14 years agoath9k_hw: add the AR9300 SREV hw name print
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:20 +0000 (17:39 -0400)]
ath9k_hw: add the AR9300 SREV hw name print

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Configure Tx interrupt mitigation timer
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:19 +0000 (17:39 -0400)]
ath9k_hw: Configure Tx interrupt mitigation timer

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: move the RF claim stuff to AR9002 hardware family
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:18 +0000 (17:39 -0400)]
ath9k_hw: move the RF claim stuff to AR9002 hardware family

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: move AR9280 PCI EEPROM fix to eeprom_def.c
Felix Fietkau [Thu, 15 Apr 2010 21:39:17 +0000 (17:39 -0400)]
ath9k_hw: move AR9280 PCI EEPROM fix to eeprom_def.c

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Fill get_isr() for AR9003
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:16 +0000 (17:39 -0400)]
ath9k_hw: Fill get_isr() for AR9003

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: add OFDM spur mitigation for AR9003
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:15 +0000 (17:39 -0400)]
ath9k_hw: add OFDM spur mitigation for AR9003

We add this now as OFDM spur mitigation required accessing
the EEPROM for the AR9003 devices.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Implement AR9003 eeprom callbacks
Senthil Balasubramanian [Thu, 15 Apr 2010 21:39:14 +0000 (17:39 -0400)]
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>
14 years agoath9k_hw: restore mac address reading logic
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:13 +0000 (17:39 -0400)]
ath9k_hw: restore mac address reading logic

Once upon a time the AR_EEPROM_MAC macro was added to let us
add a random attribute to the three 4-bytes of MAC addresses
entries we read from the EEPROM. This was good while a random
high-enough value was used which did not conflict with any
of the already existing enum eeprom_param values. With AR9003
support the enums overlap and it means we either increment
the random offset or just restore the reading logic to match
what the HAL has. I choose to do the later to synchronize
the logic on both code bases.

This should fix reading the MAC address from the EEPROM
on AR9003 hardware.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: rename eep_AR9287_ops to eep_ar9287_ops
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:12 +0000 (17:39 -0400)]
ath9k_hw: rename eep_AR9287_ops to eep_ar9287_ops

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>
14 years agoath9k_hw: complete AR9003 calibration
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:11 +0000 (17:39 -0400)]
ath9k_hw: complete AR9003 calibration

This goes with some new shiny TX IQ calibration that AR9003
hardware family supports.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
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>
14 years agoath9k_hw: fill in the callbacks for calibration for AR9003
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:10 +0000 (17:39 -0400)]
ath9k_hw: fill in the callbacks for calibration for AR9003

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: abstract loading noisefloor
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:09 +0000 (17:39 -0400)]
ath9k_hw: abstract loading noisefloor

This is the last call on calib.c which acceses PHY stuff,
with this change we calib.c is now generic between both
all supported hardware families.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: abstract the AR_PHY_AGC_CONTROL register access
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:08 +0000 (17:39 -0400)]
ath9k_hw: abstract the AR_PHY_AGC_CONTROL register access

This is so we can share routines which access this register
on calib.c

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Initialize interrupt mask for AR9003
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:07 +0000 (17:39 -0400)]
ath9k_hw: Initialize interrupt mask for AR9003

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Abstract the routine which returns interrupt status
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:39:06 +0000 (17:39 -0400)]
ath9k_hw: Abstract the routine which returns interrupt status

Also move interrupt related code to mac.c

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: move TX/RX gain INI stuff to its own hardware family code
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:05 +0000 (17:39 -0400)]
ath9k_hw: move TX/RX gain INI stuff to its own hardware family code

The AR9003 TX/RX gain is currently initialized with the other
components, so for now AR9003 does not implment this callback,
after hardware bring up  we can test moving the TX/RX gain there
as well and if it works well move them to its own callback as
well.

Since all INI stuff is now moved out hw.c no longer needs to
include and touch any original INI headers/structs.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: move the cck channel 14 INI to the AR9002 hw code
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:04 +0000 (17:39 -0400)]
ath9k_hw: move the cck channel 14 INI to the AR9002 hw code

This is specific to the AR9002 family only.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: split the generic hardware code by hardware family
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:03 +0000 (17:39 -0400)]
ath9k_hw: split the generic hardware code by hardware family

Move out the generic hardware family code out into their own
files, we have one for AR5008, AR9001, and AR9002 family (ar9002_hw.c)
and another file for the new AR9003 hardware family (ar9003_hw.c).

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: add the config_pci_powersave AR9003 callback
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:02 +0000 (17:39 -0400)]
ath9k_hw: add the config_pci_powersave AR9003 callback

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: add the AR9003 ar9003_hw_init_cal callback
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:01 +0000 (17:39 -0400)]
ath9k_hw: add the AR9003 ar9003_hw_init_cal callback

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: split calib code by hardware families
Luis R. Rodriguez [Thu, 15 Apr 2010 21:39:00 +0000 (17:39 -0400)]
ath9k_hw: split calib code by hardware families

Calibration code touches phy registers and since these
change the calibration code needs to be abstracted.

Noise floor calibration is the only thing remaining but
since the remaining calls only touch the AR_PHY_AGC_CONTROL
register we'll just define that register conditionally, that
will be done separately. The goal is to remove the dependency
of ar9002_phy.h on calib.c

This also adds stubs to be filled for AR9003 calibration code.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: move the cal AR9100 calibration settings
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:59 +0000 (17:38 -0400)]
ath9k_hw: move the cal AR9100 calibration settings

The calibration settings should go into the respective
hardware family AR9002 calibration settings callback,
ar9002_hw_init_cal_settings().

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: rename getNoiseFloorThresh() to ath9k_hw_loadnf()
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:58 +0000 (17:38 -0400)]
ath9k_hw: rename getNoiseFloorThresh() to ath9k_hw_loadnf()

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: rename the PA calib routines to match their families
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:57 +0000 (17:38 -0400)]
ath9k_hw: rename the PA calib routines to match their families

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: simplify OLC temp compensation for AR9002
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:56 +0000 (17:38 -0400)]
ath9k_hw: simplify OLC temp compensation for AR9002

We can do the family revision check on the top level caller.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: move the AR9280 OLC temp comp to its own helper
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:55 +0000 (17:38 -0400)]
ath9k_hw: move the AR9280 OLC temp comp to its own helper

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: shift code for AR9280 OLC temp comp
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:54 +0000 (17:38 -0400)]
ath9k_hw: shift code for AR9280 OLC temp comp

We're bailing out on the alternative code path so remove the
else branch.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: rename PA calib for AR9287
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:53 +0000 (17:38 -0400)]
ath9k_hw: rename PA calib for AR9287

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: add a helper for the OLC tem compensation for AR9002
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:52 +0000 (17:38 -0400)]
ath9k_hw: add a helper for the OLC tem compensation for AR9002

Open Loop Control temperature compensation changes between our
hardware so use a helper for it.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: add a helper for Power Amplifier calibration for AR9002
Luis R. Rodriguez [Thu, 15 Apr 2010 21:38:51 +0000 (17:38 -0400)]
ath9k_hw: add a helper for Power Amplifier calibration for AR9002

The code can be simplified and shared between two locations if we bring
this into a helper. During reset we do not account for the skip count.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: the eep_map is used only for AR9280 PCI card ini fixup
Senthil Balasubramanian [Thu, 15 Apr 2010 21:38:50 +0000 (17:38 -0400)]
ath9k_hw: the eep_map is used only for AR9280 PCI card ini fixup

We can reorganize the code in such a way that eep_map can be removed,
which makes the code more clearer.

Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k_hw: Split out the function for reading the noise floor
Felix Fietkau [Thu, 15 Apr 2010 21:38:49 +0000 (17:38 -0400)]
ath9k_hw: Split out the function for reading the noise floor

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Add Rx EDMA support
Felix Fietkau [Thu, 15 Apr 2010 21:38:48 +0000 (17:38 -0400)]
ath9k: Add Rx EDMA support

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Make bf_desc of ath_buf opaque
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:38:47 +0000 (17:38 -0400)]
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>
14 years agoath9k: Remove ATH9K_TX_SW_ABORTED and introduce a bool for this purpose
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:38:46 +0000 (17:38 -0400)]
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>
14 years agoath9k: Use memcpy in ath_clone_txbuf()
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:38:45 +0000 (17:38 -0400)]
ath9k: Use memcpy in ath_clone_txbuf()

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Use abstraction to get link pointer
Vasanthakumar Thiagarajan [Thu, 15 Apr 2010 21:38:44 +0000 (17:38 -0400)]
ath9k: Use abstraction to get link pointer

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>