Pārlūkot izejas kodu

qcacmn: Copy 6G super domain code to the pdev_priv_obj

cfg80211tool wifiX getRegdomain does not display the current 6G super
domain code. This is because, when the WMI_REG_CHAN_LIST_CC_EXT_EVENT_ID
is received from the target, the 6G super domain code is not copied to
the pdev_priv_obj. Therefore, copy the 6G super domain code to the
pdev_priv_obj to display the current 6G super domain code.

Change-Id: If2e0bfc69cad3a4c47e73fdb35ad08eecb0cb48d
CRs-Fixed: 2856074
Hariharan Basuthkar 4 gadi atpakaļ
vecāks
revīzija
a20bb6caa3

+ 4 - 0
umac/regulatory/core/src/reg_build_chan_list.c

@@ -671,6 +671,8 @@ static void reg_propagate_6g_mas_channel_list(
 				mas_chan_params->unspecified_ap_usable;
 	pdev_priv_obj->is_6g_channel_list_populated =
 		mas_chan_params->is_6g_channel_list_populated;
+	pdev_priv_obj->reg_6g_superid =
+		mas_chan_params->reg_6g_superid;
 }
 #else
 static inline void reg_propagate_6g_mas_channel_list(
@@ -1456,6 +1458,8 @@ static void reg_store_regulatory_ext_info_to_socpriv(
 	soc_reg->mas_chan_params[phy_id].ctry_code = regulat_info->ctry_code;
 	soc_reg->mas_chan_params[phy_id].reg_dmn_pair =
 		regulat_info->reg_dmn_pair;
+	soc_reg->mas_chan_params[phy_id].reg_6g_superid =
+		regulat_info->domain_code_6g_super_id;
 	qdf_mem_copy(soc_reg->mas_chan_params[phy_id].current_country,
 		     regulat_info->alpha2,
 		     REG_ALPHA2_LEN + 1);

+ 3 - 4
umac/regulatory/dispatcher/inc/reg_services_public_struct.h

@@ -924,7 +924,6 @@ struct cur_reg_rule {
  * @num_phy: number of phy
  * @phy_id: phy id
  * @reg_dmn_pair: reg domain pair
- * @reg_6g_superid: 6G super domain id
  * @ctry_code: country code
  * @alpha2: country alpha2
  * @offload_enabled: offload enabled
@@ -938,12 +937,12 @@ struct cur_reg_rule {
  * @num_5g_reg_rules: number 5G  and 6G reg rules
  * @reg_rules_2g_ptr: ptr to 2G reg rules
  * @reg_rules_5g_ptr: ptr to 5G reg rules
- * @super_dmn_id: 6G super domain ID
  * @client_type: type of client
  * @rnr_tpe_usable: if RNR TPE octet is usable for country
  * @unspecified_ap_usable: if not set, AP usable for country
  * @domain_code_6g_ap: domain code for 6G AP
  * @domain_code_6g_client: domain code for 6G client in SP mode
+ * @domain_code_6g_super_id: 6G super domain ID
  * @min_bw_6g_ap: minimum 6G bw for AP
  * @max_bw_6g_ap: maximum 6G bw for AP
  * @min_bw_6g_client: list of minimum 6G bw for clients
@@ -959,7 +958,6 @@ struct cur_regulatory_info {
 	uint8_t num_phy;
 	uint8_t phy_id;
 	uint16_t reg_dmn_pair;
-	uint16_t reg_6g_superid;
 	uint16_t ctry_code;
 	uint8_t alpha2[REG_ALPHA2_LEN + 1];
 	bool offload_enabled;
@@ -973,7 +971,6 @@ struct cur_regulatory_info {
 	uint32_t num_5g_reg_rules;
 	struct cur_reg_rule *reg_rules_2g_ptr;
 	struct cur_reg_rule *reg_rules_5g_ptr;
-	uint16_t super_dmn_id;
 	enum reg_6g_client_type client_type;
 	bool rnr_tpe_usable;
 	bool unspecified_ap_usable;
@@ -1147,6 +1144,7 @@ enum direction {
  * @def_region_domain: default reg domain
  * @def_country_code: default country code
  * @reg_dmn_pair: reg domain pair
+ * @reg_6g_superid: 6G super domain ID
  * @ctry_code: country code
  * @reg_rules: regulatory rules
  * @client_type: type of client
@@ -1167,6 +1165,7 @@ struct mas_chan_params {
 	uint16_t def_region_domain;
 	uint16_t def_country_code;
 	uint32_t reg_dmn_pair;
+	uint16_t reg_6g_superid;
 	uint16_t ctry_code;
 	struct reg_rule_info reg_rules;
 #ifdef CONFIG_BAND_6GHZ