Commit 4d9f7c68 authored by Sujith Manoharan's avatar Sujith Manoharan Committed by Kalle Valo

ath9k: Setup MCI statistics properly

Use a subroutine to enable MCI debug statistics
if it is present in the global configuration.
Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent d808ecd8
...@@ -821,6 +821,25 @@ static void ar9003_mci_osla_setup(struct ath_hw *ah, bool enable) ...@@ -821,6 +821,25 @@ static void ar9003_mci_osla_setup(struct ath_hw *ah, bool enable)
AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN, 1); AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN, 1);
} }
static void ar9003_mci_stat_setup(struct ath_hw *ah)
{
struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci;
if (!AR_SREV_9565(ah))
return;
if (mci->config & ATH_MCI_CONFIG_MCI_STAT_DBG) {
REG_RMW_FIELD(ah, AR_MCI_DBG_CNT_CTRL,
AR_MCI_DBG_CNT_CTRL_ENABLE, 1);
REG_RMW_FIELD(ah, AR_MCI_DBG_CNT_CTRL,
AR_MCI_DBG_CNT_CTRL_BT_LINKID,
MCI_STAT_ALL_BT_LINKID);
} else {
REG_RMW_FIELD(ah, AR_MCI_DBG_CNT_CTRL,
AR_MCI_DBG_CNT_CTRL_ENABLE, 0);
}
}
static void ar9003_mci_set_btcoex_ctrl_9565_1ANT(struct ath_hw *ah) static void ar9003_mci_set_btcoex_ctrl_9565_1ANT(struct ath_hw *ah)
{ {
u32 regval; u32 regval;
...@@ -984,10 +1003,8 @@ int ar9003_mci_reset(struct ath_hw *ah, bool en_int, bool is_2g, ...@@ -984,10 +1003,8 @@ int ar9003_mci_reset(struct ath_hw *ah, bool en_int, bool is_2g,
mci->ready = true; mci->ready = true;
ar9003_mci_prep_interface(ah); ar9003_mci_prep_interface(ah);
ar9003_mci_stat_setup(ah);
if (AR_SREV_9565(ah))
REG_RMW_FIELD(ah, AR_MCI_DBG_CNT_CTRL,
AR_MCI_DBG_CNT_CTRL_ENABLE, 0);
if (en_int) if (en_int)
ar9003_mci_enable_interrupt(ah); ar9003_mci_enable_interrupt(ah);
......
...@@ -265,9 +265,14 @@ ...@@ -265,9 +265,14 @@
#define AR_MCI_MISC 0x1a74 #define AR_MCI_MISC 0x1a74
#define AR_MCI_MISC_HW_FIX_EN 0x00000001 #define AR_MCI_MISC_HW_FIX_EN 0x00000001
#define AR_MCI_MISC_HW_FIX_EN_S 0 #define AR_MCI_MISC_HW_FIX_EN_S 0
#define AR_MCI_DBG_CNT_CTRL 0x1a78 #define AR_MCI_DBG_CNT_CTRL 0x1a78
#define AR_MCI_DBG_CNT_CTRL_ENABLE 0x00000001 #define AR_MCI_DBG_CNT_CTRL_ENABLE 0x00000001
#define AR_MCI_DBG_CNT_CTRL_ENABLE_S 0 #define AR_MCI_DBG_CNT_CTRL_ENABLE_S 0
#define AR_MCI_DBG_CNT_CTRL_BT_LINKID 0x000007f8
#define AR_MCI_DBG_CNT_CTRL_BT_LINKID_S 3
#define MCI_STAT_ALL_BT_LINKID 0xffff
#define AR_MCI_INTERRUPT_DEFAULT (AR_MCI_INTERRUPT_SW_MSG_DONE | \ #define AR_MCI_INTERRUPT_DEFAULT (AR_MCI_INTERRUPT_SW_MSG_DONE | \
AR_MCI_INTERRUPT_RX_INVALID_HDR | \ AR_MCI_INTERRUPT_RX_INVALID_HDR | \
......
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