Lines Matching refs:tlv

8 #include "iwl-dbg-tlv.h"
48 * @tlv: TLV attach to the timer node
54 struct iwl_ucode_tlv *tlv;
67 static int iwl_dbg_tlv_add(const struct iwl_ucode_tlv *tlv,
70 u32 len = le32_to_cpu(tlv->length);
77 memcpy(&node->tlv, tlv, sizeof(node->tlv));
78 memcpy(node->tlv.data, tlv->data, len);
84 static bool iwl_dbg_tlv_ver_support(const struct iwl_ucode_tlv *tlv)
86 const struct iwl_fw_ini_header *hdr = (const void *)&tlv->data[0];
87 u32 type = le32_to_cpu(tlv->type);
99 const struct iwl_ucode_tlv *tlv)
101 const struct iwl_fw_ini_debug_info_tlv *debug_info = (const void *)tlv->data;
103 if (le32_to_cpu(tlv->length) != sizeof(*debug_info))
115 return iwl_dbg_tlv_add(tlv, &trans->dbg.debug_info_tlv_list);
119 const struct iwl_ucode_tlv *tlv)
121 const struct iwl_fw_ini_allocation_tlv *alloc = (const void *)tlv->data;
125 if (le32_to_cpu(tlv->length) != sizeof(*alloc))
164 const struct iwl_ucode_tlv *tlv)
166 const struct iwl_fw_ini_hcmd_tlv *hcmd = (const void *)tlv->data;
169 if (le32_to_cpu(tlv->length) <= sizeof(*hcmd))
184 return iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].hcmd_list);
188 const struct iwl_ucode_tlv *tlv)
190 const struct iwl_fw_ini_region_tlv *reg = (const void *)tlv->data;
194 u32 tlv_len = sizeof(*tlv) + le32_to_cpu(tlv->length);
203 if (le32_to_cpu(tlv->length) < sizeof(*reg))
242 *active_reg = kmemdup(tlv, tlv_len, GFP_KERNEL);
252 const struct iwl_ucode_tlv *tlv)
254 const struct iwl_fw_ini_trigger_tlv *trig = (const void *)tlv->data;
261 if (le32_to_cpu(tlv->length) < sizeof(*trig))
277 dup = kmemdup(tlv, sizeof(*tlv) + le32_to_cpu(tlv->length),
283 tlv = dup;
286 ret = iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].trig_list);
293 const struct iwl_ucode_tlv *tlv)
295 const struct iwl_fw_ini_conf_set_tlv *conf_set = (const void *)tlv->data;
313 return iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].config_list);
317 const struct iwl_ucode_tlv *tlv) = {
326 void iwl_dbg_tlv_alloc(struct iwl_trans *trans, const struct iwl_ucode_tlv *tlv,
331 const struct iwl_fw_ini_header *hdr = (const void *)&tlv->data[0];
337 if (le32_to_cpu(tlv->length) < sizeof(*hdr))
340 type = le32_to_cpu(tlv->type);
357 if (!iwl_dbg_tlv_ver_support(tlv)) {
363 ret = dbg_tlv_alloc[tlv_idx](trans, tlv);
479 const struct iwl_ucode_tlv *tlv;
482 while (len >= sizeof(*tlv)) {
483 len -= sizeof(*tlv);
484 tlv = (const void *)data;
486 tlv_len = le32_to_cpu(tlv->length);
494 data += sizeof(*tlv) + ALIGN(tlv_len, 4);
496 iwl_dbg_tlv_alloc(trans, tlv, true);
839 struct iwl_fw_ini_hcmd_tlv *hcmd = (void *)node->tlv.data;
841 u16 hcmd_len = le32_to_cpu(node->tlv.length) - sizeof(*hcmd);
858 struct iwl_fw_ini_conf_set_tlv *config_list = (void *)node->tlv.data;
860 u32 len = (le32_to_cpu(node->tlv.length) - sizeof(*config_list)) / 8;
955 .trig = (void *)timer_node->tlv->data,
978 struct iwl_fw_ini_trigger_tlv *trig = (void *)node->tlv.data;
989 if (le32_to_cpu(node->tlv.length) <
1013 timer_node->tlv = &node->tlv;
1057 struct iwl_ucode_tlv *node_tlv = &node->tlv;
1099 node_tlv = &tmp->tlv;
1146 is_trig_data_contained(trig_tlv, &node->tlv)) {
1170 struct iwl_ucode_tlv *tlv = &node->tlv;
1172 iwl_dbg_tlv_add_active_trigger(fwrt, active_trig_list, tlv);
1215 .trig = (void *)node->tlv.data,
1217 u32 num_data = iwl_tlv_array_len(&node->tlv, dump_data.trig,