| /linux/drivers/net/ethernet/marvell/octeontx2/af/ |
| H A D | mcs.h | 134 struct mcs { struct 156 void (*mcs_set_hw_capabilities)(struct mcs *mcs); argument 157 void (*mcs_parser_cfg)(struct mcs *mcs); 158 void (*mcs_tx_sa_mem_map_write)(struct mcs *mcs, struct mcs_tx_sc_sa_map *map); 159 void (*mcs_rx_sa_mem_map_write)(struct mcs *mcs, struct mcs_rx_sc_sa_map *map); 160 void (*mcs_flowid_secy_map)(struct mcs *mcs, struct secy_mem_map *map, int dir); 161 void (*mcs_bbe_intr_handler)(struct mcs *mcs, u64 intr, enum mcs_direction dir); 162 void (*mcs_pab_intr_handler)(struct mcs *mcs, u64 intr, enum mcs_direction dir); 167 static inline void mcs_reg_write(struct mcs *mcs, u64 offset, u64 val) in mcs_reg_write() argument 169 writeq(val, mcs->reg_base + offset); in mcs_reg_write() [all …]
|
| H A D | mcs.c | 27 void mcs_get_tx_secy_stats(struct mcs *mcs, struct mcs_secy_stats *stats, int id) in mcs_get_tx_secy_stats() argument 32 stats->ctl_pkt_bcast_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() 35 stats->ctl_pkt_mcast_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() 38 stats->ctl_octet_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() 41 stats->ctl_pkt_ucast_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() 44 stats->unctl_pkt_bcast_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() 47 stats->unctl_pkt_mcast_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() 50 stats->unctl_octet_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() 53 stats->unctl_pkt_ucast_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() 56 stats->octet_encrypted_cnt = mcs_reg_read(mcs, reg); in mcs_get_tx_secy_stats() [all …]
|
| H A D | mcs_rvu_if.c | 38 struct mcs *mcs; in rvu_mcs_ptp_cfg() local 52 mcs = mcs_get_pdata(rpm_id); in rvu_mcs_ptp_cfg() 53 cfg = mcs_reg_read(mcs, MCSX_PEX_RX_SLAVE_PEX_CONFIGURATION); in rvu_mcs_ptp_cfg() 58 mcs_reg_write(mcs, MCSX_PEX_RX_SLAVE_PEX_CONFIGURATION, cfg); in rvu_mcs_ptp_cfg() 62 mcs = mcs_get_pdata(0); in rvu_mcs_ptp_cfg() 64 cfg = mcs_reg_read(mcs, MCSX_PEX_RX_SLAVE_PORT_CFGX(port)); in rvu_mcs_ptp_cfg() 69 mcs_reg_write(mcs, MCSX_PEX_RX_SLAVE_PORT_CFGX(port), cfg); in rvu_mcs_ptp_cfg() 76 struct mcs *mcs; in rvu_mbox_handler_mcs_set_lmac_mode() local 81 mcs = mcs_get_pdata(req->mcs_id); in rvu_mbox_handler_mcs_set_lmac_mode() 83 if (BIT_ULL(req->lmac_id) & mcs->hw->lmac_bmap) in rvu_mbox_handler_mcs_set_lmac_mode() [all …]
|
| H A D | mcs_cnf10kb.c | 25 void cnf10kb_mcs_set_hw_capabilities(struct mcs *mcs) in cnf10kb_mcs_set_hw_capabilities() argument 27 struct hwinfo *hw = mcs->hw; in cnf10kb_mcs_set_hw_capabilities() 39 void cnf10kb_mcs_parser_cfg(struct mcs *mcs) in cnf10kb_mcs_parser_cfg() argument 47 mcs_reg_write(mcs, reg, val); in cnf10kb_mcs_parser_cfg() 50 mcs_reg_write(mcs, reg, val); in cnf10kb_mcs_parser_cfg() 57 mcs_reg_write(mcs, reg, val); in cnf10kb_mcs_parser_cfg() 61 mcs_reg_write(mcs, reg, val); in cnf10kb_mcs_parser_cfg() 67 mcs_reg_write(mcs, reg, val); in cnf10kb_mcs_parser_cfg() 70 mcs_reg_write(mcs, reg, val); in cnf10kb_mcs_parser_cfg() 73 void cnf10kb_mcs_flowid_secy_map(struct mcs *mcs, struct secy_mem_map *map, int dir) in cnf10kb_mcs_flowid_secy_map() argument [all …]
|
| H A D | mcs_reg.h | 18 if (mcs->hw->mcs_blks > 1) \ 28 if (mcs->hw->mcs_blks > 1) \ 37 if (mcs->hw->mcs_blks > 1) \ 45 if (mcs->hw->mcs_blks > 1) \ 54 if (mcs->hw->mcs_blks > 1) \ 62 if (mcs->hw->mcs_blks > 1) \ 71 if (mcs->hw->mcs_blks > 1) \ 79 if (mcs->hw->mcs_blks > 1) \ 88 if (mcs->hw->mcs_blks > 1) \ 105 if (mcs->hw->mcs_blks > 1) \ [all …]
|
| /linux/drivers/net/wireless/broadcom/brcm80211/brcmsmac/ |
| H A D | rate.h | 56 static inline u8 mcs_2_txstreams(u8 mcs) in mcs_2_txstreams() argument 58 return (mcs_table[mcs].tx_phy_ctl3 & MCS_TXS_MASK) >> MCS_TXS_SHIFT; in mcs_2_txstreams() 61 static inline uint mcs_2_rate(u8 mcs, bool is40, bool sgi) in mcs_2_rate() argument 65 return mcs_table[mcs].phy_rate_40_sgi; in mcs_2_rate() 66 return mcs_table[mcs].phy_rate_20_sgi; in mcs_2_rate() 69 return mcs_table[mcs].phy_rate_40; in mcs_2_rate() 71 return mcs_table[mcs].phy_rate_20; in mcs_2_rate() 190 static inline bool is_single_stream(u8 mcs) in is_single_stream() argument 192 return mcs <= HIGHEST_SINGLE_STREAM_MCS || mcs == 32; in is_single_stream()
|
| H A D | rate.c | 294 rs->mcs[i] = 0; in brcms_c_rateset_mcs_upd() 334 rs->mcs[i] = (rs->mcs[i] & hw_rs->mcs[i]); in brcms_c_rate_hwrs_filter_sort_validate() 432 memcpy(&dst->mcs[0], &src->mcs[0], MCSSET_LEN); in brcms_c_rateset_filter() 498 rateset->mcs[i] = 0; in brcms_c_rateset_mcs_clear() 503 memcpy(&rateset->mcs[0], &cck_ofdm_mimo_rates.mcs[0], MCSSET_LEN); in brcms_c_rateset_mcs_build() 511 setbit(rateset->mcs, 32); in brcms_c_rateset_bw_mcs_filter() 513 clrbit(rateset->mcs, 32); in brcms_c_rateset_bw_mcs_filter()
|
| H A D | ampdu.c | 148 u32 rate, mcs; in brcms_c_scb_ampdu_update_max_txlen() local 150 for (mcs = 0; mcs < MCS_TABLE_SIZE; mcs++) { in brcms_c_scb_ampdu_update_max_txlen() 153 rate = mcs_2_rate(mcs, false, false); in brcms_c_scb_ampdu_update_max_txlen() 154 ampdu->max_txlen[mcs][0][0] = (rate * dur) >> 3; in brcms_c_scb_ampdu_update_max_txlen() 156 rate = mcs_2_rate(mcs, true, false); in brcms_c_scb_ampdu_update_max_txlen() 157 ampdu->max_txlen[mcs][1][0] = (rate * dur) >> 3; in brcms_c_scb_ampdu_update_max_txlen() 159 rate = mcs_2_rate(mcs, false, true); in brcms_c_scb_ampdu_update_max_txlen() 160 ampdu->max_txlen[mcs][0][1] = (rate * dur) >> 3; in brcms_c_scb_ampdu_update_max_txlen() 162 rate = mcs_2_rate(mcs, true, true); in brcms_c_scb_ampdu_update_max_txlen() 163 ampdu->max_txlen[mcs][1][1] = (rate * dur) >> 3; in brcms_c_scb_ampdu_update_max_txlen() [all …]
|
| /linux/arch/x86/xen/ |
| H A D | mmu_pv.c | 235 struct multicall_space mcs; in xen_extend_mmu_update() local 238 mcs = xen_mc_extend_args(__HYPERVISOR_mmu_update, sizeof(*u)); in xen_extend_mmu_update() 240 if (mcs.mc != NULL) { in xen_extend_mmu_update() 241 mcs.mc->args[1]++; in xen_extend_mmu_update() 243 mcs = __xen_mc_entry(sizeof(*u)); in xen_extend_mmu_update() 244 MULTI_mmu_update(mcs.mc, mcs.args, 1, NULL, DOMID_SELF); in xen_extend_mmu_update() 247 u = mcs.args; in xen_extend_mmu_update() 253 struct multicall_space mcs; in xen_extend_mmuext_op() local 256 mcs = xen_mc_extend_args(__HYPERVISOR_mmuext_op, sizeof(*u)); in xen_extend_mmuext_op() 258 if (mcs.mc != NULL) { in xen_extend_mmuext_op() [all …]
|
| H A D | enlighten_pv.c | 536 struct multicall_space mcs = xen_mc_entry(sizeof(*op)); in xen_set_ldt() local 540 op = mcs.args; in xen_set_ldt() 545 MULTI_mmuext_op(mcs.mc, op, 1, NULL, DOMID_SELF); in xen_set_ldt() 1010 struct multicall_space mcs; in xen_load_sp0() local 1012 mcs = xen_mc_entry(0); in xen_load_sp0() 1013 MULTI_stack_switch(mcs.mc, __KERNEL_DS, sp0); in xen_load_sp0() 1068 struct multicall_space mcs; in xen_write_cr0() local 1074 mcs = xen_mc_entry(0); in xen_write_cr0() 1076 MULTI_fpu_taskswitch(mcs.mc, (cr0 & X86_CR0_TS) != 0); in xen_write_cr0()
|
| /linux/net/mac80211/ |
| H A D | ht.c | 69 scaps = (u8 *)(&ht_capa->mcs.rx_mask); in ieee80211_apply_htcap_overrides() 70 smask = (u8 *)(&ht_capa_mask->mcs.rx_mask); in ieee80211_apply_htcap_overrides() 81 ht_cap->mcs.rx_mask[i] &= ~m; /* turn off all masked bits */ in ieee80211_apply_htcap_overrides() 83 ht_cap->mcs.rx_mask[i] |= (m & scaps[i]); in ieee80211_apply_htcap_overrides() 201 tx_mcs_set_cap = own_cap.mcs.tx_params; in ieee80211_ht_cap_ie_to_sta_ht_cap() 204 ht_cap.mcs.tx_params = ht_cap_ie->mcs.tx_params; in ieee80211_ht_cap_ie_to_sta_ht_cap() 226 ht_cap.mcs.rx_mask[i] = in ieee80211_ht_cap_ie_to_sta_ht_cap() 227 own_cap.mcs.rx_mask[i] & ht_cap_ie->mcs.rx_mask[i]; in ieee80211_ht_cap_ie_to_sta_ht_cap() 232 ht_cap.mcs.rx_mask[i] = in ieee80211_ht_cap_ie_to_sta_ht_cap() 233 own_cap.mcs.rx_mask[i] & in ieee80211_ht_cap_ie_to_sta_ht_cap() [all …]
|
| /linux/drivers/net/wireless/marvell/mwifiex/ |
| H A D | 11ac.c | 46 u8 i, nss, mcs; in mwifiex_convert_mcsmap_to_maxrate() local 59 mcs = GET_VHTNSSMCS(mcs_map, i); in mwifiex_convert_mcsmap_to_maxrate() 60 if (mcs < IEEE80211_VHT_MCS_NOT_SUPPORTED) in mwifiex_convert_mcsmap_to_maxrate() 63 mcs = GET_VHTNSSMCS(mcs_map, nss); in mwifiex_convert_mcsmap_to_maxrate() 66 if (mcs == IEEE80211_VHT_MCS_NOT_SUPPORTED) in mwifiex_convert_mcsmap_to_maxrate() 67 mcs = IEEE80211_VHT_MCS_SUPPORT_0_9; in mwifiex_convert_mcsmap_to_maxrate() 71 max_rate = max_rate_lgi_160MHZ[nss - 1][mcs]; in mwifiex_convert_mcsmap_to_maxrate() 74 max_rate = max_rate_lgi_160MHZ[nss - 1][mcs - 1]; in mwifiex_convert_mcsmap_to_maxrate() 76 max_rate = max_rate_lgi_80MHZ[nss - 1][mcs]; in mwifiex_convert_mcsmap_to_maxrate() 79 max_rate = max_rate_lgi_80MHZ[nss - 1][mcs - 1]; in mwifiex_convert_mcsmap_to_maxrate()
|
| /linux/drivers/net/wireless/ath/wil6210/ |
| H A D | trace.h | 158 __field(u8, mcs) 169 __entry->mcs = wil_rxdesc_mcs(d); 173 __entry->mid, __entry->cid, __entry->tid, __entry->mcs, 190 __field(u8, mcs) 202 __entry->mcs = wil_rx_status_get_mcs(msg); 207 __entry->mid, __entry->cid, __entry->tid, __entry->mcs, 259 __field(u8, mcs) 267 __entry->mcs = wil_tx_status_get_mcs(msg); 272 __entry->num_descs, __entry->status, __entry->mcs)
|
| /linux/drivers/net/wireless/realtek/rtw88/ |
| H A D | util.c | 82 void rtw_desc_to_mcsrate(u16 rate, u8 *mcs, u8 *nss) in rtw_desc_to_mcsrate() argument 90 *mcs = rate - DESC_RATEVHT1SS_MCS0; in rtw_desc_to_mcsrate() 94 *mcs = rate - DESC_RATEVHT2SS_MCS0; in rtw_desc_to_mcsrate() 98 *mcs = rate - DESC_RATEVHT3SS_MCS0; in rtw_desc_to_mcsrate() 102 *mcs = rate - DESC_RATEVHT4SS_MCS0; in rtw_desc_to_mcsrate() 106 *mcs = rate - DESC_RATEMCS0; in rtw_desc_to_mcsrate()
|
| /linux/drivers/net/wireless/ath/ath9k/ |
| H A D | common-init.c | 211 memset(&ht_info->mcs, 0, sizeof(ht_info->mcs)); in ath9k_cmn_setup_ht_cap() 219 ht_info->mcs.tx_params |= IEEE80211_HT_MCS_TX_RX_DIFF; in ath9k_cmn_setup_ht_cap() 220 ht_info->mcs.tx_params |= ((tx_streams - 1) << in ath9k_cmn_setup_ht_cap() 225 ht_info->mcs.rx_mask[i] = 0xff; in ath9k_cmn_setup_ht_cap() 227 ht_info->mcs.tx_params |= IEEE80211_HT_MCS_TX_DEFINED; in ath9k_cmn_setup_ht_cap()
|
| /linux/net/wireless/ |
| H A D | util.c | 211 WARN_ON((sband->ht_cap.mcs.rx_mask[0] & 0x1e) != 0x1e); in set_mandatory_flags_band() 1271 if (WARN_ON_ONCE(rate->mcs >= 32)) in cfg80211_calculate_bitrate_ht() 1274 modulation = rate->mcs & 7; in cfg80211_calculate_bitrate_ht() 1275 streams = (rate->mcs >> 3) + 1; in cfg80211_calculate_bitrate_ht() 1336 if (WARN_ON_ONCE(rate->mcs >= ARRAY_SIZE(__mcs2bitrate))) in cfg80211_calculate_bitrate_dmg() 1339 return __mcs2bitrate[rate->mcs]; in cfg80211_calculate_bitrate_dmg() 1355 if (WARN_ON_ONCE(rate->mcs < 6 || rate->mcs > 12)) in cfg80211_calculate_bitrate_extended_sc_dmg() 1358 return __mcs2bitrate[rate->mcs - 6]; in cfg80211_calculate_bitrate_extended_sc_dmg() 1389 if (WARN_ON_ONCE(rate->mcs >= ARRAY_SIZE(__mcs2bitrate))) in cfg80211_calculate_bitrate_edmg() 1392 return __mcs2bitrate[rate->mcs] * rate->n_bonded_ch; in cfg80211_calculate_bitrate_edmg() [all …]
|
| /linux/kernel/locking/ |
| H A D | qspinlock.c | 215 node = this_cpu_ptr(&qnodes[0].mcs); 379 __this_cpu_dec(qnodes[0].mcs.count); in queued_spin_lock_slowpath() 83 struct mcs_spinlock mcs; global() member
|
| /linux/net/mac80211/tests/ |
| H A D | util.c | 285 memset(&sband->ht_cap.mcs, 0, sizeof(sband->ht_cap.mcs)); in t_sdata_init() 286 sband->ht_cap.mcs.rx_mask[0] = 0xff; in t_sdata_init() 287 sband->ht_cap.mcs.rx_mask[1] = 0xff; in t_sdata_init() 288 sband->ht_cap.mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED; in t_sdata_init()
|
| /linux/drivers/net/wireless/ath/ath12k/ |
| H A D | dp_htt.c | 197 u8 flags, mcs, nss, bw, sgi, dcm, ppdu_type, rate_idx = 0; in ath12k_update_per_peer_tx_stats() local 235 mcs = HTT_USR_RATE_MCS(user_rate->rate_flags); in ath12k_update_per_peer_tx_stats() 248 if (flags == WMI_RATE_PREAMBLE_HE && mcs > ATH12K_HE_MCS_MAX) { in ath12k_update_per_peer_tx_stats() 249 ath12k_warn(ab, "Invalid HE mcs %d peer stats", mcs); in ath12k_update_per_peer_tx_stats() 253 if (flags == WMI_RATE_PREAMBLE_VHT && mcs > ATH12K_VHT_MCS_MAX) { in ath12k_update_per_peer_tx_stats() 254 ath12k_warn(ab, "Invalid VHT mcs %d peer stats", mcs); in ath12k_update_per_peer_tx_stats() 258 if (flags == WMI_RATE_PREAMBLE_HT && (mcs > ATH12K_HT_MCS_MAX || nss < 1)) { in ath12k_update_per_peer_tx_stats() 260 mcs, nss); in ath12k_update_per_peer_tx_stats() 265 ret = ath12k_mac_hw_ratecode_to_legacy_rate(mcs, in ath12k_update_per_peer_tx_stats() 295 peer->txrate.mcs = mcs + 8 * (nss - 1); in ath12k_update_per_peer_tx_stats() [all …]
|
| /linux/drivers/net/wireless/ath/ath11k/ |
| H A D | dp_tx.c | 464 u8 mcs, rate_idx = 0, ofdma; in ath11k_dp_tx_update_txcompl() local 481 mcs = FIELD_GET(HAL_TX_RATE_STATS_INFO0_MCS, in ath11k_dp_tx_update_txcompl() 499 ret = ath11k_mac_hw_ratecode_to_legacy_rate(mcs, in ath11k_dp_tx_update_txcompl() 507 if (mcs > 7) { in ath11k_dp_tx_update_txcompl() 508 ath11k_warn(ab, "Invalid HT mcs index %d\n", mcs); in ath11k_dp_tx_update_txcompl() 513 arsta->txrate.mcs = mcs + 8 * (arsta->txrate.nss - 1); in ath11k_dp_tx_update_txcompl() 518 if (mcs > 9) { in ath11k_dp_tx_update_txcompl() 519 ath11k_warn(ab, "Invalid VHT mcs index %d\n", mcs); in ath11k_dp_tx_update_txcompl() 523 arsta->txrate.mcs = mcs; in ath11k_dp_tx_update_txcompl() 528 if (mcs > 11) { in ath11k_dp_tx_update_txcompl() [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | bpf_arena_spin_lock.h | 69 struct arena_mcs_spinlock mcs; member 127 return &qnodes[cpu][idx].mcs; in decode_tail() 133 return &((struct arena_qnode __arena *)base + idx)->mcs; in grab_mcs_node() 320 node0 = &(qnodes[bpf_get_smp_processor_id()])[0].mcs; in arena_spin_lock_slowpath()
|
| /linux/drivers/net/wireless/ralink/rt2x00/ |
| H A D | rt2x00dev.c | 718 (rate->mcs == signal))) { in rt2x00lib_rxdone_read_signal() 885 .mcs = RATE_MCS(RATE_MODE_CCK, 0), 892 .mcs = RATE_MCS(RATE_MODE_CCK, 1), 899 .mcs = RATE_MCS(RATE_MODE_CCK, 2), 906 .mcs = RATE_MCS(RATE_MODE_CCK, 3), 913 .mcs = RATE_MCS(RATE_MODE_OFDM, 0), 920 .mcs = RATE_MCS(RATE_MODE_OFDM, 1), 927 .mcs = RATE_MCS(RATE_MODE_OFDM, 2), 934 .mcs = RATE_MCS(RATE_MODE_OFDM, 3), 941 .mcs = RATE_MCS(RATE_MODE_OFDM, 4), [all …]
|
| /linux/drivers/net/wireless/ath/ath10k/ |
| H A D | htt_rx.c | 988 u8 cck, rate, bw, sgi, mcs, nss; in ath10k_htt_rx_h_rates() local 1027 mcs = info2 & 0x1F; in ath10k_htt_rx_h_rates() 1028 nss = mcs >> 3; in ath10k_htt_rx_h_rates() 1032 status->rate_idx = mcs; in ath10k_htt_rx_h_rates() 1050 mcs = (info3 >> 4) & 0x0F; in ath10k_htt_rx_h_rates() 1067 mcs = 0; in ath10k_htt_rx_h_rates() 1071 if (mcs > 0x09) { in ath10k_htt_rx_h_rates() 1072 ath10k_warn(ar, "invalid MCS received %u\n", mcs); in ath10k_htt_rx_h_rates() 1094 status->rate_idx = mcs; in ath10k_htt_rx_h_rates() 3671 int idx, ht_idx, gi, mcs, bw, nss; in ath10k_accumulate_per_peer_tx_stats() local [all …]
|
| /linux/drivers/net/wireless/realtek/rtl8xxxu/ |
| H A D | 8192e.c | 515 u32 val32, ofdm, mcs; in rtl8192e_set_tx_power() local 546 mcs = mcsbase | mcsbase << 8 | mcsbase << 16 | mcsbase << 24; in rtl8192e_set_tx_power() 548 rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS03_MCS00, mcs); in rtl8192e_set_tx_power() 549 rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS07_MCS04, mcs); in rtl8192e_set_tx_power() 550 rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS11_MCS08, mcs); in rtl8192e_set_tx_power() 551 rtl8xxxu_write32(priv, REG_TX_AGC_A_MCS15_MCS12, mcs); in rtl8192e_set_tx_power() 579 mcs = mcsbase | mcsbase << 8 | mcsbase << 16 | mcsbase << 24; in rtl8192e_set_tx_power() 581 rtl8xxxu_write32(priv, REG_TX_AGC_B_MCS03_MCS00, mcs); in rtl8192e_set_tx_power() 582 rtl8xxxu_write32(priv, REG_TX_AGC_B_MCS07_MCS04, mcs); in rtl8192e_set_tx_power() 583 rtl8xxxu_write32(priv, REG_TX_AGC_B_MCS11_MCS08, mcs); in rtl8192e_set_tx_power() [all …]
|
| /linux/sound/soc/codecs/ |
| H A D | ssm2518.c | 341 int mcs; in ssm2518_hw_params() local 344 mcs = ssm2518_lookup_mcs(ssm2518, rate); in ssm2518_hw_params() 345 if (mcs < 0) in ssm2518_hw_params() 346 return mcs; in ssm2518_hw_params() 387 SSM2518_POWER1_MCS_MASK, mcs << 1); in ssm2518_hw_params()
|