Commit 56ca0dba authored by Sujith Manoharan's avatar Sujith Manoharan Committed by John W. Linville
Browse files

ath9k: Process BTCOEX interrupts using a helper

parent df198b17
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -460,6 +460,7 @@ void ath9k_start_btcoex(struct ath_softc *sc);
void ath9k_stop_btcoex(struct ath_softc *sc);
void ath9k_btcoex_timer_resume(struct ath_softc *sc);
void ath9k_btcoex_timer_pause(struct ath_softc *sc);
void ath9k_btcoex_handle_interrupt(struct ath_softc *sc, u32 status);

/********************/
/*   LED Control    */
+12 −0
Original line number Diff line number Diff line
@@ -318,6 +318,18 @@ void ath9k_btcoex_timer_pause(struct ath_softc *sc)
	btcoex->hw_timer_enabled = false;
}

void ath9k_btcoex_handle_interrupt(struct ath_softc *sc, u32 status)
{
	struct ath_hw *ah = sc->sc_ah;

	if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE)
		if (status & ATH9K_INT_GENTIMER)
			ath_gen_timer_isr(sc->sc_ah);

	if ((status & ATH9K_INT_MCI) && ATH9K_HW_CAP_MCI)
		ath_mci_intr(sc);
}

void ath9k_start_btcoex(struct ath_softc *sc)
{
	struct ath_hw *ah = sc->sc_ah;
+1 −6
Original line number Diff line number Diff line
@@ -735,12 +735,7 @@ void ath9k_tasklet(unsigned long data)
			ath_tx_tasklet(sc);
	}

	if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_3WIRE)
		if (status & ATH9K_INT_GENTIMER)
			ath_gen_timer_isr(sc->sc_ah);

	if ((status & ATH9K_INT_MCI) && ATH9K_HW_CAP_MCI)
		ath_mci_intr(sc);
	ath9k_btcoex_handle_interrupt(sc, status);

out:
	/* re-enable hardware interrupt */