Commit ceb26445 authored by Vasanthakumar Thiagarajan's avatar Vasanthakumar Thiagarajan Committed by John W. Linville

ath9k_hw: Fill few hw cap for edma

HP & LP queue depth and rx status length.
Signed-off-by: default avatarVasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 1adf02ff
/*
* Copyright (c) 2010 Atheros Communications Inc.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef AR9003_MAC_H
#define AR9003_MAC_H
struct ar9003_rxs {
u32 ds_info;
u32 status1;
u32 status2;
u32 status3;
u32 status4;
u32 status5;
u32 status6;
u32 status7;
u32 status8;
u32 status9;
u32 status10;
u32 status11;
} __packed;
#endif
...@@ -2873,8 +2873,12 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) ...@@ -2873,8 +2873,12 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
btcoex_hw->scheme = ATH_BTCOEX_CFG_NONE; btcoex_hw->scheme = ATH_BTCOEX_CFG_NONE;
} }
if (AR_SREV_9300_20_OR_LATER(ah)) if (AR_SREV_9300_20_OR_LATER(ah)) {
pCap->hw_caps |= ATH9K_HW_CAP_EDMA; pCap->hw_caps |= ATH9K_HW_CAP_EDMA;
pCap->rx_hp_qdepth = ATH9K_HW_RX_HP_QDEPTH;
pCap->rx_lp_qdepth = ATH9K_HW_RX_LP_QDEPTH;
pCap->rx_status_len = sizeof(struct ar9003_rxs);
}
return 0; return 0;
} }
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "reg.h" #include "reg.h"
#include "phy.h" #include "phy.h"
#include "btcoex.h" #include "btcoex.h"
#include "ar9003_mac.h"
#include "../regd.h" #include "../regd.h"
#include "../debug.h" #include "../debug.h"
...@@ -135,6 +136,9 @@ ...@@ -135,6 +136,9 @@
#define TU_TO_USEC(_tu) ((_tu) << 10) #define TU_TO_USEC(_tu) ((_tu) << 10)
#define ATH9K_HW_RX_HP_QDEPTH 16
#define ATH9K_HW_RX_LP_QDEPTH 128
enum wireless_mode { enum wireless_mode {
ATH9K_MODE_11A = 0, ATH9K_MODE_11A = 0,
ATH9K_MODE_11G, ATH9K_MODE_11G,
...@@ -192,6 +196,9 @@ struct ath9k_hw_capabilities { ...@@ -192,6 +196,9 @@ struct ath9k_hw_capabilities {
u8 num_gpio_pins; u8 num_gpio_pins;
u8 num_antcfg_2ghz; u8 num_antcfg_2ghz;
u8 num_antcfg_5ghz; u8 num_antcfg_5ghz;
u8 rx_hp_qdepth;
u8 rx_lp_qdepth;
u8 rx_status_len;
}; };
struct ath9k_ops_config { struct ath9k_ops_config {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment