iwlwifi: fw: correctly detect HW-SMEM region subtype
authorJohannes Berg <johannes.berg@intel.com>
Sat, 4 Dec 2021 15:49:42 +0000 (17:49 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Tue, 7 Dec 2021 18:06:50 +0000 (20:06 +0200)
This is part of the "device memory" type, but with the
subtypes we can now detect it properly, rather than
having to make assumptions on the ID.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211204174546.91d33aa9dd3d.Ifb48e21fbb92ea25360856b5cc2afbb9b485d6b3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/api/dbg-tlv.h
drivers/net/wireless/intel/iwlwifi/fw/dbg.c

index 1c302cd..2245254 100644 (file)
@@ -7,7 +7,6 @@
 
 #include <linux/bitops.h>
 
-#define IWL_FW_INI_HW_SMEM_REGION_ID           15
 #define IWL_FW_INI_MAX_REGION_ID               64
 #define IWL_FW_INI_MAX_NAME                    32
 #define IWL_FW_INI_MAX_CFG_NAME                        64
@@ -387,6 +386,8 @@ enum iwl_fw_ini_region_type {
        IWL_FW_INI_REGION_NUM
 }; /* FW_TLV_DEBUG_REGION_TYPE_API_E */
 
+#define IWL_FW_INI_REGION_DEVICE_MEMORY_SUBTYPE_HW_SMEM        1
+
 /**
  * enum iwl_fw_ini_time_point
  *
index fa3a7a3..a373a2b 100644 (file)
@@ -1165,8 +1165,7 @@ static int iwl_dump_ini_dev_mem_iter(struct iwl_fw_runtime *fwrt,
        iwl_trans_read_mem_bytes(fwrt->trans, addr, range->data,
                                 le32_to_cpu(reg->dev_addr.size));
 
-       if ((le32_to_cpu(reg->id) & IWL_FW_INI_REGION_V2_MASK) ==
-               IWL_FW_INI_HW_SMEM_REGION_ID &&
+       if (reg->sub_type == IWL_FW_INI_REGION_DEVICE_MEMORY_SUBTYPE_HW_SMEM &&
            fwrt->sanitize_ops && fwrt->sanitize_ops->frob_txf)
                fwrt->sanitize_ops->frob_txf(fwrt->sanitize_ctx,
                                             range->data,