Lines Matching refs:tlv

8 #include "iwl-dbg-tlv.h"
48 * @tlv: TLV attach to the timer node
54 struct iwl_ucode_tlv *tlv;
68 static struct iwl_ucode_tlv *iwl_dbg_tlv_add(const struct iwl_ucode_tlv *tlv,
71 u32 len = le32_to_cpu(tlv->length);
74 node = kzalloc(struct_size(node, tlv.data, len), GFP_KERNEL);
78 memcpy(&node->tlv, tlv, sizeof(node->tlv));
79 memcpy(node->tlv.data, tlv->data, len);
82 return &node->tlv;
85 static bool iwl_dbg_tlv_ver_support(const struct iwl_ucode_tlv *tlv)
87 const struct iwl_fw_ini_header *hdr = (const void *)&tlv->data[0];
88 u32 type = le32_to_cpu(tlv->type);
100 const struct iwl_ucode_tlv *tlv)
102 const struct iwl_fw_ini_debug_info_tlv *debug_info = (const void *)tlv->data;
104 if (le32_to_cpu(tlv->length) != sizeof(*debug_info))
116 if (!iwl_dbg_tlv_add(tlv, &trans->dbg.debug_info_tlv_list))
122 const struct iwl_ucode_tlv *tlv)
124 const struct iwl_fw_ini_allocation_tlv *alloc = (const void *)tlv->data;
128 if (le32_to_cpu(tlv->length) != sizeof(*alloc))
167 const struct iwl_ucode_tlv *tlv)
169 const struct iwl_fw_ini_hcmd_tlv *hcmd = (const void *)tlv->data;
172 if (le32_to_cpu(tlv->length) <= sizeof(*hcmd))
187 if (!iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].hcmd_list))
193 const struct iwl_ucode_tlv *tlv)
195 const struct iwl_fw_ini_region_tlv *reg = (const void *)tlv->data;
199 u32 tlv_len = sizeof(*tlv) + le32_to_cpu(tlv->length);
208 if (le32_to_cpu(tlv->length) < sizeof(*reg))
247 *active_reg = kmemdup(tlv, tlv_len, GFP_KERNEL);
257 const struct iwl_ucode_tlv *tlv)
259 const struct iwl_fw_ini_trigger_tlv *trig = (const void *)tlv->data;
264 if (le32_to_cpu(tlv->length) < sizeof(*trig))
280 new_tlv = iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].trig_list);
294 const struct iwl_ucode_tlv *tlv)
296 const struct iwl_fw_ini_conf_set_tlv *conf_set = (const void *)tlv->data;
314 if (!iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].config_list))
320 const struct iwl_ucode_tlv *tlv) = {
329 void iwl_dbg_tlv_alloc(struct iwl_trans *trans, const struct iwl_ucode_tlv *tlv,
334 const struct iwl_fw_ini_header *hdr = (const void *)&tlv->data[0];
340 if (le32_to_cpu(tlv->length) < sizeof(*hdr))
343 type = le32_to_cpu(tlv->type);
360 if (!iwl_dbg_tlv_ver_support(tlv)) {
366 ret = dbg_tlv_alloc[tlv_idx](trans, tlv);
482 const struct iwl_ucode_tlv *tlv;
485 while (len >= sizeof(*tlv)) {
486 len -= sizeof(*tlv);
487 tlv = (const void *)data;
489 tlv_len = le32_to_cpu(tlv->length);
497 data += sizeof(*tlv) + ALIGN(tlv_len, 4);
499 iwl_dbg_tlv_alloc(trans, tlv, true);
844 struct iwl_fw_ini_hcmd_tlv *hcmd = (void *)node->tlv.data;
846 u16 hcmd_len = le32_to_cpu(node->tlv.length) - sizeof(*hcmd);
863 struct iwl_fw_ini_conf_set_tlv *config_list = (void *)node->tlv.data;
865 u32 len = (le32_to_cpu(node->tlv.length) - sizeof(*config_list)) / 8;
960 .trig = (void *)timer_node->tlv->data,
983 struct iwl_fw_ini_trigger_tlv *trig = (void *)node->tlv.data;
994 if (le32_to_cpu(node->tlv.length) <
1018 timer_node->tlv = &node->tlv;
1062 struct iwl_ucode_tlv *node_tlv = &node->tlv;
1104 node_tlv = &tmp->tlv;
1151 is_trig_data_contained(trig_tlv, &node->tlv)) {
1177 struct iwl_ucode_tlv *tlv = &node->tlv;
1179 iwl_dbg_tlv_add_active_trigger(fwrt, active_trig_list, tlv);
1222 .trig = (void *)node->tlv.data,
1224 u32 num_data = iwl_tlv_array_len(&node->tlv, dump_data.trig,