Lines Matching defs:phy_data
41 struct iwl_mld_rx_phy_data *phy_data)
43 phy_data->phy_info = le16_to_cpu(desc->phy_info);
44 phy_data->rate_n_flags = iwl_v3_rate_from_v2_v3(desc->v3.rate_n_flags,
46 phy_data->gp2_on_air_rise = le32_to_cpu(desc->v3.gp2_on_air_rise);
47 phy_data->energy_a = desc->v3.energy_a;
48 phy_data->energy_b = desc->v3.energy_b;
49 phy_data->data0 = desc->v3.phy_data0;
50 phy_data->data1 = desc->v3.phy_data1;
51 phy_data->data2 = desc->v3.phy_data2;
52 phy_data->data3 = desc->v3.phy_data3;
53 phy_data->data4 = desc->phy_data4;
54 phy_data->eht_data4 = desc->phy_eht_data4;
55 phy_data->data5 = desc->v3.phy_data5;
56 phy_data->with_data = true;
148 struct iwl_mld_rx_phy_data *phy_data)
150 u32 rate_n_flags = phy_data->rate_n_flags;
151 int energy_a = phy_data->energy_a;
152 int energy_b = phy_data->energy_b;
170 iwl_mld_decode_he_phy_ru_alloc(struct iwl_mld_rx_phy_data *phy_data,
182 u8 ru = le32_get_bits(phy_data->data1, IWL_RX_PHY_DATA1_HE_RU_ALLOC_MASK);
183 u32 rate_n_flags = phy_data->rate_n_flags;
223 if (phy_data->data1 & cpu_to_le32(IWL_RX_PHY_DATA1_HE_RU_ALLOC_SEC80))
251 iwl_mld_decode_he_mu_ext(struct iwl_mld_rx_phy_data *phy_data,
254 u32 phy_data2 = le32_to_cpu(phy_data->data2);
255 u32 phy_data3 = le32_to_cpu(phy_data->data3);
256 u16 phy_data4 = le16_to_cpu(phy_data->data4);
257 u32 rate_n_flags = phy_data->rate_n_flags;
302 iwl_mld_decode_he_phy_data(struct iwl_mld_rx_phy_data *phy_data,
308 switch (phy_data->info_type) {
325 he->data4 |= le16_encode_bits(le32_get_bits(phy_data->data2,
328 he->data4 |= le16_encode_bits(le32_get_bits(phy_data->data2,
331 he->data4 |= le16_encode_bits(le32_get_bits(phy_data->data2,
334 he->data4 |= le16_encode_bits(le32_get_bits(phy_data->data2,
350 he->data3 |= le16_encode_bits(le32_get_bits(phy_data->data0,
353 if (phy_data->info_type != IWL_RX_PHY_INFO_TYPE_HE_TB &&
354 phy_data->info_type != IWL_RX_PHY_INFO_TYPE_HE_TB_EXT) {
356 he->data3 |= le16_encode_bits(le32_get_bits(phy_data->data0,
360 he->data3 |= le16_encode_bits(le32_get_bits(phy_data->data0,
363 he->data5 |= le16_encode_bits(le32_get_bits(phy_data->data0,
366 he->data5 |= le16_encode_bits(le32_get_bits(phy_data->data0,
369 he->data5 |= le16_encode_bits(le32_get_bits(phy_data->data1,
372 he->data6 |= le16_encode_bits(le32_get_bits(phy_data->data0,
375 he->data6 |= le16_encode_bits(le32_get_bits(phy_data->data0,
381 switch (phy_data->info_type) {
386 he->data4 |= le16_encode_bits(le32_get_bits(phy_data->data0,
395 switch (phy_data->info_type) {
398 le16_encode_bits(le16_get_bits(phy_data->data4,
402 le16_encode_bits(le16_get_bits(phy_data->data4,
406 le16_encode_bits(le16_get_bits(phy_data->data4,
409 iwl_mld_decode_he_mu_ext(phy_data, he_mu);
413 le16_encode_bits(le32_get_bits(phy_data->data1,
417 le16_encode_bits(le32_get_bits(phy_data->data1,
423 iwl_mld_decode_he_phy_ru_alloc(phy_data, he, he_mu, rx_status);
427 he->data3 |= le16_encode_bits(le32_get_bits(phy_data->data0,
438 struct iwl_mld_rx_phy_data *phy_data,
444 u32 rate_n_flags = phy_data->rate_n_flags;
463 u16 phy_info = phy_data->phy_info;
468 if (phy_data->info_type == IWL_RX_PHY_INFO_TYPE_HE_MU ||
469 phy_data->info_type == IWL_RX_PHY_INFO_TYPE_HE_MU_EXT) {
478 if (phy_data->data0 & cpu_to_le32(IWL_RX_PHY_DATA0_HE_DELIM_EOF))
483 iwl_mld_decode_he_phy_data(phy_data, he, he_mu, rx_status,
488 (phy_info & IWL_RX_MPDU_PHY_AMPDU) && phy_data->first_subframe) {
490 if (phy_data->data0 & cpu_to_le32(IWL_RX_PHY_DATA0_EHT_DELIM_EOF))
565 struct iwl_mld_rx_phy_data *phy_data)
570 switch (phy_data->info_type) {
585 lsig->data2 = le16_encode_bits(le32_get_bits(phy_data->data1,
656 struct iwl_mld_rx_phy_data *phy_data,
661 if (phy_data->with_data) {
662 __le32 data1 = phy_data->data1;
663 __le32 data2 = phy_data->data2;
664 __le32 data3 = phy_data->data3;
665 __le32 data4 = phy_data->eht_data4;
666 __le32 data5 = phy_data->data5;
667 u32 phy_bw = phy_data->rate_n_flags & RATE_MCS_CHAN_WIDTH_MSK;
733 __le32 usig_a1 = phy_data->rx_vec[0];
734 __le32 usig_a2 = phy_data->rx_vec[1];
767 struct iwl_mld_rx_phy_data *phy_data,
772 if (phy_data->with_data) {
773 __le32 data5 = phy_data->data5;
786 __le32 usig_a1 = phy_data->rx_vec[0];
787 __le32 usig_a2 = phy_data->rx_vec[1];
883 struct iwl_mld_rx_phy_data *phy_data,
889 __le32 data0 = phy_data->data0;
890 __le32 data1 = phy_data->data1;
891 __le32 usig_a1 = phy_data->rx_vec[0];
892 u8 info_type = phy_data->info_type;
902 if (phy_data->with_data) {
950 if (phy_data->with_data)
989 iwl_mld_decode_eht_ext_tb(mld, phy_data, rx_status, eht, usig);
993 iwl_mld_decode_eht_ext_mu(mld, phy_data, rx_status, eht, usig);
997 struct iwl_mld_rx_phy_data *phy_data,
1005 u32 rate_n_flags = phy_data->rate_n_flags;
1009 u16 phy_info = phy_data->phy_info;
1013 if (phy_data->with_data)
1027 bw += le32_get_bits(phy_data->data0,
1037 if (phy_data->data0 &
1043 iwl_mld_decode_eht_phy_data(mld, phy_data, rx_status, eht, usig);
1095 if (!phy_data->with_data) {
1099 le32_encode_bits(le32_get_bits(phy_data->rx_vec[2],
1164 struct iwl_mld_rx_phy_data *phy_data,
1168 u32 format = phy_data->rate_n_flags & RATE_MCS_MOD_TYPE_MSK;
1169 u32 rate_n_flags = phy_data->rate_n_flags;
1173 phy_data->info_type = IWL_RX_PHY_INFO_TYPE_NONE;
1175 if (phy_data->phy_info & IWL_RX_MPDU_PHY_TSF_OVERLOAD)
1176 phy_data->info_type =
1177 le32_get_bits(phy_data->data1,
1182 phy_data->phy_info & IWL_RX_MPDU_PHY_SHORT_PREAMBLE)
1185 iwl_mld_fill_signal(mld, rx_status, phy_data);
1207 iwl_mld_rx_he(mld, skb, phy_data, queue);
1209 iwl_mld_decode_lsig(skb, phy_data);
1211 rx_status->device_timestamp = phy_data->gp2_on_air_rise;
1215 iwl_mld_rx_eht(mld, skb, phy_data, queue);
1224 phy_data->gp2_on_air_rise *
1695 struct iwl_mld_rx_phy_data *phy_data,
1699 phy_data->phy_info & IWL_RX_MPDU_PHY_AMPDU_TOGGLE;
1711 phy_data->first_subframe = true;
1729 struct iwl_mld_rx_phy_data phy_data = {};
1766 iwl_mld_fill_phy_data(mld, mpdu_desc, &phy_data);
1793 if (!queue && (phy_data.phy_info & IWL_RX_MPDU_PHY_AMPDU))
1794 iwl_mld_rx_update_ampdu_ref(mld, &phy_data, rx_status);
1806 if (likely(!(phy_data.phy_info & IWL_RX_MPDU_PHY_TSF_OVERLOAD))) {
1825 iwl_mld_rx_fill_status(mld, skb, &phy_data, queue);
1963 struct iwl_mld_rx_phy_data phy_data;
1982 phy_data.energy_a = u32_get_bits(rssi, RX_NO_DATA_CHAIN_A_MSK);
1983 phy_data.energy_b = u32_get_bits(rssi, RX_NO_DATA_CHAIN_B_MSK);
1984 phy_data.data0 = desc->phy_info[0];
1985 phy_data.data1 = desc->phy_info[1];
1986 phy_data.phy_info = IWL_RX_MPDU_PHY_TSF_OVERLOAD;
1987 phy_data.gp2_on_air_rise = le32_to_cpu(desc->on_air_rise_time);
1988 phy_data.rate_n_flags = iwl_v3_rate_from_v2_v3(desc->rate,
1990 phy_data.with_data = false;
1992 BUILD_BUG_ON(sizeof(phy_data.rx_vec) != sizeof(desc->rx_vec));
1993 memcpy(phy_data.rx_vec, desc->rx_vec, sizeof(phy_data.rx_vec));
1995 format = phy_data.rate_n_flags & RATE_MCS_MOD_TYPE_MSK;
2038 iwl_mld_rx_fill_status(mld, skb, &phy_data, queue);