/* For multi-bss ap support beacons are either staggered evenly over N slots or burst together. For the former arrange for the SWBA to be delivered for each slot. Slots that are not occupied will generate nothing.  */
static void ath_beacon_config_ap(struct ath_softc *sc, struct ath_beacon_config *conf)
/* For multi-bss ap support beacons are either staggered evenly over N slots or burst together. For the former arrange for the SWBA to be delivered for each slot. Slots that are not occupied will generate nothing.  */
static void ath_beacon_config_ap(struct ath_softc *sc, struct ath_beacon_config *conf)
{
	u32 nexttbtt, intval;
	if (!(sc->sc_flags & SC_OP_TSF_RESET))
		return;
	intval = conf->beacon_interval & ATH9K_BEACON_PERIOD;
	intval /= ATH_BCBUF;
	nexttbtt = intval;
	intval |= ATH9K_BEACON_RESET_TSF;
	intval |= ATH9K_BEACON_ENA;
	sc->imask |= ATH9K_INT_SWBA;
	ath_beaconq_config(sc);
	ath9k_hw_set_interrupts(sc->sc_ah, 0);
	ath9k_beacon_init(sc, nexttbtt, intval);
	sc->beacon.bmisscnt = 0;
	ath9k_hw_set_interrupts(sc->sc_ah, sc->imask);
	sc->sc_flags &= ~SC_OP_TSF_RESET;
}