|
@@ -254,16 +254,32 @@ enum mci_gpm_coex_opcode {
|
|
|
|
|
|
#define MCI_GPM_IS_CAL_TYPE(_type) ((_type) <= MCI_GPM_WLAN_CAL_DONE)
|
|
|
|
|
|
+/*
|
|
|
+ * Functions that are available to the MCI driver core.
|
|
|
+ */
|
|
|
bool ar9003_mci_send_message(struct ath_hw *ah, u8 header, u32 flag,
|
|
|
u32 *payload, u8 len, bool wait_done,
|
|
|
bool check_bt);
|
|
|
-void ar9003_mci_stop_bt(struct ath_hw *ah, bool sava_fullsleep);
|
|
|
u32 ar9003_mci_state(struct ath_hw *ah, u32 state_type, u32 *p_data);
|
|
|
-void ar9003_mci_init_cal_req(struct ath_hw *ah, bool *is_reusable);
|
|
|
-void ar9003_mci_init_cal_done(struct ath_hw *ah);
|
|
|
void ar9003_mci_setup(struct ath_hw *ah, u32 gpm_addr, void *gpm_buf,
|
|
|
u16 len, u32 sched_addr);
|
|
|
void ar9003_mci_cleanup(struct ath_hw *ah);
|
|
|
+void ar9003_mci_get_interrupt(struct ath_hw *ah, u32 *raw_intr,
|
|
|
+ u32 *rx_msg_intr);
|
|
|
+
|
|
|
+/*
|
|
|
+ * These functions are used by ath9k_hw.
|
|
|
+ */
|
|
|
+
|
|
|
+#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
|
|
|
+
|
|
|
+static inline bool ar9003_mci_is_ready(struct ath_hw *ah)
|
|
|
+{
|
|
|
+ return ah->btcoex_hw.mci.ready;
|
|
|
+}
|
|
|
+void ar9003_mci_stop_bt(struct ath_hw *ah, bool save_fullsleep);
|
|
|
+void ar9003_mci_init_cal_req(struct ath_hw *ah, bool *is_reusable);
|
|
|
+void ar9003_mci_init_cal_done(struct ath_hw *ah);
|
|
|
void ar9003_mci_set_full_sleep(struct ath_hw *ah);
|
|
|
void ar9003_mci_2g5g_switch(struct ath_hw *ah, bool wait_done);
|
|
|
void ar9003_mci_check_bt(struct ath_hw *ah);
|
|
@@ -272,13 +288,48 @@ int ar9003_mci_end_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
|
|
struct ath9k_hw_cal_data *caldata);
|
|
|
void ar9003_mci_reset(struct ath_hw *ah, bool en_int, bool is_2g,
|
|
|
bool is_full_sleep);
|
|
|
-void ar9003_mci_get_interrupt(struct ath_hw *ah, u32 *raw_intr,
|
|
|
- u32 *rx_msg_intr);
|
|
|
void ar9003_mci_get_isr(struct ath_hw *ah, enum ath9k_int *masked);
|
|
|
|
|
|
+#else
|
|
|
+
|
|
|
static inline bool ar9003_mci_is_ready(struct ath_hw *ah)
|
|
|
{
|
|
|
- return ah->btcoex_hw.mci.ready;
|
|
|
+ return false;
|
|
|
+}
|
|
|
+static inline void ar9003_mci_stop_bt(struct ath_hw *ah, bool save_fullsleep)
|
|
|
+{
|
|
|
+}
|
|
|
+static inline void ar9003_mci_init_cal_req(struct ath_hw *ah, bool *is_reusable)
|
|
|
+{
|
|
|
+}
|
|
|
+static inline void ar9003_mci_init_cal_done(struct ath_hw *ah)
|
|
|
+{
|
|
|
+}
|
|
|
+static inline void ar9003_mci_set_full_sleep(struct ath_hw *ah)
|
|
|
+{
|
|
|
+}
|
|
|
+static inline void ar9003_mci_2g5g_switch(struct ath_hw *ah, bool wait_done)
|
|
|
+{
|
|
|
+}
|
|
|
+static inline void ar9003_mci_check_bt(struct ath_hw *ah)
|
|
|
+{
|
|
|
+}
|
|
|
+static inline bool ar9003_mci_start_reset(struct ath_hw *ah, struct ath9k_channel *chan)
|
|
|
+{
|
|
|
+ return false;
|
|
|
+}
|
|
|
+static inline int ar9003_mci_end_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
|
|
+ struct ath9k_hw_cal_data *caldata)
|
|
|
+{
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+static inline void ar9003_mci_reset(struct ath_hw *ah, bool en_int, bool is_2g,
|
|
|
+ bool is_full_sleep)
|
|
|
+{
|
|
|
+}
|
|
|
+static inline void ar9003_mci_get_isr(struct ath_hw *ah, enum ath9k_int *masked)
|
|
|
+{
|
|
|
}
|
|
|
+#endif /* CONFIG_ATH9K_BTCOEX_SUPPORT */
|
|
|
|
|
|
#endif
|