Lines Matching refs:tlv
54 struct iwl_ucode_tlv *tlv; member
67 static int iwl_dbg_tlv_add(const struct iwl_ucode_tlv *tlv, in iwl_dbg_tlv_add() argument
70 u32 len = le32_to_cpu(tlv->length); in iwl_dbg_tlv_add()
77 memcpy(&node->tlv, tlv, sizeof(node->tlv) + len); in iwl_dbg_tlv_add()
83 static bool iwl_dbg_tlv_ver_support(const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_ver_support() argument
85 const struct iwl_fw_ini_header *hdr = (const void *)&tlv->data[0]; in iwl_dbg_tlv_ver_support()
86 u32 type = le32_to_cpu(tlv->type); in iwl_dbg_tlv_ver_support()
98 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_debug_info() argument
100 const struct iwl_fw_ini_debug_info_tlv *debug_info = (const void *)tlv->data; in iwl_dbg_tlv_alloc_debug_info()
102 if (le32_to_cpu(tlv->length) != sizeof(*debug_info)) in iwl_dbg_tlv_alloc_debug_info()
108 return iwl_dbg_tlv_add(tlv, &trans->dbg.debug_info_tlv_list); in iwl_dbg_tlv_alloc_debug_info()
112 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_buf_alloc() argument
114 const struct iwl_fw_ini_allocation_tlv *alloc = (const void *)tlv->data; in iwl_dbg_tlv_alloc_buf_alloc()
118 if (le32_to_cpu(tlv->length) != sizeof(*alloc)) in iwl_dbg_tlv_alloc_buf_alloc()
151 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_hcmd() argument
153 const struct iwl_fw_ini_hcmd_tlv *hcmd = (const void *)tlv->data; in iwl_dbg_tlv_alloc_hcmd()
156 if (le32_to_cpu(tlv->length) <= sizeof(*hcmd)) in iwl_dbg_tlv_alloc_hcmd()
171 return iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].hcmd_list); in iwl_dbg_tlv_alloc_hcmd()
175 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_region() argument
177 const struct iwl_fw_ini_region_tlv *reg = (const void *)tlv->data; in iwl_dbg_tlv_alloc_region()
181 u32 tlv_len = sizeof(*tlv) + le32_to_cpu(tlv->length); in iwl_dbg_tlv_alloc_region()
190 if (le32_to_cpu(tlv->length) < sizeof(*reg)) in iwl_dbg_tlv_alloc_region()
221 *active_reg = kmemdup(tlv, tlv_len, GFP_KERNEL); in iwl_dbg_tlv_alloc_region()
231 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_trigger() argument
233 const struct iwl_fw_ini_trigger_tlv *trig = (const void *)tlv->data; in iwl_dbg_tlv_alloc_trigger()
239 if (le32_to_cpu(tlv->length) < sizeof(*trig)) in iwl_dbg_tlv_alloc_trigger()
251 dup = kmemdup(tlv, sizeof(*tlv) + le32_to_cpu(tlv->length), in iwl_dbg_tlv_alloc_trigger()
257 tlv = dup; in iwl_dbg_tlv_alloc_trigger()
260 ret = iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].trig_list); in iwl_dbg_tlv_alloc_trigger()
267 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_config_set() argument
269 struct iwl_fw_ini_conf_set_tlv *conf_set = (void *)tlv->data; in iwl_dbg_tlv_config_set()
287 return iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].config_list); in iwl_dbg_tlv_config_set()
291 const struct iwl_ucode_tlv *tlv) = {
300 void iwl_dbg_tlv_alloc(struct iwl_trans *trans, const struct iwl_ucode_tlv *tlv, in iwl_dbg_tlv_alloc() argument
303 const struct iwl_fw_ini_header *hdr = (const void *)&tlv->data[0]; in iwl_dbg_tlv_alloc()
304 u32 type = le32_to_cpu(tlv->type); in iwl_dbg_tlv_alloc()
324 if (!iwl_dbg_tlv_ver_support(tlv)) { in iwl_dbg_tlv_alloc()
330 ret = dbg_tlv_alloc[tlv_idx](trans, tlv); in iwl_dbg_tlv_alloc()
446 const struct iwl_ucode_tlv *tlv; in iwl_dbg_tlv_parse_bin() local
449 while (len >= sizeof(*tlv)) { in iwl_dbg_tlv_parse_bin()
450 len -= sizeof(*tlv); in iwl_dbg_tlv_parse_bin()
451 tlv = (void *)data; in iwl_dbg_tlv_parse_bin()
453 tlv_len = le32_to_cpu(tlv->length); in iwl_dbg_tlv_parse_bin()
461 data += sizeof(*tlv) + ALIGN(tlv_len, 4); in iwl_dbg_tlv_parse_bin()
463 iwl_dbg_tlv_alloc(trans, tlv, true); in iwl_dbg_tlv_parse_bin()
788 struct iwl_fw_ini_hcmd_tlv *hcmd = (void *)node->tlv.data; in iwl_dbg_tlv_send_hcmds()
790 u16 hcmd_len = le32_to_cpu(node->tlv.length) - sizeof(*hcmd); in iwl_dbg_tlv_send_hcmds()
807 struct iwl_fw_ini_conf_set_tlv *config_list = (void *)node->tlv.data; in iwl_dbg_tlv_apply_config()
809 u32 len = (le32_to_cpu(node->tlv.length) - sizeof(*config_list)) / 8; in iwl_dbg_tlv_apply_config()
897 .trig = (void *)timer_node->tlv->data, in iwl_dbg_tlv_periodic_trig_handler()
920 struct iwl_fw_ini_trigger_tlv *trig = (void *)node->tlv.data; in iwl_dbg_tlv_set_periodic_trigs()
931 if (le32_to_cpu(node->tlv.length) < in iwl_dbg_tlv_set_periodic_trigs()
955 timer_node->tlv = &node->tlv; in iwl_dbg_tlv_set_periodic_trigs()
999 struct iwl_ucode_tlv *node_tlv = &node->tlv; in iwl_dbg_tlv_override_trig_node()
1041 node_tlv = &tmp->tlv; in iwl_dbg_tlv_override_trig_node()
1088 is_trig_data_contained(trig_tlv, &node->tlv)) { in iwl_dbg_tlv_add_active_trigger()
1112 struct iwl_ucode_tlv *tlv = &node->tlv; in iwl_dbg_tlv_gen_active_trig_list() local
1114 iwl_dbg_tlv_add_active_trigger(fwrt, active_trig_list, tlv); in iwl_dbg_tlv_gen_active_trig_list()
1157 .trig = (void *)node->tlv.data, in iwl_dbg_tlv_tp_trigger()
1159 u32 num_data = iwl_tlv_array_len(&node->tlv, dump_data.trig, in iwl_dbg_tlv_tp_trigger()