Lines Matching +full:get +full:- +full:wiphy
1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
3 * Copyright (C) 2024-2025 Intel Corporation
10 #include <iwl-nvm-parse.h>
20 const struct iwl_mcc_update_resp_v8 *mcc_resp_v8 = (const void *)pkt->data; in iwl_mld_copy_mcc_resp()
21 int n_channels = __le32_to_cpu(mcc_resp_v8->n_channels); in iwl_mld_copy_mcc_resp()
26 return ERR_PTR(-EINVAL); in iwl_mld_copy_mcc_resp()
30 return ERR_PTR(-ENOMEM); in iwl_mld_copy_mcc_resp()
68 mcc = le16_to_cpu(resp_cp->mcc); in iwl_mld_update_mcc()
74 le32_to_cpu(resp_cp->status), mcc, mcc >> 8, mcc & 0xff); in iwl_mld_update_mcc()
90 u8 resp_ver = iwl_fw_lookup_notif_ver(mld->fw, IWL_ALWAYS_LONG_GROUP, in iwl_mld_get_regdomain()
95 lockdep_assert_wiphy(mld->wiphy); in iwl_mld_get_regdomain()
99 IWL_DEBUG_LAR(mld, "Could not get update from FW %ld\n", in iwl_mld_get_regdomain()
106 u32 status = le32_to_cpu(resp->status); in iwl_mld_get_regdomain()
113 regd = iwl_parse_nvm_mcc_info(mld->trans, in iwl_mld_get_regdomain()
114 __le32_to_cpu(resp->n_channels), in iwl_mld_get_regdomain()
115 resp->channels, in iwl_mld_get_regdomain()
116 __le16_to_cpu(resp->mcc), in iwl_mld_get_regdomain()
117 __le16_to_cpu(resp->geo_info), in iwl_mld_get_regdomain()
118 le32_to_cpu(resp->cap), resp_ver); in iwl_mld_get_regdomain()
121 IWL_DEBUG_LAR(mld, "Could not get parse update from FW %ld\n", in iwl_mld_get_regdomain()
127 regd->alpha2, regd->alpha2[0], in iwl_mld_get_regdomain()
128 regd->alpha2[1], resp->source_id); in iwl_mld_get_regdomain()
130 mld->mcc_src = resp->source_id; in iwl_mld_get_regdomain()
133 if (CSR_HW_RFID_TYPE(mld->trans->info.hw_rf_id) == IWL_CFG_RF_TYPE_FM) { in iwl_mld_get_regdomain()
134 if (!iwl_puncturing_is_allowed_in_bios(mld->bios_enable_puncturing, in iwl_mld_get_regdomain()
135 le16_to_cpu(resp->mcc))) in iwl_mld_get_regdomain()
136 ieee80211_hw_set(mld->hw, DISALLOW_PUNCTURING); in iwl_mld_get_regdomain()
139 mld->hw->flags); in iwl_mld_get_regdomain()
167 regulatory_set_wiphy_regd(mld->wiphy, regd); in iwl_mld_update_changed_regdomain()
180 used_src = mld->mcc_src; in iwl_mld_apply_last_mcc()
191 return -EIO; in iwl_mld_apply_last_mcc()
195 ret = regulatory_set_wiphy_regd_sync(mld->wiphy, regd); in iwl_mld_apply_last_mcc()
211 r = wiphy_dereference(mld->wiphy, mld->wiphy->regd); in iwl_mld_init_mcc()
214 return iwl_mld_apply_last_mcc(mld, r->alpha2); in iwl_mld_init_mcc()
218 return -EIO; in iwl_mld_init_mcc()
220 if (!iwl_bios_get_mcc(&mld->fwrt, mcc)) { in iwl_mld_init_mcc()
224 return -EIO; in iwl_mld_init_mcc()
227 retval = regulatory_set_wiphy_regd_sync(mld->wiphy, regd); in iwl_mld_init_mcc()
238 if (vif->type == NL80211_IFTYPE_STATION && in iwl_mld_find_assoc_vif_iterator()
239 vif->cfg.assoc) in iwl_mld_find_assoc_vif_iterator()
247 ieee80211_iterate_active_interfaces_atomic(mld->hw, in iwl_mld_is_a_vif_assoc()
256 struct iwl_mcc_chub_notif *notif = (void *)pkt->data; in iwl_mld_handle_update_mcc()
262 lockdep_assert_wiphy(mld->wiphy); in iwl_mld_handle_update_mcc()
265 notif->source_id == MCC_SOURCE_WIFI) { in iwl_mld_handle_update_mcc()
270 mcc[0] = le16_to_cpu(notif->mcc) >> 8; in iwl_mld_handle_update_mcc()
271 mcc[1] = le16_to_cpu(notif->mcc) & 0xff; in iwl_mld_handle_update_mcc()
273 src = notif->source_id; in iwl_mld_handle_update_mcc()
283 regulatory_set_wiphy_regd(mld->hw->wiphy, regd); in iwl_mld_handle_update_mcc()