Lines Matching refs:sc

58 rtwn_get_rates(struct rtwn_softc *sc, const struct ieee80211_rateset *rs,
99 RTWN_DPRINTF(sc, RTWN_DEBUG_RA,
109 rtwn_set_basicrates(struct rtwn_softc *sc, uint32_t rates)
112 RTWN_DPRINTF(sc, RTWN_DEBUG_RA, "%s: rates 0x%08X\n", __func__, rates);
114 rtwn_setbits_4(sc, R92C_RRSR, R92C_RRSR_RATE_BITMAP_M, rates);
118 rtwn_update_avgrssi(struct rtwn_softc *sc, struct rtwn_node *un, int8_t rssi,
152 RTWN_DPRINTF(sc, RTWN_DEBUG_RSSI,
157 rtwn_get_rssi(struct rtwn_softc *sc, void *physt, int is_cck)
162 rssi = rtwn_get_rssi_cck(sc, physt);
164 rssi = rtwn_get_rssi_ofdm(sc, physt);
170 rtwn_get_tsf_low(struct rtwn_softc *sc, int id)
172 return (rtwn_read_4(sc, R92C_TSFTR(id)));
176 rtwn_get_tsf_high(struct rtwn_softc *sc, int id)
178 return (rtwn_read_4(sc, R92C_TSFTR(id) + 4));
182 rtwn_get_tsf(struct rtwn_softc *sc, uint64_t *buf, int id)
185 *buf = rtwn_get_tsf_high(sc, id);
187 *buf += rtwn_get_tsf_low(sc, id);
191 rtwn_extend_rx_tsf(struct rtwn_softc *sc,
206 tsfl_curr = rtwn_get_tsf_low(sc, id);
212 tsfl0 = rtwn_get_tsf_low(sc, 0);
213 tsfl1 = rtwn_get_tsf_low(sc, 1);
226 tsft = rtwn_get_tsf_high(sc, id);
236 rtwn_rx_common(struct rtwn_softc *sc, struct mbuf *m, void *desc)
238 struct ieee80211com *ic = &sc->sc_ic;
273 physt = (un != NULL) ? &un->last_physt : &sc->last_physt;
276 rtwn_get_rx_stats(sc, &rxs, desc, physt);
279 memcpy(&sc->last_physt, physt, sizeof(sc->last_physt));
281 memcpy(&un->last_physt, physt, sizeof(sc->last_physt));
291 rxs.c_rx_tsf = rtwn_extend_rx_tsf(sc, stat);
295 rssi = rtwn_get_rssi(sc, physt, is_cck);
298 RTWN_DPRINTF(sc, RTWN_DEBUG_RSSI, "%s: rssi %d, rate %d\n",
302 rtwn_update_avgrssi(sc, un, rssi, is_cck);
311 struct rtwn_rx_radiotap_header *tap = &sc->sc_rxtap;
313 tap->wr_flags = rtwn_rx_radiotap_flags(sc, desc);
332 struct rtwn_softc *sc = vap->iv_ic->ic_softc;
342 RTWN_LOCK(sc);
343 rtwn_get_tsf(sc, &curr_tstamp, uvp->id);
344 RTWN_UNLOCK(sc);
381 rtwn_set_multi(struct rtwn_softc *sc)
383 struct ieee80211com *ic = &sc->sc_ic;
386 RTWN_ASSERT_LOCKED(sc);
401 rtwn_write_4(sc, R92C_MAR + 0, mfilt[0]);
402 rtwn_write_4(sc, R92C_MAR + 4, mfilt[1]);
404 RTWN_DPRINTF(sc, RTWN_DEBUG_STATE, "%s: MC filter %08x:%08x\n",
409 rtwn_rxfilter_update_mgt(struct rtwn_softc *sc)
414 if (sc->bcn_vaps == 0) { /* STA and/or MONITOR mode vaps */
420 if (sc->ap_vaps == sc->nvaps - sc->mon_vaps) { /* AP vaps only */
425 rtwn_write_2(sc, R92C_RXFLTMAP0, filter);
429 rtwn_rxfilter_update(struct rtwn_softc *sc)
432 RTWN_ASSERT_LOCKED(sc);
435 rtwn_rxfilter_update_mgt(sc);
438 rtwn_set_promisc(sc);
442 rtwn_rxfilter_init(struct rtwn_softc *sc)
445 RTWN_ASSERT_LOCKED(sc);
448 rtwn_set_multi(sc);
451 rtwn_write_2(sc, R92C_RXFLTMAP1, 0x0000);
454 rtwn_write_2(sc, R92C_RXFLTMAP2, 0x0000);
457 sc->rcr |= R92C_RCR_AM | R92C_RCR_AB | R92C_RCR_APM |
462 rtwn_rxfilter_update(sc);
466 rtwn_rxfilter_set(struct rtwn_softc *sc)
468 if (!(sc->sc_flags & RTWN_RCR_LOCKED))
469 rtwn_write_4(sc, R92C_RCR, sc->rcr);
473 rtwn_set_rx_bssid_all(struct rtwn_softc *sc, int enable)
477 sc->rcr &= ~R92C_RCR_CBSSID_BCN;
479 sc->rcr |= R92C_RCR_CBSSID_BCN;
480 rtwn_rxfilter_set(sc);
484 rtwn_set_promisc(struct rtwn_softc *sc)
486 struct ieee80211com *ic = &sc->sc_ic;
489 RTWN_ASSERT_LOCKED(sc);
494 if (sc->bcn_vaps == 0)
496 if (sc->ap_vaps == 0)
499 if (ic->ic_promisc == 0 && sc->mon_vaps == 0) {
500 if (sc->bcn_vaps != 0)
502 if (sc->ap_vaps != 0) /* for Null data frames */
505 sc->rcr &= ~mask_all;
506 sc->rcr |= mask_min;
508 sc->rcr &= ~mask_min;
509 sc->rcr |= mask_all;
511 rtwn_rxfilter_set(sc);