/linux-4.4.14/drivers/net/wireless/brcm80211/brcmsmac/ |
H A D | rate.h | 115 static inline bool rspec_active(u32 rspec) rspec_active() argument 117 return rspec & (RSPEC_RATE_MASK | RSPEC_MIMORATE); rspec_active() 120 static inline u8 rspec_phytxbyte2(u32 rspec) rspec_phytxbyte2() argument 122 return (rspec & 0xff00) >> 8; rspec_phytxbyte2() 125 static inline u32 rspec_get_bw(u32 rspec) rspec_get_bw() argument 127 return (rspec & RSPEC_BW_MASK) >> RSPEC_BW_SHIFT; rspec_get_bw() 130 static inline bool rspec_issgi(u32 rspec) rspec_issgi() argument 132 return (rspec & RSPEC_SHORT_GI) == RSPEC_SHORT_GI; rspec_issgi() 135 static inline bool rspec_is40mhz(u32 rspec) rspec_is40mhz() argument 137 u32 bw = rspec_get_bw(rspec); rspec_is40mhz() 142 static inline uint rspec2rate(u32 rspec) rspec2rate() argument 144 if (rspec & RSPEC_MIMORATE) rspec2rate() 145 return mcs_2_rate(rspec & RSPEC_RATE_MASK, rspec_is40mhz(rspec), rspec2rate() 146 rspec_issgi(rspec)); rspec2rate() 147 return rspec & RSPEC_RATE_MASK; rspec2rate() 150 static inline u8 rspec_mimoplcp3(u32 rspec) rspec_mimoplcp3() argument 152 return (rspec & 0xf00000) >> 16; rspec_mimoplcp3() 160 static inline uint rspec_stc(u32 rspec) rspec_stc() argument 162 return (rspec & RSPEC_STC_MASK) >> RSPEC_STC_SHIFT; rspec_stc() 165 static inline uint rspec_stf(u32 rspec) rspec_stf() argument 167 return (rspec & RSPEC_STF_MASK) >> RSPEC_STF_SHIFT; rspec_stf()
|
H A D | stf.h | 34 u16 brcms_c_stf_phytxchain_sel(struct brcms_c_info *wlc, u32 rspec); 35 u16 brcms_c_stf_d11hdrs_phyctl_txant(struct brcms_c_info *wlc, u32 rspec);
|
H A D | rate.c | 346 u32 rspec = PHY_TXC1_BW_20MHZ << RSPEC_BW_SHIFT; brcms_c_compute_rspec() local 355 rspec = brcms_c_compute_rspec() 360 rspec = brcms_c_compute_rspec() 365 rspec = (plcp[0] & MIMO_PLCP_MCS_MASK) | RSPEC_MIMORATE; brcms_c_compute_rspec() 367 /* indicate rspec is for 40 MHz mode */ brcms_c_compute_rspec() 368 rspec &= ~RSPEC_BW_MASK; brcms_c_compute_rspec() 369 rspec |= (PHY_TXC1_BW_40MHZ << RSPEC_BW_SHIFT); brcms_c_compute_rspec() 379 rspec |= RSPEC_SHORT_GI; brcms_c_compute_rspec() 382 rspec = ofdm_phy2mac_rate( brcms_c_compute_rspec() 385 rspec = cck_phy2mac_rate( brcms_c_compute_rspec() 388 return rspec; brcms_c_compute_rspec()
|
H A D | main.c | 358 static u8 brcms_basic_rate(struct brcms_c_info *wlc, u32 rspec) brcms_basic_rate() argument 360 if (is_mcs_rate(rspec)) brcms_basic_rate() 361 return wlc->band->basic_rate[mcs_table[rspec & RSPEC_RATE_MASK] brcms_basic_rate() 363 return wlc->band->basic_rate[rspec & RSPEC_RATE_MASK]; brcms_basic_rate() 366 static u16 frametype(u32 rspec, u8 mimoframe) frametype() argument 368 if (is_mcs_rate(rspec)) frametype() 370 return is_cck_rate(rspec) ? FT_CCK : FT_OFDM; frametype() 5733 brcms_c_calc_ack_time(struct brcms_c_info *wlc, u32 rspec, brcms_c_calc_ack_time() argument 5743 rspec = brcms_basic_rate(wlc, rspec); brcms_c_calc_ack_time() 5746 brcms_c_calc_frame_time(wlc, rspec, preamble_type, brcms_c_calc_ack_time() 5752 brcms_c_calc_cts_time(struct brcms_c_info *wlc, u32 rspec, brcms_c_calc_cts_time() argument 5755 return brcms_c_calc_ack_time(wlc, rspec, preamble_type); brcms_c_calc_cts_time() 5759 brcms_c_calc_ba_time(struct brcms_c_info *wlc, u32 rspec, brcms_c_calc_ba_time() argument 5767 rspec = brcms_basic_rate(wlc, rspec); brcms_c_calc_ba_time() 5769 return brcms_c_calc_frame_time(wlc, rspec, preamble_type, brcms_c_calc_ba_time() 5854 static bool brcms_c_valid_rate(struct brcms_c_info *wlc, u32 rspec, int band, brcms_c_valid_rate() argument 5869 if (is_mcs_rate(rspec)) { brcms_c_valid_rate() 5870 if ((rspec & RSPEC_RATE_MASK) >= MCS_TABLE_SIZE) brcms_c_valid_rate() 5873 return isset(hw_rateset->mcs, (rspec & RSPEC_RATE_MASK)); brcms_c_valid_rate() 5877 if (hw_rateset->rates[i] == rspec2rate(rspec)) brcms_c_valid_rate() 5882 "not in hw_rateset\n", wlc->pub->unit, rspec); brcms_c_valid_rate() 5894 u32 rspec; mac80211_wlc_set_nrate() local 5976 rspec = rate; mac80211_wlc_set_nrate() 5978 rspec |= RSPEC_MIMORATE; mac80211_wlc_set_nrate() 5983 rspec |= (stc << RSPEC_STC_SHIFT); mac80211_wlc_set_nrate() 5987 rspec |= (stf << RSPEC_STF_SHIFT); mac80211_wlc_set_nrate() 5990 rspec |= RSPEC_OVERRIDE_MCS_ONLY; mac80211_wlc_set_nrate() 5993 rspec |= RSPEC_SHORT_GI; mac80211_wlc_set_nrate() 5996 && !brcms_c_valid_rate(wlc, rspec, cur_band->bandtype, true)) mac80211_wlc_set_nrate() 5999 return rspec; mac80211_wlc_set_nrate() 6059 static void brcms_c_compute_mimo_plcp(u32 rspec, uint length, u8 *plcp) brcms_c_compute_mimo_plcp() argument 6061 u8 mcs = (u8) (rspec & RSPEC_RATE_MASK); brcms_c_compute_mimo_plcp() 6063 if (rspec_is40mhz(rspec) || (mcs == 32)) brcms_c_compute_mimo_plcp() 6066 plcp[3] = rspec_mimoplcp3(rspec); /* rspec already holds this byte */ brcms_c_compute_mimo_plcp() 6074 brcms_c_compute_ofdm_plcp(u32 rspec, u32 length, u8 *plcp) brcms_c_compute_ofdm_plcp() argument 6078 int rate = rspec2rate(rspec); brcms_c_compute_ofdm_plcp() 6095 static void brcms_c_compute_cck_plcp(struct brcms_c_info *wlc, u32 rspec, brcms_c_compute_cck_plcp() argument 6098 int rate = rspec2rate(rspec); brcms_c_compute_cck_plcp() 6104 brcms_c_compute_plcp(struct brcms_c_info *wlc, u32 rspec, brcms_c_compute_plcp() argument 6107 if (is_mcs_rate(rspec)) brcms_c_compute_plcp() 6108 brcms_c_compute_mimo_plcp(rspec, length, plcp); brcms_c_compute_plcp() 6109 else if (is_ofdm_rate(rspec)) brcms_c_compute_plcp() 6110 brcms_c_compute_ofdm_plcp(rspec, length, plcp); brcms_c_compute_plcp() 6112 brcms_c_compute_cck_plcp(wlc, rspec, length, plcp); brcms_c_compute_plcp() 6161 static u16 brcms_c_phytxctl1_calc(struct brcms_c_info *wlc, u32 rspec) brcms_c_phytxctl1_calc() argument 6169 bw = rspec_get_bw(rspec); brcms_c_phytxctl1_calc() 6178 if (is_mcs_rate(rspec)) { brcms_c_phytxctl1_calc() 6179 uint mcs = rspec & RSPEC_RATE_MASK; brcms_c_phytxctl1_calc() 6182 phyctl1 = rspec_phytxbyte2(rspec); brcms_c_phytxctl1_calc() 6185 } else if (is_cck_rate(rspec) && !BRCMS_ISLCNPHY(wlc->band) brcms_c_phytxctl1_calc() 6193 phyctl1 = (bw | (rspec_stf(rspec) << PHY_TXC1_MODE_SHIFT)); brcms_c_phytxctl1_calc() 6197 phycfg = brcms_c_rate_legacy_phyctl(rspec2rate(rspec)); brcms_c_phytxctl1_calc() 6206 (rspec_stf(rspec) << PHY_TXC1_MODE_SHIFT)); brcms_c_phytxctl1_calc() 6231 u32 rspec[2] = { BRCM_RATE_1M, BRCM_RATE_1M }; brcms_c_d11hdrs_mac80211() local 6319 rspec[k] = brcms_c_d11hdrs_mac80211() 6327 rspec[k] = BRCM_RATE_1M; brcms_c_d11hdrs_mac80211() 6330 rspec[k] = mac80211_wlc_set_nrate(wlc, wlc->band, brcms_c_d11hdrs_mac80211() 6352 if (!rspec_active(rspec[k])) { brcms_c_d11hdrs_mac80211() 6353 rspec[k] = BRCM_RATE_1M; brcms_c_d11hdrs_mac80211() 6369 * if rspec is auto selected brcms_c_d11hdrs_mac80211() 6371 if (((is_mcs_rate(rspec[k]) && brcms_c_d11hdrs_mac80211() 6372 is_single_stream(rspec[k] & RSPEC_RATE_MASK)) || brcms_c_d11hdrs_mac80211() 6373 is_ofdm_rate(rspec[k])) brcms_c_d11hdrs_mac80211() 6374 && ((rspec[k] & RSPEC_OVERRIDE_MCS_ONLY) brcms_c_d11hdrs_mac80211() 6375 || !(rspec[k] & RSPEC_OVERRIDE))) { brcms_c_d11hdrs_mac80211() 6376 rspec[k] &= ~(RSPEC_STF_MASK | RSPEC_STC_MASK); brcms_c_d11hdrs_mac80211() 6379 if (is_mcs_rate(rspec[k]) brcms_c_d11hdrs_mac80211() 6385 rspec[k] |= (PHY_TXC1_MODE_STBC << brcms_c_d11hdrs_mac80211() 6389 rspec[k] |= brcms_c_d11hdrs_mac80211() 6404 if (is_mcs_rate(rspec[k])) { brcms_c_d11hdrs_mac80211() 6406 if ((rspec[k] & RSPEC_RATE_MASK) brcms_c_d11hdrs_mac80211() 6416 } else if (is_ofdm_rate(rspec[k])) { brcms_c_d11hdrs_mac80211() 6428 if ((rspec[k] & RSPEC_RATE_MASK) == 32) brcms_c_d11hdrs_mac80211() 6430 rspec[k] = RSPEC_MIMORATE; brcms_c_d11hdrs_mac80211() 6436 rspec[k] &= ~RSPEC_BW_MASK; brcms_c_d11hdrs_mac80211() 6437 if ((k == 0) || ((k > 0) && is_mcs_rate(rspec[k]))) brcms_c_d11hdrs_mac80211() 6438 rspec[k] |= (mimo_txbw << RSPEC_BW_SHIFT); brcms_c_d11hdrs_mac80211() 6440 rspec[k] |= (mimo_ctlchbw << RSPEC_BW_SHIFT); brcms_c_d11hdrs_mac80211() 6443 rspec[k] &= ~RSPEC_SHORT_GI; brcms_c_d11hdrs_mac80211() 6450 && (!is_mcs_rate(rspec[k]))) { brcms_c_d11hdrs_mac80211() 6452 "wl%d: %s: IEEE80211_TX_RC_MCS != is_mcs_rate(rspec)\n", brcms_c_d11hdrs_mac80211() 6456 if (is_mcs_rate(rspec[k])) { brcms_c_d11hdrs_mac80211() 6463 if ((rspec[k] & RSPEC_SHORT_GI) brcms_c_d11hdrs_mac80211() 6464 && is_single_stream(rspec[k] & brcms_c_d11hdrs_mac80211() 6470 if (!is_mcs_rate(rspec[0]) brcms_c_d11hdrs_mac80211() 6478 rspec[k] &= ~RSPEC_BW_MASK; brcms_c_d11hdrs_mac80211() 6479 rspec[k] |= (PHY_TXC1_BW_20MHZ << RSPEC_BW_SHIFT); brcms_c_d11hdrs_mac80211() 6482 if (BRCMS_ISNPHY(wlc->band) && is_ofdm_rate(rspec[k])) { brcms_c_d11hdrs_mac80211() 6483 rspec[k] &= ~RSPEC_STF_MASK; brcms_c_d11hdrs_mac80211() 6484 rspec[k] |= phyctl1_stf << RSPEC_STF_SHIFT; brcms_c_d11hdrs_mac80211() 6493 /* (2) PROTECTION, may change rspec */ brcms_c_d11hdrs_mac80211() 6501 brcms_c_compute_plcp(wlc, rspec[0], phylen, plcp); brcms_c_d11hdrs_mac80211() 6502 brcms_c_compute_plcp(wlc, rspec[1], phylen, plcp_fallback); brcms_c_d11hdrs_mac80211() 6507 if (is_cck_rate(rspec[1])) { brcms_c_d11hdrs_mac80211() 6513 mainrates = is_ofdm_rate(rspec[0]) ? brcms_c_d11hdrs_mac80211() 6521 brcms_c_compute_frame_dur(wlc, rspec[0], preamble_type[0], brcms_c_d11hdrs_mac80211() 6527 (u16) brcms_c_calc_frame_time(wlc, rspec[0], brcms_c_d11hdrs_mac80211() 6540 durid = brcms_c_compute_frame_dur(wlc, rspec[1], brcms_c_d11hdrs_mac80211() 6570 if (rspec2rate(rspec[1]) != BRCM_RATE_1M) brcms_c_d11hdrs_mac80211() 6609 rts_rspec[k] = brcms_c_rspec_to_rts_rspec(wlc, rspec[k], brcms_c_d11hdrs_mac80211() 6655 rspec[0], rts_preamble_type[0], brcms_c_d11hdrs_mac80211() 6660 rts_rspec[1], rspec[1], brcms_c_d11hdrs_mac80211() 6694 if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && is_mcs_rate(rspec)) brcms_c_d11hdrs_mac80211() 6696 brcm_c_ampdu_null_delim_cnt(wlc->ampdu, scb, rspec, phylen); brcms_c_d11hdrs_mac80211() 6713 xfts = frametype(rspec[1], wlc->mimoft); brcms_c_d11hdrs_mac80211() 6721 phyctl = frametype(rspec[0], wlc->mimoft); brcms_c_d11hdrs_mac80211() 6724 if (rspec2rate(rspec[0]) != BRCM_RATE_1M) brcms_c_d11hdrs_mac80211() 6729 phyctl |= brcms_c_stf_d11hdrs_phyctl_txant(wlc, rspec[0]); brcms_c_d11hdrs_mac80211() 6736 phyctl1 = brcms_c_phytxctl1_calc(wlc, rspec[0]); brcms_c_d11hdrs_mac80211() 6738 phyctl1 = brcms_c_phytxctl1_calc(wlc, rspec[1]); brcms_c_d11hdrs_mac80211() 6753 if (is_mcs_rate(rspec[0]) && brcms_c_d11hdrs_mac80211() 6756 brcms_c_calc_lsig_len(wlc, rspec[0], phylen); brcms_c_d11hdrs_mac80211() 6760 if (is_mcs_rate(rspec[1]) && brcms_c_d11hdrs_mac80211() 6763 brcms_c_calc_lsig_len(wlc, rspec[1], phylen); brcms_c_d11hdrs_mac80211() 6775 brcms_c_calc_frame_time(wlc, rspec[0], brcms_c_d11hdrs_mac80211() 6797 brcms_c_compute_frame_dur(wlc, rspec[0], brcms_c_d11hdrs_mac80211() 6801 brcms_c_calc_frame_time(wlc, rspec[1], brcms_c_d11hdrs_mac80211() 6805 brcms_c_compute_frame_dur(wlc, rspec[1], brcms_c_d11hdrs_mac80211() 6826 rspec[0], preamble_type[0], brcms_c_d11hdrs_mac80211() 6846 rspec2rate(rspec[0])); brcms_c_d11hdrs_mac80211() 6957 brcms_c_rspec_to_rts_rspec(struct brcms_c_info *wlc, u32 rspec, brcms_c_rspec_to_rts_rspec() argument 6964 rts_rspec = rspec; brcms_c_rspec_to_rts_rspec() 6965 else if (wlc->band->gmode && wlc->protection->_g && !is_cck_rate(rspec)) brcms_c_rspec_to_rts_rspec() 6979 rts_rspec = brcms_basic_rate(wlc, rspec); brcms_c_rspec_to_rts_rspec() 6986 * if rspec/rspec_fallback is 40MHz, then send RTS on both brcms_c_rspec_to_rts_rspec() 6989 if (rspec_is40mhz(rspec) && !is_cck_rate(rts_rspec)) brcms_c_rspec_to_rts_rspec() 7069 u32 rspec; prep_mac80211_status() local 7092 rspec = brcms_c_compute_rspec(rxh, plcp); prep_mac80211_status() 7093 if (is_mcs_rate(rspec)) { prep_mac80211_status() 7094 rx_status->rate_idx = rspec & RSPEC_RATE_MASK; prep_mac80211_status() 7096 if (rspec_is40mhz(rspec)) prep_mac80211_status() 7099 switch (rspec2rate(rspec)) { prep_mac80211_status() 7150 if (is_cck_rate(rspec)) { prep_mac80211_status() 7153 } else if (is_ofdm_rate(rspec)) { prep_mac80211_status() 7322 /* Update the phytxctl for the beacon based on the rspec */ brcms_c_beacon_write()
|
H A D | stf.c | 411 u32 rspec) _brcms_c_stf_phytxchain_sel() 415 if (rspec_stf(rspec) != PHY_TXC1_MODE_SISO) _brcms_c_stf_phytxchain_sel() 423 u16 brcms_c_stf_phytxchain_sel(struct brcms_c_info *wlc, u32 rspec) brcms_c_stf_phytxchain_sel() argument 425 return _brcms_c_stf_phytxchain_sel(wlc, rspec); brcms_c_stf_phytxchain_sel() 428 u16 brcms_c_stf_d11hdrs_phyctl_txant(struct brcms_c_info *wlc, u32 rspec) brcms_c_stf_d11hdrs_phyctl_txant() argument 435 phytxant = _brcms_c_stf_phytxchain_sel(wlc, rspec); brcms_c_stf_d11hdrs_phyctl_txant() 410 _brcms_c_stf_phytxchain_sel(struct brcms_c_info *wlc, u32 rspec) _brcms_c_stf_phytxchain_sel() argument
|
H A D | ampdu.c | 646 u32 rspec = 0, rspec_fallback = 0; brcms_c_ampdu_finalize() local 725 /* rebuild the rspec and rspec_fallback */ brcms_c_ampdu_finalize() 726 rspec = RSPEC_MIMORATE; brcms_c_ampdu_finalize() 727 rspec |= plcp[0] & ~MIMO_PLCP_40MHZ; brcms_c_ampdu_finalize() 729 rspec |= (PHY_TXC1_BW_40MHZ << RSPEC_BW_SHIFT); brcms_c_ampdu_finalize() 744 brcms_c_rspec_to_rts_rspec(wlc, rspec, brcms_c_ampdu_finalize() 757 u16 mmodelen = brcms_c_calc_lsig_len(wlc, rspec, brcms_c_ampdu_finalize() 791 rspec, rts_preamble_type, brcms_c_ampdu_finalize()
|
H A D | main.h | 626 u32 brcms_c_rspec_to_rts_rspec(struct brcms_c_info *wlc, u32 rspec,
|
/linux-4.4.14/drivers/crypto/caam/ |
H A D | ctrl.c | 412 int ret, ring, rspec, gen_sk, ent_delay = RTSDCTL_ENT_DLY_MIN; caam_probe() local 579 rspec = 0; caam_probe() 583 rspec++; caam_probe() 585 ctrlpriv->jrpdev = devm_kcalloc(&pdev->dev, rspec, caam_probe()
|
/linux-4.4.14/drivers/scsi/aic94xx/ |
H A D | aic94xx_reg_def.h | 461 #define MnDDMACTL 0x5c /* RAZOR.rspec.fm rev 1.5 is wrong */ 463 #define MnDDMASTAT 0x5d /* RAZOR.rspec.fm rev 1.5 is wrong */ 465 #define MnDDMAMODE 0x5e /* RAZOR.rspec.fm rev 1.5 is wrong */
|