Lines Matching refs:sc

51 rtwn_reset_beacon_valid(struct rtwn_softc *sc, int id)
57 rtwn_setbits_1_shift(sc, sc->bcn_status_reg[id],
60 RTWN_DPRINTF(sc, RTWN_DEBUG_BEACON,
66 rtwn_check_beacon_valid(struct rtwn_softc *sc, int id)
74 reg = sc->bcn_status_reg[id];
76 if (rtwn_read_4(sc, reg) & R92C_TDECTRL_BCN_VALID) {
77 RTWN_DPRINTF(sc, RTWN_DEBUG_BEACON,
82 rtwn_delay(sc, sc->bcn_check_interval);
91 rtwn_switch_bcnq(struct rtwn_softc *sc, int id)
94 if (sc->cur_bcnq_id != id) {
96 (void) rtwn_check_beacon_valid(sc, sc->cur_bcnq_id);
99 rtwn_beacon_select(sc, id);
100 sc->cur_bcnq_id = id;
104 rtwn_reset_beacon_valid(sc, id);
108 rtwn_setup_beacon(struct rtwn_softc *sc, struct ieee80211_node *ni)
114 RTWN_ASSERT_LOCKED(sc);
121 device_printf(sc->sc_dev,
127 rtwn_beacon_unload(sc, uvp->id);
133 rtwn_beacon_set_rate(sc, &uvp->bcn_desc.txd[0],
136 return (rtwn_tx_beacon_check(sc, uvp));
144 rtwn_tx_beacon(struct rtwn_softc *sc, struct rtwn_vap *uvp)
148 RTWN_ASSERT_LOCKED(sc);
150 RTWN_DPRINTF(sc, RTWN_DEBUG_BEACON,
153 error = rtwn_tx_start(sc, NULL, uvp->bcn_mbuf, &uvp->bcn_desc.txd[0],
163 struct rtwn_softc *sc = ic->ic_softc;
169 RTWN_LOCK(sc);
173 device_printf(sc->sc_dev,
175 RTWN_UNLOCK(sc);
180 RTWN_DPRINTF(sc, RTWN_DEBUG_BEACON,
206 rtwn_beacon_update_begin(sc, vap);
207 RTWN_UNLOCK(sc);
214 RTWN_LOCK(sc);
215 rtwn_tx_beacon(sc, uvp);
216 rtwn_beacon_update_end(sc, vap);
217 RTWN_UNLOCK(sc);
225 struct rtwn_softc *sc = ic->ic_softc;
233 RTWN_DPRINTF(sc, RTWN_DEBUG_BEACON,
245 rtwn_tx_beacon_check(struct rtwn_softc *sc, struct rtwn_vap *uvp)
250 rtwn_reset_beacon_valid(sc, uvp->id);
252 error = rtwn_tx_beacon(sc, uvp);
256 error = rtwn_check_beacon_valid(sc, uvp->id);
261 device_printf(sc->sc_dev,