Lines Matching refs:mode

656 static void phy_info_freq_cfg(struct hostapd_hw_modes *mode,  in phy_info_freq_cfg()  argument
706 struct hostapd_hw_modes *mode, in phy_info_freqs_cfg() argument
713 if (!phy_info || !mode || !band_info) in phy_info_freqs_cfg()
720 channel = os_realloc_array(mode->channels, in phy_info_freqs_cfg()
721 mode->num_channels + new_channels, in phy_info_freqs_cfg()
726 os_memset(channel, 0, (mode->num_channels + new_channels) * sizeof(*channel)); in phy_info_freqs_cfg()
728 mode->channels = channel; in phy_info_freqs_cfg()
729 mode->num_channels += new_channels; in phy_info_freqs_cfg()
734 phy_info_freq_cfg(mode, &mode->channels[idx], &band_info->channels[i]); in phy_info_freqs_cfg()
743 static int phy_info_rates_cfg(struct hostapd_hw_modes *mode, in phy_info_rates_cfg() argument
748 if (!mode || !band_info) in phy_info_rates_cfg()
751 mode->num_rates = band_info->wpa_supp_n_bitrates; in phy_info_rates_cfg()
752 if (!mode->num_rates) in phy_info_rates_cfg()
755 mode->rates = os_calloc(mode->num_rates, sizeof(int)); in phy_info_rates_cfg()
756 if (!mode->rates) in phy_info_rates_cfg()
761 for (int i = 0; i < mode->num_rates; i++) { in phy_info_rates_cfg()
764 mode->rates[idx] = band_info->bitrates[i].wpa_supp_bitrate; in phy_info_rates_cfg()
773 static void phy_info_ht_capa_cfg(struct hostapd_hw_modes *mode, u16 capa, in phy_info_ht_capa_cfg() argument
779 mode->ht_capab = (capa); in phy_info_ht_capa_cfg()
782 mode->a_mpdu_params |= (ampdu_factor) & WPA_SUPP_AMPDU_FACTOR_MASK; in phy_info_ht_capa_cfg()
785 mode->a_mpdu_params |= (ampdu_density) << WPA_SUPP_AMPDU_DENSITY_SHIFT; in phy_info_ht_capa_cfg()
788 os_memcpy(mode->mcs_set, mcs_set, sizeof(*mcs_set)); in phy_info_ht_capa_cfg()
793 static void phy_info_vht_capa_cfg(struct hostapd_hw_modes *mode, in phy_info_vht_capa_cfg() argument
798 mode->vht_capab = (capa); in phy_info_vht_capa_cfg()
801 os_memcpy(mode->vht_mcs_set, vht_mcs_set, 8); in phy_info_vht_capa_cfg()
805 static void phy_info_he_capa_cfg(struct hostapd_hw_modes *mode, in phy_info_he_capa_cfg() argument
808 mode->he_capab[IEEE80211_MODE_AP].he_supported = he->wpa_supp_he_supported; in phy_info_he_capa_cfg()
809 memcpy(mode->he_capab[IEEE80211_MODE_AP].phy_cap, he->phy_cap, HE_MAX_PHY_CAPAB_SIZE); in phy_info_he_capa_cfg()
810 memcpy(mode->he_capab[IEEE80211_MODE_AP].mac_cap, he->mac_cap, HE_MAX_MAC_CAPAB_SIZE); in phy_info_he_capa_cfg()
811 memcpy(mode->he_capab[IEEE80211_MODE_AP].mcs, he->mcs, HE_MAX_MCS_CAPAB_SIZE); in phy_info_he_capa_cfg()
812 memcpy(mode->he_capab[IEEE80211_MODE_AP].ppet, he->ppet, HE_MAX_PPET_CAPAB_SIZE); in phy_info_he_capa_cfg()
813 mode->he_capab[IEEE80211_MODE_AP].he_6ghz_capa = he->he_6ghz_capa; in phy_info_he_capa_cfg()
819 struct hostapd_hw_modes *mode; in phy_info_band_cfg() local
823 mode = os_realloc_array(phy_info->modes, in phy_info_band_cfg()
825 sizeof(*mode)); in phy_info_band_cfg()
826 if (!mode) { in phy_info_band_cfg()
831 phy_info->modes = mode; in phy_info_band_cfg()
833 mode = &phy_info->modes[*(phy_info->num_modes)]; in phy_info_band_cfg()
835 os_memset(mode, 0, sizeof(*mode)); in phy_info_band_cfg()
837 mode->mode = NUM_HOSTAPD_MODES; in phy_info_band_cfg()
838 mode->flags = HOSTAPD_MODE_FLAG_HT_INFO_KNOWN | in phy_info_band_cfg()
847 mode->vht_mcs_set[0] = 0xff; in phy_info_band_cfg()
848 mode->vht_mcs_set[1] = 0xff; in phy_info_band_cfg()
849 mode->vht_mcs_set[4] = 0xff; in phy_info_band_cfg()
850 mode->vht_mcs_set[5] = 0xff; in phy_info_band_cfg()
858 mode = &phy_info->modes[*(phy_info->num_modes) - 1]; in phy_info_band_cfg()
860 phy_info_ht_capa_cfg(mode, band_info->ht_cap.wpa_supp_cap, in phy_info_band_cfg()
865 phy_info_vht_capa_cfg(mode, band_info->vht_cap.wpa_supp_cap, in phy_info_band_cfg()
868 phy_info_he_capa_cfg(mode, &band_info->he_cap); in phy_info_band_cfg()
870 ret = phy_info_freqs_cfg(phy_info, mode, band_info); in phy_info_band_cfg()
873 ret = phy_info_rates_cfg(mode, band_info); in phy_info_band_cfg()
1013 struct hostapd_hw_modes *mode11g = NULL, *nmodes, *mode; in wpa_driver_wpa_supp_postprocess_modes() local
1021 modes[m].mode = HOSTAPD_MODE_IEEE80211B; in wpa_driver_wpa_supp_postprocess_modes()
1024 modes[m].mode = HOSTAPD_MODE_IEEE80211G; in wpa_driver_wpa_supp_postprocess_modes()
1029 modes[m].mode = HOSTAPD_MODE_IEEE80211AD; in wpa_driver_wpa_supp_postprocess_modes()
1031 modes[m].mode = HOSTAPD_MODE_IEEE80211A; in wpa_driver_wpa_supp_postprocess_modes()
1038 if (modes[m].mode == HOSTAPD_MODE_IEEE80211B) in wpa_driver_wpa_supp_postprocess_modes()
1040 if (modes[m].mode == HOSTAPD_MODE_IEEE80211G) in wpa_driver_wpa_supp_postprocess_modes()
1051 mode = &nmodes[*num_modes]; in wpa_driver_wpa_supp_postprocess_modes()
1052 os_memset(mode, 0, sizeof(*mode)); in wpa_driver_wpa_supp_postprocess_modes()
1056 mode->mode = HOSTAPD_MODE_IEEE80211B; in wpa_driver_wpa_supp_postprocess_modes()
1058 mode->num_channels = mode11g->num_channels; in wpa_driver_wpa_supp_postprocess_modes()
1059 mode->channels = os_memdup(mode11g->channels, in wpa_driver_wpa_supp_postprocess_modes()
1062 if (mode->channels == NULL) { in wpa_driver_wpa_supp_postprocess_modes()
1067 mode->num_rates = 0; in wpa_driver_wpa_supp_postprocess_modes()
1068 mode->rates = os_malloc(4 * sizeof(int)); in wpa_driver_wpa_supp_postprocess_modes()
1069 if (mode->rates == NULL) { in wpa_driver_wpa_supp_postprocess_modes()
1070 os_free(mode->channels); in wpa_driver_wpa_supp_postprocess_modes()
1079 mode->rates[mode->num_rates] = mode11g->rates[i]; in wpa_driver_wpa_supp_postprocess_modes()
1080 mode->num_rates++; in wpa_driver_wpa_supp_postprocess_modes()
1081 if (mode->num_rates == 4) in wpa_driver_wpa_supp_postprocess_modes()
1085 if (mode->num_rates == 0) { in wpa_driver_wpa_supp_postprocess_modes()
1086 os_free(mode->channels); in wpa_driver_wpa_supp_postprocess_modes()
1087 os_free(mode->rates); in wpa_driver_wpa_supp_postprocess_modes()
1650 if (IS_ENABLED(CONFIG_AP) && params->mode == IEEE80211_MODE_AP) { in wpa_drv_zep_associate()
1653 } else if (params->mode == IEEE80211_MODE_INFRA) { in wpa_drv_zep_associate()