aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ar9003_mci.c
diff options
context:
space:
mode:
authorSujith Manoharan <c_manoha@qca.qualcomm.com>2012-02-22 02:10:03 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-02-27 14:06:33 -0500
commitc91ec465cab4a831671e01d65113330239faee61 (patch)
treed603a9efdd71c19dc782e9a69c7502c62eaca7f3 /drivers/net/wireless/ath/ath9k/ar9003_mci.c
parent79ebfb85d4ad3495d70124a249a1096ab6396c05 (diff)
ath9k: Remove AR9462 v1.0 support
v1.0 chips are not available in the market. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9003_mci.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_mci.c38
1 files changed, 4 insertions, 34 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mci.c b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
index 709520c6835b..8439656a0913 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_mci.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
@@ -274,14 +274,6 @@ static void ar9003_mci_prep_interface(struct ath_hw *ah)
274 ath_dbg(common, MCI, "MCI send REMOTE_RESET\n"); 274 ath_dbg(common, MCI, "MCI send REMOTE_RESET\n");
275 ar9003_mci_remote_reset(ah, true); 275 ar9003_mci_remote_reset(ah, true);
276 276
277 /*
278 * This delay is required for the reset delay worst case value 255 in
279 * MCI_COMMAND2 register
280 */
281
282 if (AR_SREV_9462_10(ah))
283 udelay(252);
284
285 ath_dbg(common, MCI, "MCI Send REQ_WAKE to remoter(BT)\n"); 277 ath_dbg(common, MCI, "MCI Send REQ_WAKE to remoter(BT)\n");
286 ar9003_mci_send_req_wake(ah, true); 278 ar9003_mci_send_req_wake(ah, true);
287 279
@@ -291,8 +283,6 @@ static void ar9003_mci_prep_interface(struct ath_hw *ah)
291 ath_dbg(common, MCI, "MCI SYS_WAKING from remote(BT)\n"); 283 ath_dbg(common, MCI, "MCI SYS_WAKING from remote(BT)\n");
292 mci->bt_state = MCI_BT_AWAKE; 284 mci->bt_state = MCI_BT_AWAKE;
293 285
294 if (AR_SREV_9462_10(ah))
295 udelay(10);
296 /* 286 /*
297 * we don't need to send more remote_reset at this moment. 287 * we don't need to send more remote_reset at this moment.
298 * If BT receive first remote_reset, then BT HW will 288 * If BT receive first remote_reset, then BT HW will
@@ -339,15 +329,14 @@ static void ar9003_mci_prep_interface(struct ath_hw *ah)
339 REG_WRITE(ah, AR_MCI_INTERRUPT_RAW, 329 REG_WRITE(ah, AR_MCI_INTERRUPT_RAW,
340 AR_MCI_INTERRUPT_BT_PRI); 330 AR_MCI_INTERRUPT_BT_PRI);
341 331
342 if (AR_SREV_9462_10(ah) || mci->is_2g) { 332 if (mci->is_2g) {
343 /* Send LNA_TRANS */ 333 /* Send LNA_TRANS */
344 ath_dbg(common, MCI, "MCI send LNA_TRANS to BT\n"); 334 ath_dbg(common, MCI, "MCI send LNA_TRANS to BT\n");
345 ar9003_mci_send_lna_transfer(ah, true); 335 ar9003_mci_send_lna_transfer(ah, true);
346 udelay(5); 336 udelay(5);
347 } 337 }
348 338
349 if (AR_SREV_9462_10(ah) || (mci->is_2g && 339 if ((mci->is_2g && !mci->update_2g5g)) {
350 !mci->update_2g5g)) {
351 if (ar9003_mci_wait_for_interrupt(ah, 340 if (ar9003_mci_wait_for_interrupt(ah,
352 AR_MCI_INTERRUPT_RX_MSG_RAW, 341 AR_MCI_INTERRUPT_RX_MSG_RAW,
353 AR_MCI_INTERRUPT_RX_MSG_LNA_INFO, 342 AR_MCI_INTERRUPT_RX_MSG_LNA_INFO,
@@ -358,14 +347,6 @@ static void ar9003_mci_prep_interface(struct ath_hw *ah)
358 ath_dbg(common, MCI, 347 ath_dbg(common, MCI,
359 "MCI BT didn't respond to LNA_TRANS\n"); 348 "MCI BT didn't respond to LNA_TRANS\n");
360 } 349 }
361
362 if (AR_SREV_9462_10(ah)) {
363 /* Send another remote_reset to deassert BT clk_req. */
364 ath_dbg(common, MCI,
365 "MCI another remote_reset to deassert clk_req\n");
366 ar9003_mci_remote_reset(ah, true);
367 udelay(252);
368 }
369 } 350 }
370 351
371 /* Clear the extra redundant SYS_WAKING from BT */ 352 /* Clear the extra redundant SYS_WAKING from BT */
@@ -618,9 +599,6 @@ void ar9003_mci_reset(struct ath_hw *ah, bool en_int, bool is_2g,
618 } else 599 } else
619 ath_dbg(common, MCI, "MCI SCHED one step look ahead off\n"); 600 ath_dbg(common, MCI, "MCI SCHED one step look ahead off\n");
620 601
621 if (AR_SREV_9462_10(ah))
622 regval |= SM(1, AR_BTCOEX_CTRL_SPDT_ENABLE_10);
623
624 REG_WRITE(ah, AR_BTCOEX_CTRL, regval); 602 REG_WRITE(ah, AR_BTCOEX_CTRL, regval);
625 603
626 if (AR_SREV_9462_20(ah)) { 604 if (AR_SREV_9462_20(ah)) {
@@ -771,9 +749,6 @@ static void ar9003_mci_send_2g5g_status(struct ath_hw *ah, bool wait_done)
771 ar9003_mci_send_coex_bt_flags(ah, wait_done, 749 ar9003_mci_send_coex_bt_flags(ah, wait_done,
772 MCI_GPM_COEX_BT_FLAGS_SET, to_set); 750 MCI_GPM_COEX_BT_FLAGS_SET, to_set);
773 } 751 }
774
775 if (AR_SREV_9462_10(ah) && (mci->bt_state != MCI_BT_SLEEP))
776 mci->update_2g5g = false;
777} 752}
778 753
779static void ar9003_mci_queue_unsent_gpm(struct ath_hw *ah, u8 header, 754static void ar9003_mci_queue_unsent_gpm(struct ath_hw *ah, u8 header,
@@ -810,11 +785,8 @@ static void ar9003_mci_queue_unsent_gpm(struct ath_hw *ah, u8 header,
810 switch (opcode) { 785 switch (opcode) {
811 case MCI_GPM_COEX_BT_UPDATE_FLAGS: 786 case MCI_GPM_COEX_BT_UPDATE_FLAGS:
812 787
813 if (AR_SREV_9462_10(ah))
814 break;
815
816 if (*(((u8 *)payload) + MCI_GPM_COEX_B_BT_FLAGS_OP) == 788 if (*(((u8 *)payload) + MCI_GPM_COEX_B_BT_FLAGS_OP) ==
817 MCI_GPM_COEX_BT_FLAGS_READ) 789 MCI_GPM_COEX_BT_FLAGS_READ)
818 break; 790 break;
819 791
820 mci->update_2g5g = queue; 792 mci->update_2g5g = queue;
@@ -1438,9 +1410,7 @@ u32 ar9003_mci_state(struct ath_hw *ah, u32 state_type, u32 *p_data)
1438 break; 1410 break;
1439 1411
1440 case MCI_STATE_SEND_STATUS_QUERY: 1412 case MCI_STATE_SEND_STATUS_QUERY:
1441 query_type = (AR_SREV_9462_10(ah)) ? 1413 query_type = MCI_GPM_COEX_QUERY_BT_TOPOLOGY;
1442 MCI_GPM_COEX_QUERY_BT_ALL_INFO :
1443 MCI_GPM_COEX_QUERY_BT_TOPOLOGY;
1444 1414
1445 ar9003_mci_send_coex_bt_status_query(ah, true, query_type); 1415 ar9003_mci_send_coex_bt_status_query(ah, true, query_type);
1446 break; 1416 break;