main.c (d2182b69dcb6a68b1ef6070b2efd094e13dea3f1) | main.c (8a30930563521c9dba73c93b5631be1d0993f78f) |
---|---|
1/* 2 * Copyright (c) 2008-2011 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 --- 727 unchanged lines hidden (view full) --- 736 737 if (status & ATH9K_INT_TX) { 738 if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) 739 ath_tx_edma_tasklet(sc); 740 else 741 ath_tx_tasklet(sc); 742 } 743 | 1/* 2 * Copyright (c) 2008-2011 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 --- 727 unchanged lines hidden (view full) --- 736 737 if (status & ATH9K_INT_TX) { 738 if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) 739 ath_tx_edma_tasklet(sc); 740 else 741 ath_tx_tasklet(sc); 742 } 743 |
744 if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE) | 744 if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE) |
745 if (status & ATH9K_INT_GENTIMER) 746 ath_gen_timer_isr(sc->sc_ah); 747 | 745 if (status & ATH9K_INT_GENTIMER) 746 ath_gen_timer_isr(sc->sc_ah); 747 |
748 if (status & ATH9K_INT_MCI) | 748 if ((status & ATH9K_INT_MCI) && ATH9K_HW_CAP_MCI) |
749 ath_mci_intr(sc); 750 751out: 752 /* re-enable hardware interrupt */ 753 ath9k_hw_enable_interrupts(ah); 754 755 spin_unlock(&sc->sc_pcu_lock); 756 ath9k_ps_restore(sc); --- 319 unchanged lines hidden (view full) --- 1076 /* 1077 * Reset key cache to sane defaults (all entries cleared) instead of 1078 * semi-random values after suspend/resume. 1079 */ 1080 ath9k_cmn_init_crypto(sc->sc_ah); 1081 1082 spin_unlock_bh(&sc->sc_pcu_lock); 1083 | 749 ath_mci_intr(sc); 750 751out: 752 /* re-enable hardware interrupt */ 753 ath9k_hw_enable_interrupts(ah); 754 755 spin_unlock(&sc->sc_pcu_lock); 756 ath9k_ps_restore(sc); --- 319 unchanged lines hidden (view full) --- 1076 /* 1077 * Reset key cache to sane defaults (all entries cleared) instead of 1078 * semi-random values after suspend/resume. 1079 */ 1080 ath9k_cmn_init_crypto(sc->sc_ah); 1081 1082 spin_unlock_bh(&sc->sc_pcu_lock); 1083 |
1084 if ((ah->btcoex_hw.scheme != ATH_BTCOEX_CFG_NONE) && | 1084 if ((ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) && |
1085 !ah->btcoex_hw.enabled) { 1086 if (!(sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_MCI)) 1087 ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, 1088 AR_STOMP_LOW_WLAN_WGHT); 1089 ath9k_hw_btcoex_enable(ah); 1090 | 1085 !ah->btcoex_hw.enabled) { 1086 if (!(sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_MCI)) 1087 ath9k_hw_btcoex_set_weight(ah, AR_BT_COEX_WGHT, 1088 AR_STOMP_LOW_WLAN_WGHT); 1089 ath9k_hw_btcoex_enable(ah); 1090 |
1091 if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE) | 1091 if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE) |
1092 ath9k_btcoex_timer_resume(sc); 1093 } 1094 1095 if (ah->caps.pcie_lcr_extsync_en && common->bus_ops->extn_synch_en) 1096 common->bus_ops->extn_synch_en(common); 1097 1098mutex_unlock: 1099 mutex_unlock(&sc->mutex); --- 86 unchanged lines hidden (view full) --- 1186 ath_dbg(common, ANY, "Device not present\n"); 1187 mutex_unlock(&sc->mutex); 1188 return; 1189 } 1190 1191 /* Ensure HW is awake when we try to shut it down. */ 1192 ath9k_ps_wakeup(sc); 1193 | 1092 ath9k_btcoex_timer_resume(sc); 1093 } 1094 1095 if (ah->caps.pcie_lcr_extsync_en && common->bus_ops->extn_synch_en) 1096 common->bus_ops->extn_synch_en(common); 1097 1098mutex_unlock: 1099 mutex_unlock(&sc->mutex); --- 86 unchanged lines hidden (view full) --- 1186 ath_dbg(common, ANY, "Device not present\n"); 1187 mutex_unlock(&sc->mutex); 1188 return; 1189 } 1190 1191 /* Ensure HW is awake when we try to shut it down. */ 1192 ath9k_ps_wakeup(sc); 1193 |
1194 if (ah->btcoex_hw.enabled) { | 1194 if (ah->btcoex_hw.enabled && 1195 ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE) { |
1195 ath9k_hw_btcoex_disable(ah); | 1196 ath9k_hw_btcoex_disable(ah); |
1196 if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE) | 1197 if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE) |
1197 ath9k_btcoex_timer_pause(sc); 1198 ath_mci_flush_profile(&sc->btcoex.mci); 1199 } 1200 1201 spin_lock_bh(&sc->sc_pcu_lock); 1202 1203 /* prevent tasklets to enable interrupts once we disable them */ 1204 ah->imask &= ~ATH9K_INT_GLOBAL; --- 1257 unchanged lines hidden --- | 1198 ath9k_btcoex_timer_pause(sc); 1199 ath_mci_flush_profile(&sc->btcoex.mci); 1200 } 1201 1202 spin_lock_bh(&sc->sc_pcu_lock); 1203 1204 /* prevent tasklets to enable interrupts once we disable them */ 1205 ah->imask &= ~ATH9K_INT_GLOBAL; --- 1257 unchanged lines hidden --- |