wifi: iwlwifi: mvm: add UHB canada support in GET_TAS_STATUS cmd resp
authorAnjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
Thu, 26 Dec 2024 15:44:56 +0000 (17:44 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 13 Jan 2025 13:00:55 +0000 (14:00 +0100)
dump UHB canada is enabled or not based on firmware capability.

Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20241226174257.dfd6b8893322.I196393dc3c9c28882f90b43a821a2d76a5c9a046@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/api/debug.h
drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c

index bea0f46..aa88e91 100644 (file)
@@ -477,6 +477,9 @@ struct iwl_mvm_tas_status_per_mac {
  * @tas_status_mac: TAS status per lmac, uses
  *     &struct iwl_mvm_tas_status_per_mac
  * @in_dual_radio: is TAS in dual radio? - TRUE/FALSE
+ * @uhb_allowed_flags: see &enum iwl_tas_uhb_allowed_flags.
+ *     This member is valid only when fw has
+ *     %IWL_UCODE_TLV_CAPA_UHB_CANADA_TAS_SUPPORT capability.
  * @reserved: reserved
  */
 struct iwl_mvm_tas_status_resp {
@@ -486,7 +489,8 @@ struct iwl_mvm_tas_status_resp {
        __le16 block_list[16];
        struct iwl_mvm_tas_status_per_mac tas_status_mac[2];
        u8 in_dual_radio;
-       u8 reserved[3];
+       u8 uhb_allowed_flags;
+       u8 reserved[2];
 } __packed; /*DEBUG_GET_TAS_STATUS_RSP_API_S_VER_3*/
 
 /**
index 91ca830..ccf377a 100644 (file)
@@ -659,6 +659,14 @@ static ssize_t iwl_dbgfs_tas_get_status_read(struct file *file,
                         rsp->tas_fw_version);
        pos += scnprintf(pos, endpos - pos, "Is UHB enabled for USA?: %s\n",
                         rsp->is_uhb_for_usa_enable ? "True" : "False");
+
+       if (fw_has_capa(&mvm->fw->ucode_capa,
+                       IWL_UCODE_TLV_CAPA_UHB_CANADA_TAS_SUPPORT))
+               pos += scnprintf(pos, endpos - pos,
+                                "Is UHB enabled for CANADA?: %s\n",
+                                rsp->uhb_allowed_flags &
+                                TAS_UHB_ALLOWED_CANADA ? "True" : "False");
+
        pos += scnprintf(pos, endpos - pos, "Current MCC: 0x%x\n",
                         le16_to_cpu(rsp->curr_mcc));