Lines Matching refs:ucode_rate
776 u32 ucode_rate = 0;
779 ucode_rate |= ((rate->ant << RATE_MCS_ANT_POS) &
783 ucode_rate |= iwl_rates[index].plcp;
785 ucode_rate |= RATE_MCS_CCK_MSK_V1;
786 return ucode_rate;
793 ucode_rate |= RATE_MCS_RTS_REQUIRED_MSK;
800 ucode_rate |= RATE_MCS_HT_MSK_V1;
803 ucode_rate |= iwl_rates[index].plcp_ht_siso;
805 ucode_rate |= iwl_rates[index].plcp_ht_mimo2;
813 ucode_rate |= RATE_MCS_VHT_MSK_V1;
815 ucode_rate |= iwl_rates[index].plcp_vht_siso;
817 ucode_rate |= iwl_rates[index].plcp_vht_mimo2;
827 ucode_rate |= RATE_MCS_ANT_AB_MSK;
828 ucode_rate |= RATE_MCS_STBC_MSK;
831 ucode_rate |= rate->bw;
833 ucode_rate |= RATE_MCS_SGI_MSK_V1;
835 ucode_rate |= RATE_MCS_LDPC_MSK_V1;
837 return ucode_rate;
841 static int rs_rate_from_ucode_rate(const u32 ucode_rate,
845 u32 ant_msk = ucode_rate & RATE_MCS_ANT_AB_MSK;
846 u8 num_of_ant = get_num_of_ant_from_rate(ucode_rate);
850 rate->index = iwl_hwrate_to_plcp_idx(ucode_rate);
858 if (!(ucode_rate & RATE_MCS_HT_MSK_V1) &&
859 !(ucode_rate & RATE_MCS_VHT_MSK_V1) &&
860 !(ucode_rate & RATE_MCS_HE_MSK_V1)) {
872 if (ucode_rate & RATE_MCS_SGI_MSK_V1)
874 if (ucode_rate & RATE_MCS_LDPC_MSK_V1)
876 if (ucode_rate & RATE_MCS_STBC_MSK)
878 if (ucode_rate & RATE_MCS_BF_MSK)
881 rate->bw = ucode_rate & RATE_MCS_CHAN_WIDTH_MSK_V1;
883 if (ucode_rate & RATE_MCS_HT_MSK_V1) {
884 nss = ((ucode_rate & RATE_HT_MCS_NSS_MSK_V1) >>
898 } else if (ucode_rate & RATE_MCS_VHT_MSK_V1) {
899 nss = FIELD_GET(RATE_VHT_MCS_NSS_MSK, ucode_rate) + 1;
912 } else if (ucode_rate & RATE_MCS_HE_MSK_V1) {
913 nss = FIELD_GET(RATE_VHT_MCS_NSS_MSK, ucode_rate) + 1;
3288 u32 ucode_rate)
3293 __le32 ucode_rate_le32 = cpu_to_le32(ucode_rate);
3294 u8 ant = (ucode_rate & RATE_MCS_ANT_AB_MSK) >> RATE_MCS_ANT_POS;
3299 if (rs_rate_from_ucode_rate(ucode_rate, band, &rate)) {
3330 __le32 ucode_rate;
3338 ucode_rate = cpu_to_le32(ucode_rate_from_rs_rate(mvm,
3340 rs_table[index] = ucode_rate;