aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qca.qualcomm.com>2012-02-22 02:12:15 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-02-27 14:06:39 -0500
commit0cc4cdebb789c5ca8c2b263c846fe7e9b0a199bd (patch)
tree8d5c436ac07991d7a51caebd44613e24094ae1f1
parent4f851df78a96947807c14a7c616d1d096314e460 (diff)
ath9k_hw: Remove HW revision checks
They are not needed since MCI will be enabled only for AR9462 v2.0 Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_mci.c34
1 files changed, 10 insertions, 24 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mci.c b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
index 8d3659cc11f0..591ca35b3983 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_mci.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
@@ -22,9 +22,6 @@
22 22
23static void ar9003_mci_reset_req_wakeup(struct ath_hw *ah) 23static void ar9003_mci_reset_req_wakeup(struct ath_hw *ah)
24{ 24{
25 if (!AR_SREV_9462_20(ah))
26 return;
27
28 REG_RMW_FIELD(ah, AR_MCI_COMMAND2, 25 REG_RMW_FIELD(ah, AR_MCI_COMMAND2,
29 AR_MCI_COMMAND2_RESET_REQ_WAKEUP, 1); 26 AR_MCI_COMMAND2_RESET_REQ_WAKEUP, 1);
30 udelay(1); 27 udelay(1);
@@ -496,14 +493,9 @@ static void ar9003_mci_observation_set_up(struct ath_hw *ah)
496 493
497 REG_SET_BIT(ah, AR_GPIO_INPUT_EN_VAL, AR_GPIO_JTAG_DISABLE); 494 REG_SET_BIT(ah, AR_GPIO_INPUT_EN_VAL, AR_GPIO_JTAG_DISABLE);
498 495
499 if (AR_SREV_9462_20_OR_LATER(ah)) { 496 REG_RMW_FIELD(ah, AR_PHY_GLB_CONTROL, AR_GLB_DS_JTAG_DISABLE, 1);
500 REG_RMW_FIELD(ah, AR_PHY_GLB_CONTROL, 497 REG_RMW_FIELD(ah, AR_PHY_GLB_CONTROL, AR_GLB_WLAN_UART_INTF_EN, 0);
501 AR_GLB_DS_JTAG_DISABLE, 1); 498 REG_SET_BIT(ah, AR_GLB_GPIO_CONTROL, ATH_MCI_CONFIG_MCI_OBS_GPIO);
502 REG_RMW_FIELD(ah, AR_PHY_GLB_CONTROL,
503 AR_GLB_WLAN_UART_INTF_EN, 0);
504 REG_SET_BIT(ah, AR_GLB_GPIO_CONTROL,
505 ATH_MCI_CONFIG_MCI_OBS_GPIO);
506 }
507 499
508 REG_RMW_FIELD(ah, AR_BTCOEX_CTRL2, AR_BTCOEX_CTRL2_GPIO_OBS_SEL, 0); 500 REG_RMW_FIELD(ah, AR_BTCOEX_CTRL2, AR_BTCOEX_CTRL2_GPIO_OBS_SEL, 0);
509 REG_RMW_FIELD(ah, AR_BTCOEX_CTRL2, AR_BTCOEX_CTRL2_MAC_BB_OBS_SEL, 1); 501 REG_RMW_FIELD(ah, AR_BTCOEX_CTRL2, AR_BTCOEX_CTRL2_MAC_BB_OBS_SEL, 1);
@@ -1053,9 +1045,7 @@ static void ar9003_mci_send_2g5g_status(struct ath_hw *ah, bool wait_done)
1053 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci; 1045 struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci;
1054 u32 new_flags, to_set, to_clear; 1046 u32 new_flags, to_set, to_clear;
1055 1047
1056 if (AR_SREV_9462_20(ah) && 1048 if (mci->update_2g5g && (mci->bt_state != MCI_BT_SLEEP)) {
1057 mci->update_2g5g &&
1058 (mci->bt_state != MCI_BT_SLEEP)) {
1059 1049
1060 if (mci->is_2g) { 1050 if (mci->is_2g) {
1061 new_flags = MCI_2G_FLAGS; 1051 new_flags = MCI_2G_FLAGS;
@@ -1193,14 +1183,13 @@ void ar9003_mci_2g5g_switch(struct ath_hw *ah, bool wait_done)
1193 REG_CLR_BIT(ah, AR_MCI_TX_CTRL, 1183 REG_CLR_BIT(ah, AR_MCI_TX_CTRL,
1194 AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE); 1184 AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE);
1195 1185
1196 if (AR_SREV_9462_20(ah)) {
1197 REG_CLR_BIT(ah, AR_PHY_GLB_CONTROL, 1186 REG_CLR_BIT(ah, AR_PHY_GLB_CONTROL,
1198 AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL); 1187 AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL);
1188
1199 if (!(mci->config & 1189 if (!(mci->config &
1200 ATH_MCI_CONFIG_DISABLE_OSLA)) { 1190 ATH_MCI_CONFIG_DISABLE_OSLA)) {
1201 REG_SET_BIT(ah, AR_BTCOEX_CTRL, 1191 REG_SET_BIT(ah, AR_BTCOEX_CTRL,
1202 AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN); 1192 AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN);
1203 }
1204 } 1193 }
1205 } else { 1194 } else {
1206 ath_dbg(common, MCI, "MCI Send LNA take\n"); 1195 ath_dbg(common, MCI, "MCI Send LNA take\n");
@@ -1210,12 +1199,10 @@ void ar9003_mci_2g5g_switch(struct ath_hw *ah, bool wait_done)
1210 REG_SET_BIT(ah, AR_MCI_TX_CTRL, 1199 REG_SET_BIT(ah, AR_MCI_TX_CTRL,
1211 AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE); 1200 AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE);
1212 1201
1213 if (AR_SREV_9462_20(ah)) { 1202 REG_SET_BIT(ah, AR_PHY_GLB_CONTROL,
1214 REG_SET_BIT(ah, AR_PHY_GLB_CONTROL, 1203 AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL);
1215 AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL); 1204 REG_CLR_BIT(ah, AR_BTCOEX_CTRL,
1216 REG_CLR_BIT(ah, AR_BTCOEX_CTRL, 1205 AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN);
1217 AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN);
1218 }
1219 1206
1220 ar9003_mci_send_2g5g_status(ah, true); 1207 ar9003_mci_send_2g5g_status(ah, true);
1221 } 1208 }
@@ -1532,8 +1519,7 @@ u32 ar9003_mci_state(struct ath_hw *ah, u32 state_type, u32 *p_data)
1532 ar9003_mci_reset_req_wakeup(ah); 1519 ar9003_mci_reset_req_wakeup(ah);
1533 mci->update_2g5g = true; 1520 mci->update_2g5g = true;
1534 1521
1535 if ((AR_SREV_9462_20_OR_LATER(ah)) && 1522 if (mci->config & ATH_MCI_CONFIG_MCI_OBS_MASK) {
1536 (mci->config & ATH_MCI_CONFIG_MCI_OBS_MASK)) {
1537 /* Check if we still have control of the GPIOs */ 1523 /* Check if we still have control of the GPIOs */
1538 if ((REG_READ(ah, AR_GLB_GPIO_CONTROL) & 1524 if ((REG_READ(ah, AR_GLB_GPIO_CONTROL) &
1539 ATH_MCI_CONFIG_MCI_OBS_GPIO) != 1525 ATH_MCI_CONFIG_MCI_OBS_GPIO) !=