Lines Matching refs:tlv
54 struct iwl_ucode_tlv *tlv; member
68 static struct iwl_ucode_tlv *iwl_dbg_tlv_add(const struct iwl_ucode_tlv *tlv, in iwl_dbg_tlv_add() argument
71 u32 len = le32_to_cpu(tlv->length); in iwl_dbg_tlv_add()
74 node = kzalloc(struct_size(node, tlv.data, len), GFP_KERNEL); in iwl_dbg_tlv_add()
78 memcpy(&node->tlv, tlv, sizeof(node->tlv)); in iwl_dbg_tlv_add()
79 memcpy(node->tlv.data, tlv->data, len); in iwl_dbg_tlv_add()
82 return &node->tlv; in iwl_dbg_tlv_add()
85 static bool iwl_dbg_tlv_ver_support(const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_ver_support() argument
87 const struct iwl_fw_ini_header *hdr = (const void *)&tlv->data[0]; in iwl_dbg_tlv_ver_support()
88 u32 type = le32_to_cpu(tlv->type); in iwl_dbg_tlv_ver_support()
100 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_debug_info() argument
102 const struct iwl_fw_ini_debug_info_tlv *debug_info = (const void *)tlv->data; in iwl_dbg_tlv_alloc_debug_info()
104 if (le32_to_cpu(tlv->length) != sizeof(*debug_info)) in iwl_dbg_tlv_alloc_debug_info()
116 if (!iwl_dbg_tlv_add(tlv, &trans->dbg.debug_info_tlv_list)) in iwl_dbg_tlv_alloc_debug_info()
122 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_buf_alloc() argument
124 const struct iwl_fw_ini_allocation_tlv *alloc = (const void *)tlv->data; in iwl_dbg_tlv_alloc_buf_alloc()
128 if (le32_to_cpu(tlv->length) != sizeof(*alloc)) in iwl_dbg_tlv_alloc_buf_alloc()
167 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_hcmd() argument
169 const struct iwl_fw_ini_hcmd_tlv *hcmd = (const void *)tlv->data; in iwl_dbg_tlv_alloc_hcmd()
172 if (le32_to_cpu(tlv->length) <= sizeof(*hcmd)) in iwl_dbg_tlv_alloc_hcmd()
187 if (!iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].hcmd_list)) in iwl_dbg_tlv_alloc_hcmd()
193 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_region() argument
195 const struct iwl_fw_ini_region_tlv *reg = (const void *)tlv->data; in iwl_dbg_tlv_alloc_region()
199 u32 tlv_len = sizeof(*tlv) + le32_to_cpu(tlv->length); in iwl_dbg_tlv_alloc_region()
208 if (le32_to_cpu(tlv->length) < sizeof(*reg)) in iwl_dbg_tlv_alloc_region()
241 *active_reg = kmemdup(tlv, tlv_len, GFP_KERNEL); in iwl_dbg_tlv_alloc_region()
251 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_alloc_trigger() argument
253 const struct iwl_fw_ini_trigger_tlv *trig = (const void *)tlv->data; in iwl_dbg_tlv_alloc_trigger()
258 if (le32_to_cpu(tlv->length) < sizeof(*trig)) in iwl_dbg_tlv_alloc_trigger()
274 new_tlv = iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].trig_list); in iwl_dbg_tlv_alloc_trigger()
288 const struct iwl_ucode_tlv *tlv) in iwl_dbg_tlv_config_set() argument
290 const struct iwl_fw_ini_conf_set_tlv *conf_set = (const void *)tlv->data; in iwl_dbg_tlv_config_set()
308 if (!iwl_dbg_tlv_add(tlv, &trans->dbg.time_point[tp].config_list)) in iwl_dbg_tlv_config_set()
314 const struct iwl_ucode_tlv *tlv) = {
323 void iwl_dbg_tlv_alloc(struct iwl_trans *trans, const struct iwl_ucode_tlv *tlv, in iwl_dbg_tlv_alloc() argument
328 const struct iwl_fw_ini_header *hdr = (const void *)&tlv->data[0]; in iwl_dbg_tlv_alloc()
334 if (le32_to_cpu(tlv->length) < sizeof(*hdr)) in iwl_dbg_tlv_alloc()
337 type = le32_to_cpu(tlv->type); in iwl_dbg_tlv_alloc()
354 if (!iwl_dbg_tlv_ver_support(tlv)) { in iwl_dbg_tlv_alloc()
360 ret = dbg_tlv_alloc[tlv_idx](trans, tlv); in iwl_dbg_tlv_alloc()
476 const struct iwl_ucode_tlv *tlv; in iwl_dbg_tlv_parse_bin() local
479 while (len >= sizeof(*tlv)) { in iwl_dbg_tlv_parse_bin()
480 len -= sizeof(*tlv); in iwl_dbg_tlv_parse_bin()
481 tlv = (const void *)data; in iwl_dbg_tlv_parse_bin()
483 tlv_len = le32_to_cpu(tlv->length); in iwl_dbg_tlv_parse_bin()
491 data += sizeof(*tlv) + ALIGN(tlv_len, 4); in iwl_dbg_tlv_parse_bin()
493 iwl_dbg_tlv_alloc(trans, tlv, true); in iwl_dbg_tlv_parse_bin()
838 struct iwl_fw_ini_hcmd_tlv *hcmd = (void *)node->tlv.data; in iwl_dbg_tlv_send_hcmds()
840 u16 hcmd_len = le32_to_cpu(node->tlv.length) - sizeof(*hcmd); in iwl_dbg_tlv_send_hcmds()
857 struct iwl_fw_ini_conf_set_tlv *config_list = (void *)node->tlv.data; in iwl_dbg_tlv_apply_config()
859 u32 len = (le32_to_cpu(node->tlv.length) - sizeof(*config_list)) / 8; in iwl_dbg_tlv_apply_config()
954 .trig = (void *)timer_node->tlv->data, in iwl_dbg_tlv_periodic_trig_handler()
977 struct iwl_fw_ini_trigger_tlv *trig = (void *)node->tlv.data; in iwl_dbg_tlv_set_periodic_trigs()
988 if (le32_to_cpu(node->tlv.length) < in iwl_dbg_tlv_set_periodic_trigs()
1012 timer_node->tlv = &node->tlv; in iwl_dbg_tlv_set_periodic_trigs()
1056 struct iwl_ucode_tlv *node_tlv = &node->tlv; in iwl_dbg_tlv_override_trig_node()
1098 node_tlv = &tmp->tlv; in iwl_dbg_tlv_override_trig_node()
1145 is_trig_data_contained(trig_tlv, &node->tlv)) { in iwl_dbg_tlv_add_active_trigger()
1171 struct iwl_ucode_tlv *tlv = &node->tlv; in iwl_dbg_tlv_gen_active_trig_list() local
1173 iwl_dbg_tlv_add_active_trigger(fwrt, active_trig_list, tlv); in iwl_dbg_tlv_gen_active_trig_list()
1216 .trig = (void *)node->tlv.data, in iwl_dbg_tlv_tp_trigger()
1218 u32 num_data = iwl_tlv_array_len(&node->tlv, dump_data.trig, in iwl_dbg_tlv_tp_trigger()