diff options
author | Vasanthakumar Thiagarajan <vasanth@atheros.com> | 2010-04-15 17:38:25 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-04-16 15:43:21 -0400 |
commit | ceb2644576bcb9fe7b79614512c1efe2bf3c307c (patch) | |
tree | dd67989e05ddd06e54391a07157ac58badb8c474 /drivers/net/wireless | |
parent | 1adf02ffad449ea955e21393e05b0e45ef2c16a4 (diff) |
ath9k_hw: Fill few hw cap for edma
HP & LP queue depth and rx status length.
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>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_mac.h | 35 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 7 |
3 files changed, 47 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.h b/drivers/net/wireless/ath/ath9k/ar9003_mac.h new file mode 100644 index 000000000000..dbf74eba4c58 --- /dev/null +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2010 Atheros Communications Inc. | ||
3 | * | ||
4 | * Permission to use, copy, modify, and/or distribute this software for any | ||
5 | * purpose with or without fee is hereby granted, provided that the above | ||
6 | * copyright notice and this permission notice appear in all copies. | ||
7 | * | ||
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
15 | */ | ||
16 | |||
17 | #ifndef AR9003_MAC_H | ||
18 | #define AR9003_MAC_H | ||
19 | |||
20 | struct ar9003_rxs { | ||
21 | u32 ds_info; | ||
22 | u32 status1; | ||
23 | u32 status2; | ||
24 | u32 status3; | ||
25 | u32 status4; | ||
26 | u32 status5; | ||
27 | u32 status6; | ||
28 | u32 status7; | ||
29 | u32 status8; | ||
30 | u32 status9; | ||
31 | u32 status10; | ||
32 | u32 status11; | ||
33 | } __packed; | ||
34 | |||
35 | #endif | ||
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index b33aa2d35d67..8bd718c01238 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
@@ -2873,8 +2873,12 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) | |||
2873 | btcoex_hw->scheme = ATH_BTCOEX_CFG_NONE; | 2873 | btcoex_hw->scheme = ATH_BTCOEX_CFG_NONE; |
2874 | } | 2874 | } |
2875 | 2875 | ||
2876 | if (AR_SREV_9300_20_OR_LATER(ah)) | 2876 | if (AR_SREV_9300_20_OR_LATER(ah)) { |
2877 | pCap->hw_caps |= ATH9K_HW_CAP_EDMA; | 2877 | pCap->hw_caps |= ATH9K_HW_CAP_EDMA; |
2878 | pCap->rx_hp_qdepth = ATH9K_HW_RX_HP_QDEPTH; | ||
2879 | pCap->rx_lp_qdepth = ATH9K_HW_RX_LP_QDEPTH; | ||
2880 | pCap->rx_status_len = sizeof(struct ar9003_rxs); | ||
2881 | } | ||
2878 | 2882 | ||
2879 | return 0; | 2883 | return 0; |
2880 | } | 2884 | } |
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index d89af6ef8b26..6bd87bf17ad4 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
@@ -28,6 +28,7 @@ | |||
28 | #include "reg.h" | 28 | #include "reg.h" |
29 | #include "phy.h" | 29 | #include "phy.h" |
30 | #include "btcoex.h" | 30 | #include "btcoex.h" |
31 | #include "ar9003_mac.h" | ||
31 | 32 | ||
32 | #include "../regd.h" | 33 | #include "../regd.h" |
33 | #include "../debug.h" | 34 | #include "../debug.h" |
@@ -135,6 +136,9 @@ | |||
135 | 136 | ||
136 | #define TU_TO_USEC(_tu) ((_tu) << 10) | 137 | #define TU_TO_USEC(_tu) ((_tu) << 10) |
137 | 138 | ||
139 | #define ATH9K_HW_RX_HP_QDEPTH 16 | ||
140 | #define ATH9K_HW_RX_LP_QDEPTH 128 | ||
141 | |||
138 | enum wireless_mode { | 142 | enum wireless_mode { |
139 | ATH9K_MODE_11A = 0, | 143 | ATH9K_MODE_11A = 0, |
140 | ATH9K_MODE_11G, | 144 | ATH9K_MODE_11G, |
@@ -192,6 +196,9 @@ struct ath9k_hw_capabilities { | |||
192 | u8 num_gpio_pins; | 196 | u8 num_gpio_pins; |
193 | u8 num_antcfg_2ghz; | 197 | u8 num_antcfg_2ghz; |
194 | u8 num_antcfg_5ghz; | 198 | u8 num_antcfg_5ghz; |
199 | u8 rx_hp_qdepth; | ||
200 | u8 rx_lp_qdepth; | ||
201 | u8 rx_status_len; | ||
195 | }; | 202 | }; |
196 | 203 | ||
197 | struct ath9k_ops_config { | 204 | struct ath9k_ops_config { |